【问题标题】:Paypal IPN verification stopped workingPaypal IPN 验证停止工作
【发布时间】:2013-07-06 02:06:34
【问题描述】:

通过 IPN API 处理 PayPal 付款的网站今天停止工作。我使用 paypal 提供的示例 php 脚本来处理 IPN。调试后,我发现它缺少您在提交请求以确认付款通知后收到的 VERIFIED 响应。两者都没有到达“无效”。

最后,在添加代码来跟踪响应之后,我认为实际响应有一个尾随空格。这可以解释

if (strcmp ($res, "VERIFIED") == 0)

不会打。在此之前我添加了

$res=trim($res);

一切都恢复了正常-显然-。但我想知道今天是否还有其他人经历过这种情况。 (我不确定添加的确切字符,但我只知道修剪响应可以解决问题。

【问题讨论】:

  • 如果 trim 修复了它,那么里面就有空格。
  • Marc,如果 $res 是“已验证”,不会修剪修复它吗?
  • 是的。这就是我所说的。如果通过修剪运行 $res “修复”问题,则 $res 在其中有(/有)空格。
  • 呃!对,我想我累了:-)
  • $res 之后的 可怕的空白 让我失去了 24 小时的调试时间。 PayPal 是多么无能,提供这个 strcmp() 示例代码而没有 trim(),然后不确保他们的服务器回复是干净的。

标签: php paypal paypal-ipn


【解决方案1】:

我也有同样的问题。从 2013 年 7 月 7 日星期日开始,我们今天才注意到它。大量交易记录丢失。感谢您告诉我们 Paypal!

目前,如上所述修剪 $res 修复了我的 IPN 脚本。但我的 PDT 脚本也有问题。该脚本使用 strcmp 在数组 $lines 中查找响应消息。以前是:

if (strcmp ($lines[0], "SUCCESS") == 0){}

但在检查数组后,似乎响应消息现在位于 $lines[1]。因此,我必须更新到以下内容才能使其正常工作。

if (strcmp ($lines[1], "SUCCESS") == 0){}

【讨论】:

    猜你喜欢
    • 2014-03-04
    • 2017-08-05
    • 2011-04-19
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2014-12-10
    相关资源
    最近更新 更多