通过 PayPal REST API V2 获取交易数据

问题描述 投票:0回答:3

我正在一个慈善项目中实施 PayPal 捐赠按钮。这非常有效,我正在获取包含事务 ID 的 JS 响应对象。我将其存储起来以供将来的 API 调用使用。经同意,我们需要存储捐赠者姓名和电子邮件。所以我尝试使用 PayPal API 和交易 ID 来获取这些。看起来很简单。

根据 PayPal REST API V2 文档,相关端点似乎是

/checkout/orders
以及订单 ID,诚然我认为是交易 ID,但深入研究后似乎并非如此。

我正在使用 Postman 进行测试(身份验证工作正常),并且

/checkout/orders
端点返回“未找到资源”以及有效的事务 ID。这是同一个帐户、正确的 API 凭据等。

我认为现在这是错误的端点,我需要一个订单 ID。但捐赠按钮不返回订单 ID,而是返回交易 ID,因为它是“销售”而不是“订单”。我现在明白了其中的区别,但坦率地说,我想与 PayPal 开发人员就含义和文档进行讨论。

所以我只是找不到正确的 REST V2 端点来用于这些具有交易 ID 的“销售” - 有人可以帮忙吗?

我看到一个较旧的 SO 问题,其答案here 表示

v1/payments/sale
端点有效 - 但此端点在 V2 中不存在!

我查看过交易搜索,但它是按日期获取列表,而不是使用现有的交易 ID。我知道我想要的交易。

我确实尝试过查看文档、寻找指导并使用 Postman 进行测试,但对于基本的 API 使用却一无所获!谢谢大家的指导。

api paypal
3个回答
0
投票

v2 订单 ID 类似于 v1 PAYID 或经典 EC 代币。这三个仅在付款审批过程中使用,一旦交易完成就没有任何用处。

v1 销售相当于 v2 捕获。两者都是完整的 PayPal 交易 ID。

查询 v2 捕获状态的端点记录在此处:https://developer.paypal.com/docs/api/ payments/v2/#captures_get

v1 API 仍用于某些支付类型,例如订阅。我不确定捐赠,但 v2 捕获或 v1 销售端点应该可以工作。


0
投票

感谢Preston PHX为我指明了正确的方向。

虽然

/v2/payments/captures
适用于从托管捐赠按钮返回的交易 ID,但它仅显示日期、价值、费用等交易信息。没有所请求的付款人信息。

为此,您必须使用

/v1/reporting/transactions
端点并提供
transaction_id
以及
start_date
end_date
- 这些是必需的,但如果客观不知道,可以从之前的
captures
调用中获取。

请注意,普雷斯顿的答案中提到的

v1/payments/sale
已完全弃用,因此不能用作一站式调用。

简而言之,对于原来的问题,需要像上面那样调用两次API。不过,我决定直接在网站上获取同意和姓名/电子邮件,而不是使用 PayPal API。不过,我将使用

/v2/payments/captures
端点来验证交易已发送到此 PayPal 帐户并由该 PayPal 帐户处理,而不是以某种方式修改按钮 ID。


0
投票

当您知道TransactionId但需要Order详情时,您可以通过两步获取:

  1. 首先,从 /v2/payments/captures/{capture_id} 获取付款
    CAPTURE
    信息。
    尽管 PayPal 的示例中未显示,但响应正文应在 JSON 结构中包含 order_id,如
    "supplementary_data": {"related_ids": {"order_id": "0WV12345XF123456D"}}
    )。
  2. 现在您可以使用从步骤 1 中获得的 order_id
    /v2/checkout/orders/{order_id}
    获取 ORDER 信息。
© www.soinside.com 2019 - 2024. All rights reserved.