PayPal 快速结帐 - 销售与付款

PayPal Express Checkout - Sale vs. Payment

至少可以说,我发现 PayPal 开发文档令人困惑。 Express Checkout 有 3 种不同的操作:

Authorization
Order
Sale

使用客户端 api,我设置了单个项目的简单 sale。现在我想在服务器端验证这次销售是否已经完全完成; Express Checkout 文档说我应该使用 API 调用 payment 来这样做 (https://developer.paypal.com/docs/integration/direct/express-checkout/show-payment-details/)

为什么我不使用 API 调用 sale,或者这也是一种选择吗?这个例子中的 salepayment 有什么区别?买家购买我的单品时,是否有salepayment可以查询?

https://developer.paypal.com/docs/api/payments/#sale_get

提前致谢。

paymentsaleauthorizationorder 的父对象,这意味着无论何时您创建付款意向(无论是 sale , authorization or order), 你可以通过父 payment_id.

获取详细信息

就是说,这就是为什么在此步骤 Show payment details to buyer you would rather call /v1/payments/payment/{payment_id} instead of /v1/payments/sale/{sale_id} is that, at this point you've not executed the payment 中您不会在 API 响应中看到 sale_id 的原因。 (所以这一步只是为了在您的买家点击“下订单”并且您执行付款之前在页面中显示付款详细信息)。

在其他情况下,假设您已经执行了付款并且从响应中得到了 sale_id,您绝对可以通过对 /v1/payments/sale/{sale_id} 进行 GET 调用来验证这一点,尽管有通过 webhooks or IPN.

从 PayPal 异步获取付款详细信息的其他方式