根据the documentation paypal
付款方式应该能够很好地进行授权和捕获。 PayPal 授权摘录下的以下摘录具体说明了如何进行操作:
First get payment approval and execute the payment as you normally would do for a PayPal payment. Once you successfully execute on the payment authorization, PayPal responds with a new set of HATEOAS links, including a capture link that you use to capture the payment.
因此,如果我正确遵循,授权和捕获的流程如下:
- 创建付款
- 将用户重定向到 HATEOAS 链接
approval_url
以让他们登录 Paypal。 - 返回成功(或取消,但不在本例中)链接。
- 获取付款以查看更改内容、获取送货地址/等...
- 让客户查看详细信息
执行
promise 卡住资金的付款。- 此时,AuthorizationID/HATEOAS 链接应包含有关授权的信息。
- 稍后使用授权 ID 进行 Capture,瞧,我们就完成了。
现在一切都很好,但在我对沙箱环境的测试中,我在任何地方检索授权 ID 时遇到了困难。
这是我从 执行
步骤收到的 HATEOAS 链接:
如您所见,仅返回 self
引用,根据文档,至少应该有一个 capture
链接,其中应包含authorizationID。
此外,响应正文中没有任何授权 ID。但是,如果我在沙盒 Paypal 仪表板中查看付款:
一旦我深入研究它:
果然,如果我针对 8B633793L37511009
调用 Authorization.Capture
API 调用,它就会按照您的预期进行捕获。但是我找不到一种编程方法来确定这个数字。
我应该如何存储授权号,以便我的工具可以在以后满足我们的业务条件时捕获授权号?
最佳答案
一开始,当您创建意图授权
的付款时,您应该在响应中获取授权对象。该对象具有您稍后捕获所需的 id。
检查this blog post看看您是否遗漏了图片中的一些基本内容。
我按照教程并通过curl 执行了示例请求。正如你所看到的,我在交易->相关资源->授权->id
然后我使用 URL 中的 id 并成功捕获付款。
希望这对您有帮助,如果没有帮助,请详细说明,也许我可以为您提供进一步的帮助。祝你好运!
关于api - Paypal 付款(授权和捕获)不返回授权 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30059522/