php - Paypal IPN - 获得+然后丢失数据?

标签 php paypal paypal-ipn

我目前正在使用以下库:

https://github.com/paypal/adaptiveaccounts-sdk-php/tree/master/samples/IPN

而且 Paypal IPN 似乎工作正常......我可以成功结帐并且来自 Paypal 的所有 POST 数据都记录到我的服务器,唯一的问题是 - 当用户返回网站时我如何检查它?

我目前将返回 URL 设置为与 IPN url 相同(在 github 中查找代码),在我获得所有有效数据后,用户返回到 IPN 页面并显示无效。

不太确定,有什么想法吗?

最佳答案

不应将 IPN 用作返回 URL。

  • 返回 URL 将买家带回您的网站。返回 URL 处的页面应显示通用感谢页面或指示买家订单状态的页面。选择以上哪一项取决于您选择的 PayPal 产品、您的集成和您的购买流程。
  • IPN 监听器的脚本 URL 用于自动执行您的订单处理过程。 IPN 监听器获取 IPN 消息,以您自己定义的方式处理您的订单。

IPN 监听器应该将非常具体的数据回发到 HTTP 状态为 200 的 PayPal IPN 端点。如果它还输出一个页面,事情就会变得太复杂。您需要区分买家访问和 PayPal IPN 消息,并需要进行相应的显示或 IPN 验证。为了简单起见,将这两件事分成两个页面/脚本会更好,也更合乎逻辑。

我认为这就是您的买家变得“无效”的原因:您的 IPN 监听器在买家返回您的监听器时获取请求数据,并使用该数据通过 PayPal 验证 IPN。 PayPal 返回“无效”,因为数据不是来自有效的 IPN 消息,因此无法验证。

关于php - Paypal IPN - 获得+然后丢失数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31292661/

相关文章:

php - 找不到 Laravel/Dusk Swift_Events_EventListener

php - IPN 验证回发到 HTTPS

c# - 使用 PayPal Checkout Express 时是否可以通过 SetExpressCheckout 传递送货地址?

php - Paypal API 退还捕获的授权

php - 如何在 PHP 中使用索引位置访问值关联数组

javascript - 使用 $.ajax 调用 php 脚本从服务器上的文本文件读取数据

php - 在 WordPress 中转义 Twig/Timber 的要求

asp.net-mvc - 我的网络市场中的托管帐户

paypal - 如果信用卡在定期 paypal 付款时过期,会发生什么情况?

爱尔兰可用的 Paypal rest api - 2015 年 1 月?