首页 > 解决方案 > Paypal:Orders API 与 Payments API,并找到更好的文档

问题描述

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

订单 API 参考说明如下:

订单代表两方或多方之间的付款。使用 Orders API 创建、更新、检索、授权和捕获订单。

虽然支付 API 参考是这样说的:

调用 Payments API 以授权付款、获取授权付款、退还已获取的付款并显示付款信息。将 Payments API 与 Orders API 结合使用。有关更多信息,请参阅 PayPal 结帐概述。

他们都在描述做几乎完全相同的事情,Payments API 表示它应该与 Orders API 一起使用,而实际上并未提供任何关于如何一起使用它们的指导。给出的“结帐概述”链接指向带有 Orders API 的智能按钮指南,实际上并没有提到 Payments API。

所以我的主要问题如下:

标签: paypalpaypal-rest-sdk

解决方案


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

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


您提到了 webhook,这可能使事情变得过于复杂。最好的集成是在您的服务器上简单地创建两条路由,一条用于“创建订单”,一条用于“授权订单”,记录在此处。这些路由应该只返回 JSON 数据(没有 HTML 或文本)。后者应该(成功时)在返回之前将付款详细信息存储在您的数据库中(尤其是purchase_units[0].payments.authorizations[0].id

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


推荐阅读