如何解释贝宝账单协议的创建?
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。
【讨论】:
以上是关于如何解释贝宝账单协议的创建?的主要内容,如果未能解决你的问题,请参考以下文章