贝宝订阅修订版-如何使用Subcription API捕获onApprove或onCancel?

时间:2020-08-28 09:50:25

标签: laravel paypal subscription

我正在使用Laravel 7,并且有一个订阅页面,其中列出了用户订阅的所有服务。在同一页面上,我有一个按钮,用户可以在其中更新每个订阅的数量。

按照以下说明,我能够将用户重定向到HATEOS链接,在该链接中,用户可以确认并同意新的数量和新的每月经常性费用。

https://developer.paypal.com/docs/subscriptions/full-integration/subscription-management/#revise-subscription

如上述文档所述,只有在买方在HATEOS批准链接中确认并同意/批准了新数量和新的经常性免费后,才会更新Paypal一方的订购(买方和卖方的Paypal帐户)。

我面临的挑战是:如何在提供的HATEOS链接中捕获用户确认,或者如果用户仅通过使用HATEOS链接关闭浏览器就不批准新的数量和经常性费用-这显然将决定是否更新订阅表数据库(即,如果用户批准了HATEOS链接,则更新数据库;如果用户不批准HATEOS链接,则数据库未更改)?

注意:在我的订阅页面中,我没有使用Paypal的智能按钮。我正在使用一个普通按钮来调用控制器,该按钮会执行Subscription API代码(即curl bash),该函数返回HATEOS链接,其中包括供用户批准更改的链接。

希望有人可以提供帮助!谢谢!

1 个答案:

答案 0 :(得分:0)

推荐的解决方案是使用“智能按钮”,它具有提供现代“上下文”体验的优势,批准而无需将用户重定向到您的网站以外(它保持加载在背景)。这是更好的用户体验。

但是,如果您坚持使用老式的重定向集成,则它的工作方式是它们应返回到您在修订调用中指定的return_url,并带有与该操作有关的查询字符串参数,以便您可以执行此操作在更新数据库之前先进行API调用以获取当前状态的更新。