Paypal IPN возвращает пустую строку вместо «VERIFIED» или «INVALID» - PullRequest
2 голосов
/ 06 февраля 2011

В реальной (не изолированной) среде Paypal IPN отправляет POST-данные с payment_status = Completed.Но когда я попытался получить подтверждение транзакции от Paypal (используя CURL), я получил пустую строку (не «VERIFIED» или «INVALID»).

CURL не возвращает ошибкуДля подтверждения в реальной среде я использую https://www.paypal.com/cgi-bin/webscr (это точно).Причем в Песочнице все работает нормально.

Ошибка появилась около 2 месяцев назад.Я заметил, что PayPal немного изменил дизайн сайта.Возможно, процесс подтверждения также изменился.Но я не нашел обновлений в документации.

Кто-нибудь сталкивался с подобной проблемой?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2011

Если вы получили пустые ответы, просто повторите попытку.Если все повторные попытки завершатся неудачно, отправьте 500 Internal Server Error, и сервер PayPal IPN попытается повторить попытку позже.Кроме того, вы можете записывать полный ответ сервера (включая заголовки) всякий раз, когда получаете пустой ответ.

0 голосов
/ 26 мая 2015

Поздно к игре, но на всякий случай, если кто-нибудь еще спросит.

Я устранял это несколько часов, и, как это произошло в моем случае, PayPal требует, чтобы вы использовали полный URL для IPNтестирование в Sandbox.

например, используйте этот URL "https://www.sandbox.paypal.com/cgi-bin/webscr" вместо" https://sandbox.paypal.com/cgi-bin/webscr".. Вам нужно включить www, или PayPal выдаст вам пустую строку.Он не вернет INVALID и не подтвердит - он просто даст вам пустую информацию.

В любом случае, это сработало для меня.Как только я изменил это, все было в порядке.

...