编程语言
首页 > 编程语言> > php IPN已验证且strcmp不再起作用

php IPN已验证且strcmp不再起作用

作者:互联网

我在IPN系统中的PayPal收到的VERIFIED字符串有一个奇怪的问题.
我使用php来检查付款的有效性.
截至昨天下午5点,一切正常.
但是使用最近的两次付款,我的脚本无法再救援“ VERIFIED”字符串.
这是我的脚本:

[...]
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
[...]
if (!$fp)
  {[...]
  }
else
  {fputs ($fp, $header . $req);
   while (!feof($fp))
     {$res = fgets ($fp, 1024);
      $ResTotale .= $res;
      if (strcmp ($res, "VERIFIED") == 0)
        {// Payment ok!
         [...]
        }
   [...]
  }

直到昨天,我们从贝宝(PayPal)收到了这些数据:

[...]
domain=.paypal.com VERIFIED
[...]

在最后两笔付款中,我们收到了以下款项:

[...]
8
VERIFIED
0
[...]

并且脚本将该付款标记为无效.
我用以下命令更改了“ strcmp” if语句:

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

谁能告诉我该脚本是否有效?
提前致谢.

解决方法:

请检查Paypal IPN sends back VERIFIED but with numbers before and after

此外,评估应通过包含trim()起作用

if(strcmp(trim($res),“ VERIFIED”)== 0)

参见:https://ppmts.custhelp.com/app/answers/detail/a_id/926/kw/http%201.1

标签:php,paypal,paypal-ipn
来源: https://codeday.me/bug/20191030/1964463.html