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

时间:2015-07-08 12:27:05

标签: php paypal paypal-ipn

我目前正在使用以下库:

&#37

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

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

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

2 个答案:

答案 0 :(得分:1)

不应将IPN用作返回网址。

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

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

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

答案 1 :(得分:0)

不是Php dev并且没有看过,但是如果你真的想要使用相同的URL(我不会 - 它们用于不同的目的),那么差异将是(http)请求方法:

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

这将是您确定网址在您认为合适时获取和处理的请求的一种方式。