【问题标题】:PayPal not sending the transaction information on returnPayPal 未在退货时发送交易信息
【发布时间】:2020-03-19 01:15:39
【问题描述】:

我正在尝试实施 PayPal 付款,但无论到目前为止我找到了哪些选项或答案,它仍然不会将交易信息发送回成功回调 url(tx、st、amt 和 cc)

我已将自动返回设置为开,将 PDT 设置为开,尝试将 rm 设置为所有可能的值(0、1 和 2),但仍然没有成功

令人困惑的部分是 PayPal 的文档清楚地提到我应该在所有情况下都获得它们,除非我使用 rm 1 并且包含返回 url,但我就是不这样做

返回 URL 行为。如果设置为“1”并且如果“返回”值为 提交,付款完成后,买家将被发送 使用 GET 方法返回返回 URL,并且没有事务 变量将被提交。如果设置为“2”并且如果“返回”值为 提交后,买家将使用 POST 方法,所有可用的事务变量都将发送到该方法 也被张贴。如果省略或设置为“0”,将使用 GET 方法 对于所有订阅交易和立即购买、捐赠或 未启用 IPN 的 PayPal 购物车交易。 其余的将使用带有变量的 POST 方法

它确实返回到成功页面,但不包括交易信息(顺便说一句,即使将 rm 设置为 2 并具有适当的返回 url,它仍然执行 GET 而不是 POST,这就是为什么我我怀疑文档已经过时或者沙盒环境被窃听了)

对于它的价值,这是我的相关表单字段

<input type="hidden" name="business" value="sb-h7plu24373@business.example.com" />
<input type="hidden" name="return" value="@(Url.Action("Success", "Paypal", null, "https", (string) ViewBag.host))">
<input type="hidden" name="cancel_return" value="@(Url.Action("Failed", "Paypal", null, "https", (string) ViewBag.host))">
<input type="hidden" name="rm" value="2" />

image from the sample controller i'm using to test

Image from that business dummy account with it's settings done properly

知道我错过了什么吗?我一直在考虑完全放弃 PDT 并依赖 IPN webhook,但我想我会先问

附:我用实际的主机名进行了测试,进行了实时调试,但仍然发生了相同的情况,它返回到返回 url 但没有交易信息,我什至检查了浏览器网络选项卡以检查请求以确保它没有什么好笑的在我的网站上,它在没有交易信息的情况下粗暴地发送请求

【问题讨论】:

    标签: paypal


    【解决方案1】:

    在沙盒环境中进行测试可能与您在使用 PDT 时遇到的问题有关;它有可能只在 Live 中工作。但是这种设计和使用 PDT 的一个更容易被忽视的问题是,回报实际上永远无法保证。根据买家的地区和情况(例如客人结账),PayPal 可能有义务向买家出示收据,在这种情况下,除非买家点击退货按钮,否则退货不会自动发生。或者,买家的浏览器可能在交易完成后但在退货发生之前崩溃或网络连接中断。因此,在实践中,PDT 绝不可靠,只能用于提供信息(例如,向客户显示感谢信息)。 没有您的业务逻辑(没错,没有)应该依赖 PDT 实际工作。

    相反,您可以像您提到的那样围绕 IPN 或 Webhook 构建您的设计,尽管这也可能是异步和延迟的。


    最强大的解决方案是服务器端设计,它通过对 PayPal 的 API 调用进行捕获,因此会根据服务器端 API 调用的响应立即通知成功/失败。这是一个骨架演示:https://developer.paypal.com/demo/checkout/#/pattern/server

    请注意,在fetch( XHR 到服务器端点之前,不会发生任何 PayPal 交易,然后它必须对 PayPal 进行自己的捕获 API 调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-11
      • 2014-08-05
      • 2011-11-14
      • 2011-01-26
      • 2012-02-25
      • 2023-03-17
      • 2013-01-07
      • 1970-01-01
      相关资源
      最近更新 更多