【问题标题】:Paypal API - Get the capture_id after subscriptionPaypal API - 订阅后获取 capture_id
【发布时间】:2023-02-02 13:50:37
【问题描述】:

我有一个与 Paypal API 集成的订阅按钮。订阅后我得到这些信息:

{ orderId: "ORDERID", subscriptionId: "SUBSCRIPTIONID" }

我需要获取 capture_id,它是用户订阅后捕获的付款的 id。

在搜索文档并与 chatGPT 进行大量聊天后,我知道要获取 capture_id 我必须执行此请求:

curl -X GET https://api.paypal.com/v2/checkout/orders/<order_id> \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access_token>"

我应该在请求返回的 purchase_units 字段中有 capture_id,但我得到的 purchase_units 字段是一个空数组。

我的订单状态为“已批准”,我需要将状态设为“已捕获”才能获得购买数量。 为此,我需要提出以下请求:

curl -X POST https://api.paypal.com/v2/checkout/orders/<order_id>/capture \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <access_token>"

但是当我这样做时,我得到了错误:“INTERNAL_SERVER_ERROR”。

我也不明白为什么我收到的订单状态是“已批准”而不是直接“已捕获”,因为当我去检查用户测试帐户时,我已经完成了付款:

【问题讨论】:

    标签: paypal paypal-sandbox


    【解决方案1】:

    使用 Get Subscription Details API 调用,和/或订阅 webhook PAYMENT.SALE.COMPLETED

    为帮助协调,请在创建订阅时添加 custom_id。该值将在所有 webhook 付款通知中返回,包括首次付款和未来付款。

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 2013-02-13
      • 2011-12-14
      • 2015-01-28
      • 2020-10-10
      • 2021-02-01
      • 2020-12-17
      • 2020-03-12
      • 2020-03-06
      相关资源
      最近更新 更多