【问题标题】:Paypal Payments (Authorization & Capture) not returning Authorization IDPaypal 付款(授权和捕获)不返回授权 ID
【发布时间】:2015-07-15 13:46:10
【问题描述】:

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

首先获得付款批准,然后像通常使用 PayPal 付款一样执行付款。成功执行付款授权后,PayPal 会使用一组新的 HATEOAS 链接进行响应,其中包括用于捕获付款的捕获链接。

所以如果我正确地遵循了授权和捕获的流程如下:

  1. 创建付款
  2. 将用户重定向到 HATEOAS 链接 approval_url 以让他们登录贝宝。
  3. 返回成功(或取消,但在本例中没有)链接。
  4. 获取付款以查看发生了什么变化,获取送货地址等......
  5. 让客户查看详情
  6. Execute 承诺冻结资金的付款。
    • 此时,AuthorizationID / HATEOAS 链接应保存有关授权的信息。
  7. 稍后使用授权 ID 进行 Capture,,我们完成了。

现在这一切都很好,但在我对沙盒环境的测试中,我在任何地方检索授权 ID 时遇到问题。

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

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

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

一旦我深入研究它:

如果我针对8B633793L37511009 调用Authorization.Capture API 调用,它会如您所愿地捕获。但是我找不到确定这个数字的编程方式。


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

【问题讨论】:

    标签: api paypal authorization capture


    【解决方案1】:

    首先,当您使用意图authorize 创建付款时,您应该在响应中获得授权对象。该对象具有稍后捕获所需的 id。

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

    我按照教程并通过 curl 执行了示例请求。如你所见,我得到了transactions->related resources->authorization->id下的授权id

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

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

    【讨论】:

    • 这会教我不要看实际的输出。我使用的原型中,related_resources 全部倒在一边,所以我什至没有看到条目!
    猜你喜欢
    • 2023-03-08
    • 2017-08-17
    • 2015-11-11
    • 2011-09-12
    • 2018-09-10
    • 2019-01-28
    • 2018-06-05
    • 2021-01-20
    • 1970-01-01
    相关资源
    最近更新 更多