为暂停的订阅正确的贝宝 IPN 变量

Posted

技术标签:

【中文标题】为暂停的订阅正确的贝宝 IPN 变量【英文标题】:Correct paypal IPN variable for suspended subscriptions 【发布时间】:2012-10-03 17:07:58 【问题描述】:

如果按月付费的订阅者的信用卡过期,而贝宝在尝试获取资金时失败了 3 次,那么他们将被贝宝“暂停”。我正在尝试更新我的 php 脚本,以便在这种情况下在数据库中发生正确的更改。我研究了 paypal 文档,但无法找到关于在用户帐户被暂停后我应该使用什么 IPN 变量的明确答案。

有谁知道以下哪个是正确的变量和值?

if ($payment_status == "suspended" || $txn_type == "suspended" || $txn_type == "subscr_failed" || $profile_status == "suspended")

谢谢!

【问题讨论】:

【参考方案1】:

我得到了 $txn_type == "recurring_payment_suspended_due_to_max_failed_pa​​yment",另请注意,您将使用 $recurring_payment_id 而不是 $subscr_id。至少当我在 Paypal 沙盒中模拟失败的付款时会发生这种情况。

【讨论】:

是的,Paypal 文档有点儿笑话。我一直在给他们的一位支持人员打电话,他告诉我,在两次付款失败后,订阅将被取消。当然不是。在 3 次失败后,订阅被暂停并查看我的日志,我发现“recurring_payment_suspended_due_to_max_failed_pa​​yment”状态是唯一的指示。 应该解雇设计“recurring_payment_suspended_due_to_max_failed_pa​​yment”IPN 的人。它与所有其他 IPN 完全不同,从这个可笑的 txn_type 开始,然后它缺少业务参数,以及重命名的 recurring_payment_id。我的意思是这个开发者在想什么? 已经调用事务类型recurring_payment_suspended_due_to_max_failed_payment 是一个很好的指标,表明这里出了问题?

以上是关于为暂停的订阅正确的贝宝 IPN 变量的主要内容,如果未能解决你的问题,请参考以下文章

带有可变金额订阅的贝宝标准订阅

为订阅进行新注册时,贝宝订阅第一个IPN txntype

具有漂亮界面的贝宝订阅

检测 Paypal 订阅取消

贝宝 IPN 订阅

没有收货地址的贝宝订阅