用 REST API V2 替换 PayPal SetExpressCheckout SOAP API

Replacing PayPal SetExpressCheckout SOAP API with REST API V2

我们正在用 Paypal REST API V2 替换我们的 Paypal SOAP API 调用(SetExpressCheckout 等)。 三问:

1) Paypal 有两个相似的APIs:orderspayments。哪一个被认为是 SetExpressCheckout 的替代品?

2) 我们使用 SetExpressCheckout 返回的代币进行捕获或稍后退款。我们从 SetExpressCheckout 获得的令牌是否也可以用于使用 REST APIs 进行捕获/退款? (否则,我们无法进行 "big-bang" 迁移,但会保留这两种实现,直到我们确定不会对使用 SOAP API 发出的交易进行捕获或退款)。

3) 商家是否需要修改其个人资料中的任何内容,例如授予使用 REST API 的新权利?例如,我们使用 SOAP API 调用 TransactionSearch,这需要特殊权限 - 那些对 REST API 调用也有效吗?

1) 创建 v2/order 替换 SetExpressCheckout。捕获 v2/order 替换 DoExpressCheckoutPayment。捕获将 return 一个新的交易 ID,它是一个 v2/payment 对象,这个 v2/payment 对象 ID 是唯一保留在 www.paypal.com 中用于会计目的的东西(v2/order id 不用于记账;与EC token一样,仅用于支付审批流程)

对于前端,使用 https://developer.paypal.com/demo/checkout/#/pattern/server

[您稍后提到了捕捉,因此以下内容不适用于该特定情况,但是:如果您的流程设置为在获得买家批准后立即捕捉,那么——一旦你的实现的一切都在为快乐的道路工作——不要忽视添加对 handling funding source failures 的支持,这样如果立即捕获由于例如买家的第一张卡被拒绝,这将传播回 UI 并且买家可以立即 select 不同的资金来源 ]

2) SetEC 令牌不能与 REST APIs 混合用于捕获

3) 是也不是。如果您使用 REST API 来搜索交易,那么重要的是您正在使用的 REST ClientID+Secret 的权限。最直接的方法是商家在 https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications 中生成一个具有所有必要权限的新 REST 应用程序,并为您提供该 REST 应用程序的实时 ClientID+Secret。