贝宝:订单 API 与付款 API,并找到更好的文档

Paypal: Orders API vs Payments API, and finding better documentation

我完全迷失在 PayPal 的 API 文档中。我一直在使用订单 API 和 PayPal Checkout SDK 尝试为项目设置付款。在尝试破译 Orders v2 API 参考时,为了使用对先前授权的订单总额进行多次捕获,我发现了一堆似乎更有用的讨论付款的文档 API反而。我无法理解两者之间的区别,或者我应该使用哪个或用于什么。

Orders API Reference 表示如下:

An order represents a payment between two or more parties. Use the Orders API to create, update, retrieve, authorize, and capture orders.

虽然 Payments API Reference 是这样说的:

Call the Payments API to authorize payments, capture authorized payments, refund payments that have already been captured, and show payment information. Use the Payments API in conjunction with the Orders API. For more information, see the PayPal Checkout Overview.

他们都描述了做几乎完全相同的事情,付款 API 说它应该与订单一起使用 API 但实际上没有提供任何关于如何一起使用它们的指导.给出的“结帐概览”link 转到带有订单 API 的智能按钮指南,实际上从未提及付款 API。

所以我的主要问题如下:

v2/orders 用于付款人审批流程。使用 "intent":"authorize",成功的订单将产生一个授权对象供以后使用。

v2/payments 用于管理授权以及已完成的捕获。例如,捕获或作废授权,或退还捕获。


您提到了 webhook,这可能会使事情过于复杂。最好的集成是简单地在您的服务器上创建两条路由,一条用于 'Create an Order',一条用于 'Authorize an Order'、documented here。这些路由应该 return 只有 JSON 数据(没有 HTML 或文本)。后者应该(成功)在执行 return(特别是 purchase_units[0].payments.authorizations[0].id

之前将付款详细信息存储在您的数据库中

将这两条路线与以下批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server