【问题标题】:Authorize directly after payment(Spring Boot + Paypal)付款后直接授权(Spring Boot + Paypal)
【发布时间】:2021-05-01 06:49:13
【问题描述】:

我目前正在使用 PayPal API 在我的应用程序中处理付款。我的问题如下:我的应用程序现在能够创建订单并让用户批准订单。我想要完成的是在用户批准订单后直接授权用户批准的金额。我知道可以授权订单,但据我了解,这只有在用户批准订单后才有可能。所以我想知道的是:是否可以让用户批准订单然后一步授权,而不会干扰我的后端(Spring Boot)。或者我应该在用户批准后让前端拨打电话,以便我的应用程序中的另一个端点可以尝试资金的授权。归结为我不知道何时进行授权调用。最佳做法是什么?

【问题讨论】:

    标签: spring paypal paypal-sandbox


    【解决方案1】:

    所以基本上你想用"intent": "authorize"创建一个订单,然后在批准后从你的后端授权(而不是捕获它,就像intent:capture那样)。

    为此,您需要创建两条路由,一条用于“创建授权订单”,一条用于“授权订单”,documented here。这些路由应该只返回 JSON 数据(没有 HTML 或文本)。第二个应该(成功时)存储生成的授权 ID,purchase_units[0].payments.authorizations[0].id ...供以后捕获

    将这两条路线与以下批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server

    【讨论】:

    • 你了解我的情况。我的应用程序是用 Spring Boot 编码的,我不懂 javascript,但据我了解,我将不得不等待前端让我知道我的订单已被用户批准。
    • 是的,这就是上面所做的和解释的。
    • 这是我最后一次问一个愚蠢的问题,但我很困惑。在授权与捕获页面上,他们首先说授权将资金搁置 30 天。但后来他们说以下“捕获的成功取决于风险和授权融资工具上资金的可用性。”如果不能保证成功捕获,那么暂停资金有什么意义?
    • 29 天是可以获取授权但不会在这段时间内持有资金的窗口。通常,所谓的“荣誉期”为 3 天。在第 3 天之后捕获与尝试新事务相同,但您有权在没有用户交互的情况下进行此尝试。在第 1-3 天期间捕获仍然不是 100% 的保证,因为某些东西仍然可以阻止成功,但通常会起作用。
    • 非常感谢!我现在完全明白了。如果没有资金,用户可以批准订单吗?我需要知道这一点才能估计成功授权的变化。
    猜你喜欢
    • 2015-06-12
    • 2023-03-08
    • 2015-06-21
    • 2015-08-08
    • 2016-05-20
    • 2014-08-09
    • 2014-12-12
    • 2019-01-28
    • 2018-06-05
    相关资源
    最近更新 更多