Я тестирую интеграцию веб-сайта с Paypal, используя стандарт веб-платежей и HTML-переменные.Paypal IPN, возвращающий HTTP/1.1 200 OK
Я написал простой PHP-скрипт для обработки уведомлений IPN.
Согласно Paypal documentation, сервер Paypal отвечает простой «ПОДТВЕРЖДЕН» или ответ «INVALID» после того, как вы свистеть полученные данные обратно в 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;
}
?>
Мое сообщение об ошибке показывает, что я получаю ответ «HTTP/1.1 200 OK» от Paypal.
Неизвестный ответ от Paypal: 'HTTP/1.1 200 OK'
Имеет API PayPal изменился, или я делаю что-то не так?
спасибо за ваш ответ, это было полезно для меня. – oletob