解析 PayPal 订阅用完了

Posted

技术标签:

【中文标题】解析 PayPal 订阅用完了【英文标题】:Parsing PayPal Subscription Ran Out 【发布时间】:2012-12-01 01:46:12 【问题描述】:

在 PayPal 订阅中,我似乎只需将其视为常规 IPN,除了查看 txn_type 字段。当我看到以下状态代码之一时,我会向管理员发送一封电子邮件,以考虑在我正在使用 php 构建的软件的管理面板中手动使该成员过期。

状态似乎是以下状态之一,表明客户已取消、已到期或根本不再付款。谁能确认这些是要检查的正确状态,还是我包括了一些不正确的状态?

订阅取消 subscr_eot 订阅失败 recurring_payment_failed recurring_payment_suspended_due_to_max_failed_pa​​yment recurring_payment_outstanding_payment_failed recurring_payment_profile_cancel recurring_payment_expired

【问题讨论】:

【参考方案1】:

我发现这些是关于我的代码中“会员资格结束”类型反应的注意事项:

订阅取消 subscr_eot recurring_payment_profile_canceled recurring_payment_expired

所有其他人都只是关于“会员资格结束”状态的“噪音”。例如,对任何付款“失败”类型的 IPN 做出反应是错误的,因为最终 PayPal 可能会在重新尝试后与客户纠正该问题,因此您确实应该寻找取消和到期事件。

【讨论】:

【参考方案2】:

如果您已经通过订阅按钮机制,并且它不是预先批准的定期付款之一,那么我认为您只会看到带有“subscr”前缀的那些。

我个人不会在我的应用程序中回复“subscr_cancel”。用户取消的那一刻发送的 IPN。我不想在那个时候禁用他们的访问,所以我等待“subscr_eot”然后再做。

因此,如果他们注册了一年,并在第二天取消,他们仍然可以访问年底,也就是 PayPal 将发送“subscr_eot”的时间。他们总是会同时发送。

【讨论】:

【参考方案3】:

我知道我在这篇文章中有点晚了,但这里有一个快速解决方案 (php) 来解决你的问题:

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;
 

【讨论】:

以上是关于解析 PayPal 订阅用完了的主要内容,如果未能解决你的问题,请参考以下文章

解析 PayPal 订阅用完了

解析 PayPal 订阅用完了

哪些 PayPal PHP-API 函数可用作订阅按钮的替代品?

paypal 订阅:我可以支付不同的金额吗?

如何在 PayPal 订阅 API 中获取用户的订阅状态

Paypal订阅不同数量的项目