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