首页 > 解决方案 > Paypal 订阅修订 - 如何使用订阅 API 捕获 onApprove 或 onCancel?

问题描述

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

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

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

如上述文件所示,仅当买方在 HATEOS 批准链接中确认并同意/批准新的数量和新的定期免费时,Paypal 方的订阅(买方和卖方的 paypal 帐户)才会更新。

我面临的挑战是:我如何在提供的 HATEOS 链接中捕获用户确认,或者如果用户没有通过简单地关闭带有 HATEOS 链接的浏览器来批准新的数量和经常性费用 - 因为这显然会决定是否更新订阅表数据库(即,如果用户批准 HATEOS 链接中的更改,则更新数据库,或者如果用户不批准 HATEOS 链接,则数据库中没有更改)?

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

希望有人能帮忙!谢谢!

标签: laravelpaypalsubscription

解决方案


推荐的解决方案是使用智能按钮,它具有提供现代“上下文”体验的好处,无需将用户重定向到您的站点(它保持在后台加载)即可批准。这是更好的用户体验。

但是,如果您坚持使用旧式重定向集成,它的工作方式是它们应该返回到return_url您在 revise 调用中指定的位置,并带有与操作相关的查询字符串参数,这样您就可以进行 API 调用以获取更新更新数据库之前的当前状态。


推荐阅读