test notify_url ipnpb ipn example after paypal paypal-ipn paypal-subscriptions

notify_url - Suscripciones con Paypal IPN



paypal simulator payment (4)

El hilo publicado por Chris se ha actualizado recientemente.

En algún momento de 2010, PayPal dejó de usar subscr_eot cuando un usuario canceló su cuenta. Después de una serie de quejas, restablecieron esto, pero tardaron 6 meses en hacerlo. Todo esto significa que una vez más puede manejar sus notificaciones de suscripción según lo descrito por Peter en la respuesta aceptada.

De un representante de PayPal:

subscr_cancel significa que el perfil se cancela y no habrá pagos futuros. Sin embargo, si el comprador ya ha pagado el ciclo de facturación actual, ya que se cobran por adelantado, puede utilizar el subscr_eot para finalizar el perfil.

Sin embargo, aún no está seguro de lo que sucede en el caso de múltiples intentos fallidos de pago. La documentación de PayPal en este momento es terrible.

Estoy agregando suscripciones a un sitio usando Paypal IPN, que funciona muy bien, puedo crear una nueva suscripción y verificarla con éxito. La suscripción tiene una prueba gratuita de dos semanas. La guía fue desafortunadamente un poco vaga en los estados de suscripción.

Por el momento, la cuenta de usuario obtiene el estado de suscripción una vez que subscr_signup o subscr_payment se reciben y se eliminan cuando se recibe subscr_cancel o subscr_failed. Creo que esto es correcto, pero es mejor asegurarse.

¿Qué es subscr_eot? la guía de IPN lo describe como "fin de término de la suscripción". ¿Esto se activa después de que finaliza el período de prueba?


Además, un detalle interesante es cómo subscr_eot funciona con subscr_failed .

Parece que subscr_eot viene después de que FINAL subscr_failed . Entonces, si en su cuenta lo configura para que vuelva a intentar pagos fallados automáticamente tres veces, entonces debería seguir así:

primer pago fallido => subscr_failed segundo pago fallido => subscr_failed tercer pago fallido => subscr_failed y subscr_eot

así que básicamente en tu código puedes configurar subscr_failed para activar un correo electrónico como

hola usuario, tómese un momento para verificar su información de pago, es posible que deba actualizar la fecha de vencimiento de la tarjeta de crédito, etc. Aún tiene acceso, lo intentaremos de nuevo en unos días.

Y configure subscr_eot para desactivar su suscripción y activar un correo electrónico como

Lo sentimos, todavía no hemos recibido el pago y hemos eliminado su perfil. Todavía puede reactivarlo iniciando sesión y actualizando su información de pago

Básicamente, esta es la forma "agradable" de hacerlo para que los clientes tengan un período de gracia, y su cuenta no se cierre inesperadamente solo por una tarjeta de crédito caducada o algo así.


subscr_eot se envía cuando el último intervalo pagado de un usuario ha expirado. subscr_cancel se envía tan pronto como el uso cancela la suscripción, por ejemplo:

El usuario se registra el día 1 para una suscripción que se factura una vez al mes. subscr_signup se envía inmediatamente, subscr_payment se envía tan pronto como se realiza el pago (generalmente también de inmediato).

El día 13, el usuario cancela. subscr_cancel se envía inmediatamente, aunque el usuario ha pagado técnicamente hasta el día 30. La cancelación en este momento depende de usted.

El día 30, se envía subscr_eot , el usuario ha cancelado, y este es el día en que pagó su último pago hasta ese momento.

No hay muchos cambios con las suscripciones de prueba: si un usuario cancela antes de que subscr_cancel una suscripción de prueba, subscr_cancel se envía inmediatamente y subscr_eot se envía al final de la subscr_cancel de prueba.


Depende de la cuenta, si es nueva o no, si subscr_eot se envía, lo cual es algo que me supera.

Aún no he encontrado la forma adecuada de gestionar las suscripciones. El cálculo de las fechas en el servidor podría fallar muy rápido si hay un retraso en el pago.