【问题标题】:Paypal IPN - Getting + then losing data?Paypal IPN - 获取 + 然后丢失数据?
【发布时间】:2015-09-26 08:42:59
【问题描述】:

我目前正在使用以下库:

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

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

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

不太清楚,有什么想法吗?

【问题讨论】:

  • 我应该将数据存储在 SESSION 中吗?

标签: php paypal paypal-ipn


【解决方案1】:

IPN 不应用作返回 URL。

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

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

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

【讨论】:

    【解决方案2】:

    不是 Php 开发人员,也没有看过,但如果你真的想使用相同的 URL(我不会 - 它们用于不同的目的),那么区别将是 (http) 请求方法:

    • GET 用于重定向和
    • POST 用于 IPN

    这将是您确定该 url 获取和处理您认为合适的类型的 Request 的一种方式。

    【讨论】:

      猜你喜欢
      • 2015-03-01
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 2020-12-11
      • 2018-10-10
      • 2012-11-14
      相关资源
      最近更新 更多