暂停订阅的正确PayPal IPN变量

7

如果一个每月付费的订阅用户的信用卡过期了,并且PayPal在三次尝试中未能获得资金,那么他们将被PayPal“暂停”。 我正在尝试更新我的PHP脚本,以便在这种情况下数据库中发生正确的更改。 我已经研究了PayPal的文档,但找不到一个清晰的答案来确定用户账户被暂停后应该使用哪个IPN变量。

有人知道下列哪个是正确的变量和值吗?

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

谢谢!

1个回答

6

我一直收到 $txn_type == "recurring_payment_suspended_due_to_max_failed_payment" 的通知,注意,你将使用 $recurring_payment_id 而不是 $subscr_id。至少在我模拟Paypal沙盒中失败的付款时是这样的。


4
是的,Paypal的文档有点荒谬。我曾经跟他们的客服人员通话,他告诉我,在两次支付失败后,订阅将被取消。当然,这并没有发生。在三次失败后,订阅被暂停了,通过查看我的日志,我发现" recurring_payment_suspended_due_to_max_failed_payment" 状态是唯一的指示。 - glidester
7
设计“因最大失败付款而暂停循环付款”的IPN的那个人应该被解雇。它与所有其他IPN完全不同,从这个荒谬的txn_type开始,然后缺少business参数和重命名的recurring_payment_id。我是指这个开发者在想什么? - mrbrdo
已经调用交易类型“recurring_payment_suspended_due_to_max_failed_payment”表明这里出现了问题。 - Avatar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接