2010-01-19 2 views
7

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

Спасибо!

ответ

22

Вы используете 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; 
} 
+1

Только то, что мне нужно сегодня вечером! Не знаю, почему они не делают этого достаточно ясно в документах. – Volomike

+0

Спасибо за это! На самом деле просто. – Jimbo

+0

Только что наткнулся на это. Это SUPER полезно (я боролся с этим некоторое время). Благодаря! – MillerMedia

6

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

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

+0

Спасибо ... это не понятно в документации. – Romias

 Смежные вопросы

  • Нет связанных вопросов^_^