Paypal:订单 API 与付款 API,以及寻找更好的文档

问题描述 投票:0回答:1

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

订单 API 参考的内容如下:

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

虽然支付 API 参考这么说:

调用Payments API进行支付授权,捕获授权 付款、已捕获的退款付款并显示 支付信息。结合使用支付 API 订单API。有关更多信息,请参阅 PayPal Checkout 概述。

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

所以我的主要问题如下:

  • 这两个API有什么区别?
  • 我需要使用哪个API来支持多次捕获?看起来 Payments 是唯一支持多次捕获的,但我已经拥有了基础设施,仅使用 Orders API 来创建
    intent=AUTHORIZE
    交易,将
    order_id
    发送到客户端,以便可以弹出 PayPal,并且订单已授权,以及用于接收该授权通知的 Webhook。我现在可以使用 Payments API 来捕获吗?我还需要这样做吗?我在订单文档中找不到与多次捕获相关的任何内容。
  • 是否有其他好的文献描述了 Checkout SDK 和订单/付款 API 的所有移动部分如何组合在一起以适应较小规模的项目? PayPal 自己的指南到处都是,但很少描述不同部分如何交互或何时需要一个 API 与另一个 API。
paypal paypal-rest-sdk
1个回答
4
投票

v2/orders 用于付款人审批流程。使用

"intent":"authorize"
,成功的订单将产生一个 Authorization 对象供以后使用。

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


您提到了网络钩子,这可能使事情变得过于复杂。最好的集成是简单地在服务器上创建两条路由,一条用于“创建订单”,一条用于“授权订单”,标准集成指南具有此处有一个后端示例(在node.js中,但是它当然可以在任何语言/环境中实现)。这两个路由在获取时应仅返回 JSON 数据(无 HTML 或文本)。订单授权您应该(成功后)在退货之前将付款详细信息存储在您的数据库中(特别是

purchase_units[0].payments.authorizations[0].id

将这两条路由与前端审批流程配对(请参阅上面的链接获取示例,或此演示:https://developer.paypal.com/demo/checkout/#/pattern/server

© www.soinside.com 2019 - 2024. All rights reserved.