如何解释贝宝账单协议的创建?

Posted

技术标签:

【中文标题】如何解释贝宝账单协议的创建?【英文标题】:How to interprete paypal billing agreement creation? 【发布时间】:2019-05-27 23:25:05 【问题描述】:

我正在构建一个贝宝订阅系统,但我在理解某些要点时遇到了一些困难。使用沙箱时,我无法模拟付款拒绝流程,因此在付款时,贝宝将我重定向到我的“批准 url 回调”并创建计费协议。

所以我想知道,在实际情况下,即使付款尚未发生,paypal 是否会将我重定向到批准 URL 并创建此计费协议?或者当且仅当付款被接受时才能创建这个? (因此,如果贝宝拒绝付款,则永远不会创建帐单协议)

在我的情况下,我的客户将需要访问我网站的一些付费功能,所以我是否应该等待“ipn webhook 通知 (PAYMENT.SALE.COMPLETED)”,这可能需要几分钟才能发送到我的端点,或者我可以在创建计费协议后立即授予访问权限吗?

做什么最安全?

谢谢。

【问题讨论】:

【参考方案1】:

如果用户取消结帐,Paypal 将重定向到您的取消 URL。 但是我也不清楚失败的付款案例。我相信即使付款失败也会创建协议,因为它需要存在才能完成付款尝试,但我不在 Paypal 工作:)。

无论如何,我的方法是在成功重定向时激活订阅,[编辑:执行响应过去返回 agreement_details.next_billing_date,因此您不能使用它],初始订阅到期时间很短(4 小时) .当我们的 webhook 收到 PAYMENT.SALE.COMPLETED 消息时,我们会获取协议计费协议详细信息,并将订阅到期更新为新的 agreement_details.next_billing_date。但是如果 webhook 收到 PAYMENT.SALE.DENIED,我们就让订阅过期。

HTH。

【讨论】:

以上是关于如何解释贝宝账单协议的创建?的主要内容,如果未能解决你的问题,请参考以下文章

贝宝订阅更新下一个账单日期

贝宝账单协议 ID 不来

为通过 API 创建的 PayPal 账单协议设置自定义值

如何通过 API 调用取消 PayPal 账单协议

如何在贝宝的计费周期开始时收取金额

我可以保存创建的贝宝计划并将其用于计费协议吗