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



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

根据PayPal REST API V2文档,相关的端点似乎是带有订单ID的/checkout/orders,不可否认,我认为这是交易ID,但深入研究似乎不是。

我正在使用Postman进行测试(auth工作正常(,/checkout/orders端点返回带有有效事务ID的Resource Not Found。它是相同的帐户、正确的API凭据等。

我认为现在这是错误的端点,我需要一个订单ID。但"捐赠"按钮不会返回订单ID,而是返回交易ID,因为这是"销售"而不是"订单"。我现在明白了其中的区别,不过坦率地说,我想和PayPal的开发者谈谈意义和文档。

所以我找不到正确的REST V2端点来用于这些带有事务ID的"销售"-有人能帮忙吗

我看到一个旧的SO问题,这里有一个答案,说v1/payments/sale端点有效,但这个端点在V2中不存在!

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

我真的试着查阅了文档,找到了指导,并用Postman进行了测试,但我对API的基本使用毫无进展!感谢大家的指导。

v2订单ID类似于v1 PAYID或经典EC令牌。这三种方法都只在付款审批过程中使用,一旦交易完成,就不再使用。

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

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

v1 API仍然用于某些支付类型,如订阅。我不确定捐赠,但v2捕获或v1销售端点都应该有效。

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

虽然/v2/payments/captures使用托管捐赠按钮返回的交易ID,但它只显示交易信息,如日期、价值、费用等。没有要求的付款人信息。

为此,您必须使用/v1/reporting/transactions端点并提供transaction_id以及start_dateend_date-这些是必需的,但如果客观上未知,则可以从上一个captures调用中获取。

请注意,Preston的回答中提到的v1/payments/sale完全不推荐使用,因此不能用作一站式呼叫。

简而言之,对于最初的问题,如上所述需要两个API调用。然而,我决定直接在网站上获取同意和姓名/电子邮件,而不是使用PayPal API。然而,我将使用/v2/payments/captures端点来验证交易是否发送到该PayPal帐户并由其处理,而不是以某种方式修改按钮ID。

最新更新