检测Paypal订阅取消

9 php paypal handler paypal-ipn

我写了一个简单的paypal订阅系统,用户可以输入他们的信息,点击按钮,然后开始订阅.我想知道如何找出用户何时取消订阅?我见过$ txn_type subscr_cancel,但我不知道如何使用它,因为paypal不会再次调用我的处理程序.

谢谢!

Pra*_*eka 24

如果是,那么您是否正在使用IPN,当取消订阅时,paypal返回$_POST['txn_type'] = subscr_cancel以及subscr_date =订阅日期,subscr_id =订阅ID等,现在您可以处理已返回订阅ID的取消请求.同样,$_POST['txn_type'] = subscr_eot当订阅结束时你会得到.一旦你在paypal设置中设置了IPN网址,它将始终调用你的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;
 }
Run Code Online (Sandbox Code Playgroud)


Phi*_*ach 7

当用户实际取消订阅时,将发送类型为"subscr_cancel"的IPN.这不应该用于取消订阅,因为这可能在订阅期间的任何时间发生.

具有'subscr_eot'类型的IPN应该用于取消订阅.这是在用户的订阅期限到期时发送的.