我正在測試使用Web Payments標準和HTML變量將網站集成到PayPal。PayPal IPN返回HTTP/1.1 200好
我寫了一個簡單的PHP腳本來處理IPN通知。
按照Paypal documentation,貝寶服務器用一個簡單的「VERIFIED」或「無效」響應來響應,一旦你ping命令接收到的數據回PayPal。
在我的處理程序中,我正在對這兩個關鍵字進行區分大小寫的字符串比較,如果找不到這些已知關鍵字中的任何一個,則會將其視爲錯誤。
<?php
$fp = fsockopen ($socket_url, 80, $errno, $errstr, 10);
if (!$fp){
// SOCKET ERROR
return false;
}
else {
fputs ($fp, $header . $req);
$is_ok = false;
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp("VERIFIED",$this->ipn_response)==0) {
//do something ...
}
// if the IPN POST was 'INVALID'
else if (strcmp ($res, "INVALID") == 0) {
fclose ($fp);
return false;
}
else {
echo "Unknown response from Paypal: $res";
fclose ($fp);
return false;
}
}
fclose ($fp);
return true;
}
?>
我的錯誤消息顯示我收到來自Paypal的'HTTP/1.1 200 OK'響應。
貝寶未知響應: 'HTTP/1.1 200 OK'
已PayPal的API改變了,還是我做錯了什麼?
非常感謝您的回答,對我來說是有幫助的。 – oletob 2013-10-09 16:39:08