幾天前,突然停止接收來自PayPal的IPN消息。 我已經寫在下面無法獲得PayPal IPN沙箱的回覆
$url_parsed=parse_url('https://www.sandbox.paypal.com/cgi-bin/webscr');
$post_string = '';
foreach ($_POST as $field=>$value) {
$post_string .= $field.'='.urlencode(stripslashes($value)).'&';
}
$post_string.="cmd=_notify-validate";
$fp = fsockopen($url_parsed['host'],"80",$err_num,$err_str,30);
$myFile = "testpaypal.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $post_string;
fwrite($fh, $stringData);
fwrite($fh, "------------");
if(!$fp){
return false;
} else {
fputs($fp, "POST $url_parsed[path] HTTP/1.0\r\n");
fputs($fp, "Host: $url_parsed[host]\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($post_string)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $post_string . "\r\n\r\n");
while(!feof($fp))
{
$ipn_response .= fgets($fp, 1024);
}
fclose($fp);
if (eregi("VERIFIED",$ipn_response)) {
fwrite($fh, "VERIFIED");
return true;
} else {
fwrite($fh, "UNVERIFIED");
return false;
}
}
fclose($fh);
該代碼的代碼返回到err_num 「」 以及當我後打印$ ipn_response 「FCLOSE($ FP);」行它打印 「HTTP/1.0 302找到的位置:https://www.sandbox.paypal.com服務器:BIGIP連接:關閉內容長度:0」
,但無法在$ ipn_respnse得到 「已檢查」。
我已經嘗試了所有可能的方法,如更改解析網址與「ssl://sandbox.paypal.com」 和網絡上建議的所有其他解決方案。
自從最近三天以來,我一直陷在這個問題中。所以,請幫助我。
在此先感謝。
是的,我已經做了沙箱爲了在這裏提到它,以及在我的phpinfo捲曲啓用。 cURL支持\t已啓用 cURL信息\t libcurl/7.16。0 OpenSSL/0.9.8i zlib/1.2.3 – user1996999 2013-02-12 08:44:30