Php 检测Paypal订阅取消
我编写了一个简单的paypal订阅系统,用户可以输入他们的信息,单击按钮,然后开始订阅。我想知道如何才能知道用户何时取消订阅?我看到$txn_类型subscr_cancel,但我不知道如何使用它,因为paypal不会再次调用我的处理程序Php 检测Paypal订阅取消,php,paypal,handler,paypal-ipn,Php,Paypal,Handler,Paypal Ipn,我编写了一个简单的paypal订阅系统,用户可以输入他们的信息,单击按钮,然后开始订阅。我想知道如何才能知道用户何时取消订阅?我看到$txn_类型subscr_cancel,但我不知道如何使用它,因为paypal不会再次调用我的处理程序 谢谢 您是否使用IPN如果是,那么当订阅被取消时,paypal返回$\u POST['txn\u type']=subscr\u cancel以及subscr\u date=订阅日期、subscr\u id=订阅id等,现在您可以处理对返回的订阅id的取消请求。
谢谢 您是否使用IPN如果是,那么当订阅被取消时,paypal返回
$\u POST['txn\u type']=subscr\u cancel
以及subscr\u date=订阅日期、subscr\u id=订阅id等,现在您可以处理对返回的订阅id的取消请求。
同样,当订阅结束时,您将获得$\u POST['txn\u type']=subscr\u eot
。
一旦您在paypal设置中设置了IPN url,它将始终调用您的IPN处理程序。
使用switch case处理不同的请求,如
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取消订阅。这是在用户的订阅期到期时发送的。这正是我今晚需要的!我不知道为什么他们在文件里没有说清楚。谢谢!真的很简单,就是偶然发现的。这非常有帮助(我已经为此奋斗了一段时间)。谢谢如果您的回答不需要IPN,我将不胜感激。即使我使用IPN,我也希望通过使用订阅id调用paypal API end point,在订阅期结束时再次检查用户的订阅状态,并查看状态。可能吗?