如果用户从贝宝帐户界面暂停订阅,如何在客户端站点获取订阅的 IPN 通知

Posted

技术标签:

【中文标题】如果用户从贝宝帐户界面暂停订阅,如何在客户端站点获取订阅的 IPN 通知【英文标题】:How to get IPN notification for subscription at client site if user suspend it from paypal account interface 【发布时间】:2021-03-22 20:50:11 【问题描述】:

我想根据 PayPal 用户帐户的更改更新数据库中的订阅状态。我没有收到贝宝方面的任何通知。我应该为此做些什么。我们的网站是一个平台,我们的客户为他们的客户提供订阅服务。因此,当客户在 PayPal 端更改订阅状态时,我们需要更新相同的状态。我们使用的是 IPN 而不是 API。请提出建议。

【问题讨论】:

【参考方案1】:

这取决于您拥有的订阅集成类型。

如果它是使用为 IPN 指定的 notify_url 创建的经典订阅,那么您应该会收到一条 txn_type subscr_cancel 的 IPN 消息,如下所述:https://developer.paypal.com/docs/api-basics/notifications/ipn/IPNandPDTVariables/

如果您当前有 PayPal Subscriptions 集成,则可以订阅 webhook 事件 BILLING.SUBSCRIPTION.CANCELLED,如下所述:https://developer.paypal.com/docs/api-basics/notifications/webhooks/event-names/#subscriptions

【讨论】:

感谢普雷斯顿的回复。是的,它是使用为 IPN 指定的 notify_url 创建的经典订阅。我的疑问是是否有与订阅暂停相关的任何类型的通知。我可以看到有一个 recurring_payment_suspended 选项用于显示 PayPal 是否尝试收取定期付款,但相关的定期付款资料已被暂停。我认为当 PayPal 尝试对订阅收费时会发生这种情况。为了管理用户的个人资料,我希望在任何用户尝试保留其订阅时从 PayPal 获得即时通知。 嗯,暂停--不,似乎没有IPN。 recurring_payment_suspended 曾经存在(您可能会在旧答案中看到它)但不再使用。 是否有任何解决方法可以了解是否有任何订阅被暂停/暂停 您是否在沙盒中测试过场景?看看你是否收到了一些 IPN,比如 subscr_modify。有可能 recurring_payment_suspended 甚至仍在使用,尽管我没有看到它记录在案

以上是关于如果用户从贝宝帐户界面暂停订阅,如何在客户端站点获取订阅的 IPN 通知的主要内容,如果未能解决你的问题,请参考以下文章

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

从贝宝发送付款时需要主要用户批准

从贝宝内取消订阅会收到啥样的 ipn 响应?

如何从贝宝捐赠中获取交易信息?

无法从贝宝获取沙盒测试帐户

停止从贝宝支付贝宝定期付款