Php 检测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的取消请求。

我编写了一个简单的paypal订阅系统,用户可以输入他们的信息,单击按钮,然后开始订阅。我想知道如何才能知道用户何时取消订阅?我看到$txn_类型subscr_cancel,但我不知道如何使用它,因为paypal不会再次调用我的处理程序


谢谢

您是否使用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,在订阅期结束时再次检查用户的订阅状态,并查看状态。可能吗?