一些背景。
我在一家餐馆工作,我会写一些代码,但没什么特别的,之前从未使用过 paypal。我的老板完成了一个网站,该网站似乎被传了很多遍,整个网站(在工作时)一团糟。
问题: 我们的订单作为来自 173.0.81.1 的 IP 不断重复(谢天谢地,金钱不会)。
代码是这样的格式 ww.website.com/paypal -> controller@paypal
功能 Paypal { 获取详细信息和数据库 然后是来自 https://developer.paypal.com/docs/classic/ipn/gs_IPN/ 的确切代码
值得注意的是 $fp = fsockopen('tls://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
它还应该使用沙箱吗?
在订单处理完成并且我们收到付款后,paypal 会在几天后继续连接到 website.com/paypal,这使得订单不断添加到数据库中。我确实注意到他们忘了做 fclose($fp); 但添加后没有变化。
代码是否遗漏了什么,paypal 是否更新了,你能给我任何帮助吗?
先谢谢你们,欢迎询问更多详情
最佳答案
正如@frz3993 所躲避的那样,PayPal 正在将 IPN 通知发送到帐户中配置的监听器 URL(或付款请求中),但该脚本一定会失败,即使它已成功更新数据库。因此,PayPal 的系统会不断重新发送它,因为它认为它失败了。
检查您在 PayPal 帐户中的 IPN 历史记录,看它是否显示 500 错误。听起来会的。然后,您需要检查服务器上的 PHP 错误日志,以查看特定脚本运行时出现了什么问题。
关于php - Paypal 反复调用网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36956228/