Обнаружение отмены подписки Paypal

Я написал простую систему подписки на PayPal, где пользователь может ввести свою информацию, нажать кнопку и начать подписку. Мне интересно, как я могу узнать, когда пользователь отменяет подписку? Я видел $ txn_type subscr_cancel, но я понятия не имею, как это использовать, поскольку paypal больше не вызывает мой обработчик.

Благодаря!

Используете ли вы IPN, если да, тогда, когда подписка отменена, paypal возвращает $_POST['txn_type'] = subscr_cancel вместе с subscr_date = дата подписки, subscr_id = идентификатор подписки и т. Д. Теперь вы можете обработать запрос отмены для возвращаемого идентификатора подписки. Аналогично вы получаете $_POST['txn_type'] = subscr_eot когда подписка заканчивается. Как только вы установили URL-адрес IPN в настройках PayPal, он всегда будет вызывать ваш обработчик ipn. используйте случай переключателя для обработки различных запросов, например,

 switch ($_POST['txn_type']) { case 'cart': //for products without subscription break; case 'subscr_payment': //subscription payment recieved break; case 'subscr_signup': //subscription bought payment pending break; case 'subscr_eot': //subscription end of term break; case 'subscr_cancel': //subscription canceled break; } 

IPN с типом «subscr_cancel» отправляется, когда пользователь фактически отменяет подписку. Это не должно использоваться для отмены подписки, поскольку это может произойти в любое время в течение периода подписки.

IPN с типом subscr_eot следует использовать для отмены подписки. Это отправляется, когда срок подписки пользователя истек.