2012-10-12 125 views
6

Si un suscriptor de pago mensual tiene una tarjeta de crédito que expira, y PayPal falló tres veces al intentar obtener los fondos, entonces son "suspendidos" por PayPal. Estoy tratando de actualizar mi script PHP para que el cambio correcto ocurra en la base de datos en esta situación. Estudié la documentación de PayPal y no puedo encontrar una respuesta clara sobre qué variable de IPN debería utilizar una vez que se ha suspendido la cuenta de un usuario.Corregir la variable de IPN de Paypal para suscripciones suspendidas

¿Alguien sabe cuál de las siguientes es la variable y el valor correctos para usar?

if ($ payment_status == "suspendido" || $ txn_type == "suspendido" || $ txn_type == "subscr_failed" || $ profile_status == "suspendido") {

Gracias!

Respuesta

6

He estado recibiendo $ txn_type == "recurring_payment_suspended_due_to_max_failed_payment", también tenga en cuenta que en lugar de $ subscr_id tendrá un $ recurring_payment_id en su lugar. Al menos eso es lo que sucede cuando simulo pagos fallidos en Paypal Sandbox.

+3

Sí Documentación de Paypal es un poco chistoso. He estado hablando por teléfono con uno de sus empleados de soporte, quien me dijo que después de 2 fallas de pago la suscripción se cancelaría. Por supuesto que no fue así. Después de 3 fallas, la suscripción se suspendió y, al mirar mis registros, encontré el estado 'recurring_payment_suspended_due_to_max_failed_payment' como única indicación de esto. – glidester

+6

El tipo que diseñó la IPN 'recurring_payment_suspended_due_to_max_failed_payment' debe ser activado. Es totalmente diferente a todas las otras IPN, comenzando con este ridículo txn_type, luego falta el parámetro de negocio y el nombre renombrado_payment_id. Me refiero a si este desarrollador estaba pensando? – mrbrdo