【问题标题】:PayPal Express Checkout Integration does not fully complete the transactionPayPal Express Checkout 集成未完全完成交易
【发布时间】:2020-08-06 19:03:12
【问题描述】:

我正在实施 v2 Express Checkout Paypal 集成;它工作正常,但是它没有完全完成交易(企业帐户没有收到付款)。

  1. 我正在沙盒上运行测试。

  2. 生成令牌以及订单 ID。

  3. 我将给定的链接复制并粘贴到 URL 栏中,然后按 Enter 继续完成交易。 https://www.sandbox.paypal.com/checkoutnow?token=2463323E24235WQ.

  4. 事务完成并重定向到新的 URL https://example.com/return?token=2463323E24235WQ&PayerID=UEJ2NE9233DS5W

一切似乎都运行良好,但是当我来查看沙盒业务帐户的通知时(付款应该去的),它没有显示任何付款。

一切似乎都已相应设置,但付款并没有转到我的帐户。

【问题讨论】:

    标签: paypal paypal-sandbox express-checkout


    【解决方案1】:

    交易完成

    不,错了;买方批准了付款。没有交易。

    为了创建交易,当买家返回时,例如https://example.com/return?token=2463323E24235WQ&PayerID=UEJ2NE9233DS5W ,您必须显示订单查看页面并使用适当的 API 调用捕获订单。

    如果您想立即获取订单(跳过订单审核页面的显示),您可以在初始订单设置中指定此项,以便买家点击“继续”按钮返回您的网站,而不是显示“付款现在”。

    【讨论】:

    • 谢谢,但让我看看我是否理解。假设我已经显示了一个订单审核页面,用户点击了“进行付款”按钮,然后,将生成付款订单并将其信息保存在数据库中;之后用户会被重定向到这个示例 URL https://example.com/return?token=2463323E24235WQ&PayerID=UEJ2NE9233DS5W(交易完成的地方),对吧?
    • 您需要告诉 PayPal 将最终按钮设为“立即付款”而不是继续。当用户登陆该 URL 时,您需要立即执行 API 调用来捕获订单。如果失败,您需要告诉用户这一点。但实际上,有一个更好的问题 --- 你为什么要使用重定向?
    • 不要使用重定向。根本不要使用任何重定向。重定向对于现代网站来说是一种糟糕的体验。相反,让您的网站在后台加载并显示一个上下文窗口。这是你需要的前端代码:developer.paypal.com/demo/checkout/#/pattern/server
    • 好吧,老实说,我以前从未做过集成(裸露在外),所以我从基础开始。我正在使用文件OrdersCreateTest.php 直接创建付款订单(用于测试目的)。这个订单给了我订单 ID,结帐 URL,例如:https://www.sandbox.paypal.com/checkoutnow?token=02H52232KS42123 等。当我访问结帐 URL 时,它会显示付款方式、总额和商品描述,然后我选择一种付款方式并单击“支付”它将我重定向到https://example.com/return?token=02H52232KS42123&PayerID=R2F3233233DS5W
    • 好吧,默认情况下它可能会显示“付费与继续”,但无论哪种方式,您都需要在重定向回您的站点后通过 API 捕获它。这就是所有 PayPal 结帐 API 的工作方式。更重要的是,使用 JS SDK 获取订单 ID 并显示一个窗口,因此您不必重定向。
    猜你喜欢
    • 2014-10-05
    • 2020-10-01
    • 2012-10-10
    • 2014-02-27
    • 2018-01-05
    • 2017-02-08
    • 2013-06-05
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多