PayPal IPN验证更新



我收到PayPal的消息,说在我的一个网站上,我必须确保HTTPS用于验证回发。另一个代码相同的网站没有收到这样的消息,并且使用Sandbox,我认为这意味着验证是正确的。

我的代码如下。我需要换吗?

$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) 
    {
    $value = urlencode(stripslashes($value));
    $req .= "&$key=$value";
    }
// post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.1rn";
$header .= "Content-Type: application/x-www-form-urlencodedrn";
$header .= "Content-Length: " . strlen($req) . "rn";
$header .="Host: www.paypal.comrn"; 
$header .="Connection: closernrn";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

如果电子邮件说你应该发回https,你的$fp行应该是这样的-

$fp=fsockopen('ssl://www.paypal.com',443,$errno,$errstr,30);

希望这能有所帮助。几天来,我一直在做IPN的噩梦。

最新更新