【问题标题】:Paypal Subscription Revise - how to capture onApprove or onCancel using the Subcription API?Paypal 订阅修订 - 如何使用订阅 API 捕获 onApprove 或 onCancel?
【发布时间】:2020-12-17 05:58:36
【问题描述】:

我正在使用 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 链接,包括用户批准更改的链接。

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

【问题讨论】:

    标签: laravel paypal subscription


    【解决方案1】:

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

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

    【讨论】:

    • 感谢我第一次在我的网站上订阅服务时使用了智能按钮。但这仅适用于订阅者想要更改订阅数量的情况。智能按钮似乎不符合目的,因为它会自动启动一个新订阅窗口。知道在哪里定义订阅 API 修订调用的返回 URL?
    • 在 application_context -> return_url
    • @PrestonPHX 寻找智能按钮的参考代码,我找到了这个。你能确认这是正确的吗? github.com/paypal/paypal-checkout-components/issues/1239 PS:感谢您对 SO 的所有 paypal 回答,非常感谢他们!
    • 用智能按钮修改订阅,是的,就是这样
    猜你喜欢
    • 2020-12-19
    • 2022-09-27
    • 2011-12-14
    • 2021-02-01
    • 2012-02-21
    • 2023-02-02
    • 2020-05-30
    • 2012-12-25
    • 2010-11-06
    相关资源
    最近更新 更多