Paypal Payments(授权和捕获)未返回授权ID

时间:2015-05-05 17:28:27

标签: api paypal authorization capture

根据the documentationpaypal付款方式应该可以执行授权&捕获就好了。以下摘录 PayPal授权摘录明确说明了如何进行:

  

首先获得付款批准并按照通常的PayPal付款方式执行付款。成功执行付款授权后,PayPal会使用一组新的HATEOAS链接进行响应,包括用于捕获付款的捕获链接。

因此,如果我正确地遵循授权&捕获如下:

  1. 创建付款
  2. 将用户重定向到HATEOAS链接approval_url,让他们登录PayPal。
  3. 返回成功(或取消,但不在此示例中)链接。
  4. 获取付款以查看更改内容,获取送货地址/等等....
  5. 让客户查看详情
  6. Execute付款以承诺持有资金。
    • 此时,AuthorizationID / HATEOAS链接应保存有关授权的信息。
  7. 稍后使用授权ID进行Capture, voila ,我们已经完成了。
  8. 现在这一切都很好,但在我对沙箱环境的测试中,我无法在任何地方检索授权ID

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

    Payment HATEOAS Links

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

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

    List

    一旦我深入研究它:

    Details

    果然如果我针对Authorization.Capture调用8B633793L37511009 API调用,它会像您期望的那样捕获。但是,我无法找到一种确定此数字的编程方式。

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

1 个答案:

答案 0 :(得分:2)

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

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

我按照教程并通过curl执行了示例请求。如您所见,我在transactions->related resources->authorization->id

下获得了授权ID

screenshot of paypal authorization object

然后我使用了网址中的ID并成功捕获了付款。

希望这有帮助,如果没有,请详细说明,也许我将能够进一步帮助你。祝你好运!