PayPal快速结账——销售与付款的区别

4

我发现PayPal的开发文档相当令人困惑。Express Checkout有三个不同的操作:

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

提前感谢。

1个回答

2
“payment”是“sale”,“authorization”和“order”的父对象,这意味着每当您创建一个支付意图(无论是“sale”,“authorization”还是“order”),您都可以通过父“payment_id”获取详细信息。
也就是说,在这一步中,您更愿意调用“/v1/payments/payment/{payment_id}”而不是“/v1/payments/sale/{sale_id}”,原因是在此时,您尚未执行付款,在API响应中也不会看到“sale_id”。 (所以这一步只是为了在您的买家点击“下订单”并执行付款之前,在页面上显示付款详细信息)。
在其他情况下,比如说您已经执行了付款并且从响应中获得了一个sale_id,您可以通过向/v1/payments/sale/{sale_id}发出GET调用来验证它,尽管还有其他方式可以通过WebhooksIPN从PayPal异步获取付款详情。

谢谢,这非常有帮助,让我对事情有了更清晰的认识。不过关于支付/端点方面还有一个问题,我在这里创建了一个新问题,如果您想看一下:https://stackoverflow.com/questions/49411807/paypal-rest-get-payment-details-only-works-for-payments-that-have-yet-to-comp - KayakinKoder
1
看起来v2 API已经进行了全面的重新设计,它始终与订单有关:所有的收费都是从“创建订单”开始,然后“通过浏览器由用户批准”,然后进行“捕获”或“授权”。PayPal总是让事情变得混乱,无法清楚地描述。好吧,还有一些关于“付款”原则的内容,但看起来只是关于“授权”“订单”的一些东西。 - Suge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接