api - Paypal 付款(授权和捕获)不返回授权 ID

标签 api paypal authorization capture

根据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.

因此,如果我正确遵循,授权和捕获的流程如下:

  1. 创建付款
  2. 将用户重定向到 HATEOAS 链接 approval_url 以让他们登录 Paypal。
  3. 返回成功(或取消,但不在本例中)链接。
  4. 获取付款以查看更改内容、获取送货地址/等...
  5. 让客户查看详细信息
  6. 执行 promise 卡住资金的付款。
    • 此时,AuthorizationID/HATEOAS 链接应包含有关授权的信息。
  7. 稍后使用授权 ID 进行 Capture,,我们就完成了。

现在一切都很好,但在我对沙箱环境的测试中,我在任何地方检索授权 ID 时遇到了困难。

这是我从 执行 步骤收到的 HATEOAS 链接:

Payment HATEOAS Links

如您所见,仅返回 self 引用,根据文档,至少应该有一个 capture 链接,其中应包含authorizationID。

此外,响应正文中没有任何授权 ID。但是,如果我在沙盒 Paypal 仪表板中查看付款:

List

一旦我深入研究它:

Details

果然,如果我针对 8B633793L37511009 调用 Authorization.Capture API 调用,它就会按照您的预期进行捕获。但是我找不到一种编程方法来确定这个数字。


我应该如何存储授权号,以便我的工具可以在以后满足我们的业务条件时捕获授权号?

最佳答案

一开始,当您创建意图授权的付款时,您应该在响应中获取授权对象。该对象具有您稍后捕获所需的 id。

检查this blog post看看您是否遗漏了图片中的一些基本内容。

我按照教程并通过curl 执行了示例请求。正如你所看到的,我在交易->相关资源->授权->id

下获取了授权id

screenshot of paypal authorization object

然后我使用 URL 中的 id 并成功捕获付款。

希望这对您有帮助,如果没有帮助,请详细说明,也许我可以为您提供进一步的帮助。祝你好运!

关于api - Paypal 付款(授权和捕获)不返回授权 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30059522/

相关文章:

python - 如何在 Flask API 路由系统中定义基本路由

javascript - 错误: Bad Twitter streaming request: 401 using Twit

javascript - 使用 payPal 按钮 - 用户可以在付款前更改价格

asp.net - 使用 web.config 目录安全性和无扩展名 URL

android - Google Maps Android API 授权失败 - 这项服务在过去几个月内有变化吗?

scala - 您建议使用哪种 Scala 框架来构建带有 Cassandra 后端的 REST API?

javascript - 数据绑定(bind)剑道 ui 网格与外部 API

paypal - 使用经典 API 时,使用 REST API 进行的交易会显示吗?

Paypal IPN 发回已验证但前后都有数字

ssl - 通过 SSL 的客户端识别