gpt4 book ai didi

php - IPN Paypal 协议(protocol)实际上需要 HTTP 200 响应吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:10:28 26 4
gpt4 key购买 nike

我将使用 php 在我的网站中实现 IPN 协议(protocol)。

Paypal documentation请注意协议(protocol)如下:

  1. 用户点击按钮。
  2. Paypal 向我的 IPN 监听器发布一条 IPN 消息。
  3. 我的监听器必须发送一个空的 HTTP 200 OK 响应。
  4. 我的监听器必须将从 paypal 获得的消息(带有前面的字符串)发送回 paypal。
  5. Paypal 向我的听众发送“已验证”或“无效”响应。

谁能解释为什么协议(protocol)要求这个 [3] 步骤?

为什么光是第[4]步就完成不了呢?

此外,我注意到在 another 中在 paypal 文档的章节中,他们自己跳过了这个 [3]rd 步骤(参见他们的实现)。所以我想知道,真的有必要吗??

最佳答案

只要您的 IPN 脚本成功完成,200 OK 响应就会自动发生。这让我们的 PayPal 服务器确实完成了。

如果 PayPal 的 IPN 服务器从您的 Web 服务器返回的不是 200 OK,它将假定您的脚本失败并将该 IPN 放入一个队列中以重新发送。它将在 30 秒、60 秒、120 秒等后重新发送,直到获得 200 OK。

这就是为什么有时人们会得到重复的 IPN。例如,如果您在脚本的最底部有一些东西失败了,但是您所有的电子邮件通知、数据库更新等实际上在那之前都起作用了,您最终会看到那些事情再次发生又是因为 PayPal 不断重新发送 IPN。当然,这可能会非常困惑,因此您要确保不会发生这种情况。

不过,响应代码会自动从您的网络服务器发送回 PayPal。这不是您实际上必须在代码中执行的操作。

关于php - IPN Paypal 协议(protocol)实际上需要 HTTP 200 响应吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com