PayPal IPN验证更新

时间:2016-03-24 17:03:01

标签: paypal

我收到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.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .="Host: www.paypal.com\r\n"; 
$header .="Connection: close\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

1 个答案:

答案 0 :(得分:2)

如果电子邮件说您应该回发到https,那么$ fp应该是这样的 -

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

希望这会有所帮助。我和IPN打了几天噩梦。