【问题标题】:Upgrading PayPal payment to Orders API, the testing account didn't receive any money after finish the payment升级paypal支付到Orders API,测试账号完成支付后没有收到任何款项
【发布时间】:2021-11-09 23:29:29
【问题描述】:

我正在尝试实现新的 PayPal Orders API,这就是我所做的:

  1. 创建一个开发者帐户,添加一个应用程序名称,然后我就有了 Client Id 和 Secret。
  2. 使用 OrderCreateRequest 创建订单
  3. 从resposne->result->links获取approvel_url
  4. 重定向到这个approvel_url并完成支付
  5. Paypal 将重定向回我的网站。

但是我从来没有从 PayPal 测试账户得到任何东西,请问,我错过了什么?

编辑: 在 No.4 上,当重定向到 PayPal 页面时,不知何故它只在页面上显示“继续”按钮,而不是“付款”按钮。

【问题讨论】:

    标签: rest paypal orders


    【解决方案1】:

    你不见了:

    1. 向付款人显示订单审核页面。
    2. 使用 API 调用捕获订单,该 API 调用(如果成功)将在 purchase_units[0].payments.captures[0] 对象中返回交易 ID。
    3. 成功后,显示感谢/确认页面。

    没有最终的捕获 API 调用,就没有 PayPal 交易。


    您还在使用基于重定向的旧集成方法,该方法适用于旧网站。当前的 PayPal Checkout 集成不使用重定向。完全没有。

    不要重定向,而是在您的服务器上创建两条路由,一条用于“创建订单”,一条用于“捕获订单”,documented here。这些路由应该只返回 JSON 数据(没有 HTML 或文本)。当捕获响应成功时,将其生成的付款详细信息存储在您的数据库中(特别是purchase_units[0].payments.captures[0].id,PayPal 交易 ID)并在发送返回 JSON 之前执行任何必要的业务逻辑(例如发送确认电子邮件或预订产品)。

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

    【讨论】:

    • @Perston PHX,感谢您的快速回复!我实际上正在构建一个单页结帐购物车,不会有订单审核页面。我现在看到创建订单后还有两个步骤,捕获订单(No.7)和授权订单(我不知道这是否需要),但我不知道如何实现No.5和No. .7 一起。
    • @Person PHX,你说新的 REST API 根本不会使用重定向,我想也没有 IPN,请你指出我应该在哪里做我通常做的工作PayPal IPN 通知页面?谢谢!
    • 那些作业(业务逻辑)应该在发送返回 JSON 之前从捕获路由同步触发。
    • 由于您的目标是“构建单页签出”,因此您显然不应该重定向以获取批准。按照上述步骤不使用重定向。
    • 但是如果你做重定向,那么返回必须显示一个订单审查页面,除非你改变了 application_context user_action 所以最后一个按钮不会说“继续”(这是重定向集成的默认设置)
    猜你喜欢
    • 2023-03-15
    • 2016-02-21
    • 2016-12-16
    • 2017-02-03
    • 1970-01-01
    • 2021-01-30
    • 2014-06-23
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多