【发布时间】:2014-08-23 16:20:24
【问题描述】:
我在 Paypal 中有一些示例 IPN,我正在尝试设置侦听器,但无论我尝试什么,它都只是不与它交谈,尽管它说是。
这是监听器代码:
$debug=true;
//Put together postback info
$postback = 'cmd=_notify-validate';
foreach($_POST as $key =>$value){
$postback .= "&$key=$value";
}
// build the header string to post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($postback) . "\r\n\r\n";
$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);//open the connection
if(!$fp){ //no conn
die();
}
//post data back
fputs($fp, $header . $postback);
$res=stream_get_contents($fp, 1024);
if((strcmp($res, "VERIFIED")) == 0){ //verified!
if($debug){
$filename = 'debug/verify.txt'; //create a file telling me we're verified
$filehandle=fopen($filename, 'w');
fwrite($filehandle,'VERIFIED!');
fclose($filehandle);
}
} else {
if($debug){
$filename = 'debug/verify.txt'; //create a file telling me we're NOT verified
$filehandle=fopen($filename, 'w');
fwrite($filehandle,'NOT VERIFIED!');
fclose($filehandle);
}
}
if($debug){
$filename = 'debug/alive.txt'; //create a file telling me we're alive at least
$filehandle=fopen($filename, 'w');
fwrite($filehandle,'NOT VERIFIED!');
fclose($filehandle);
}
非常简单,这是我发送的 IPN 的屏幕截图,它什么都不做:
我在侦听器文件的末尾添加了代码,至少让我知道它已被击中,但它什么也没做。
有什么明显的我错过了吗?用这些东西扯掉我的头发。我还能做些调试吗?
【问题讨论】:
标签: php paypal paypal-ipn paypal-sandbox