Я написал простую систему подписки на 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 следует использовать для отмены подписки. Это отправляется, когда срок подписки пользователя истек.