laravel - Paypal 订阅修订 - 如何使用订阅 API 捕获 onApprove 或 onCancel?
问题描述
我正在使用 Laravel 7 并有一个订阅页面,列出了用户订阅的所有服务。在同一页面上,我有一个按钮,用户可以在其中更新每个订阅的数量。
按照以下说明,我能够将用户重定向到 HATEOS 链接,用户可以在其中确认并同意新的数量和新的每月经常性费用。
如上述文件所示,仅当买方在 HATEOS 批准链接中确认并同意/批准新的数量和新的定期免费时,Paypal 方的订阅(买方和卖方的 paypal 帐户)才会更新。
我面临的挑战是:我如何在提供的 HATEOS 链接中捕获用户确认,或者如果用户没有通过简单地关闭带有 HATEOS 链接的浏览器来批准新的数量和经常性费用 - 因为这显然会决定是否更新订阅表数据库(即,如果用户批准 HATEOS 链接中的更改,则更新数据库,或者如果用户不批准 HATEOS 链接,则数据库中没有更改)?
注意:在我的订阅页面中,我没有使用 Paypal 的智能按钮。我正在使用一个调用控制器的普通按钮和一个执行订阅 API 代码(即 curl bash)的函数,该代码返回 HATEOS 链接,包括用户批准更改的链接。
希望有人能帮忙!谢谢!
解决方案
推荐的解决方案是使用智能按钮,它具有提供现代“上下文”体验的好处,无需将用户重定向到您的站点(它保持在后台加载)即可批准。这是更好的用户体验。
但是,如果您坚持使用旧式重定向集成,它的工作方式是它们应该返回到return_url
您在 revise 调用中指定的位置,并带有与操作相关的查询字符串参数,这样您就可以进行 API 调用以获取更新更新数据库之前的当前状态。
推荐阅读
- database - 带有指标摘要的传感器时间序列数据库?
- ios - Fastlane 和 xcode 部署到 testFlight 错误,无效的图像路径 - 在键 'CFBundleIcons':AppIcon40x40 下引用的路径中找不到图像
- java - 以 arrayList 格式从树中删除子树
- javascript - 如何通过 Vue.extend() 在 TypeScript 中共享 Vue 组件 Prop 定义?
- python - 测试数据框中列之间的关系
- c# - 在 HttpWebRequest 中设置 Proxy 请求提交后无法执行此操作
- javascript - 更改 page.evaluate Puppeteer (Javascript) 中的变量值
- python - Flask 无法在 PHP 中运行
- django - Django-Filter:外键字段上的多个 select2 选择
- javascript - 在 javascript 函数中找出一组 json 数据?