Detecting Paypal Subscription Cancellation
我编写了一个简单的贝宝订阅系统,用户可以在其中输入他们的信息,单击按钮,然后开始订阅。我想知道如何才能知道用户何时取消订阅?我见过 $txn_type subscr_cancel 但我不知道如何使用它,因为 paypal 不会再次调用我的处理程序。
谢谢!
如果是,您是否使用 IPN,那么当取消订阅时,paypal 返回
同样,订阅结束时您会得到
一旦您在贝宝设置中设置了 IPN url,它将始终调用您的 ipn 处理程序。
使用 switch case 来处理不同的请求,像这样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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; } |
当用户实际取消订阅时,会发送类型为"subscr_cancel"的 IPN。这不应用于取消订阅,因为这可能在订阅期间的任何时间发生。
应使用"subscr_eot"类型的 IPN 取消订阅。这是在用户的订阅期到期时发送的。