Paypal IPN връща празен низ вместо VERIFIED или INVALID

В реална среда (не Sandbox) Paypal IPN изпраща POST данни с payment_status = Completed. Но когато се опитах да получа потвърждение на транзакцията от Paypal (с помощта на CURL), получавам празен низ (не „VERIFIED“ или „INVALID“).

CURL не връща никаква грешка. За потвърждение в реална среда използвам https://www.paypal.com/cgi-bin/webscr (това е сигурно). Освен това в Sandbox всичко работи правилно.

Грешката се появи преди около 2 месеца. Забелязах, че paypal е променил малко дизайна на сайта. Може би процесът на потвърждение също е променен. Но не намерих никакви актуализации в документацията.

Някой срещал ли е подобен проблем?


person Alexander Elgin    schedule 06.02.2011    source източник


Отговори (2)


Ако получите празни отговори, просто опитайте отново. Ако всички повторни опити са неуспешни, изпратете 500 Internal Server Error и PayPal IPN сървърът ще опита отново по-късно. Освен това може да искате да регистрирате пълния отговор на сървъра (включително заглавки), когато получите празен отговор.

person Alessandro    schedule 23.02.2011
comment
Здравей Алесандро, If you get empty responses, just retry. Какво да опиташ отново? If all retries fail, send out a 500 Internal Server Error and the PayPal IPN server will retry later. На кой адрес да изпратите? И най-интересният въпрос (за $1 000 000): Защо се случва така, че Paypal IPN започва да изпраща празен отговор. Преди всичко беше наред. Предпочитам да реша източника на проблема, а не неговите резултати. Имаш ли отговори, Алесандро? Срещнахте ли и решихте ли проблема, който описах по-горе. Или просто публикувате общ съвет? - person Alexander Elgin; 25.02.2011
comment
Ако получите празен отговор от сървъра за проверка на PayPal, просто опитайте отново повикването за проверка. 500 вътрешна грешка на сървъра трябва да бъде изпратена като HTTP отговор на вашата IPN страница. Не мога да кажа защо това се случва: грешки в PayPal, мрежови проблеми и т.н. Първото нещо е да регистрирате всичко, след което можете да поискате помощ за отстраняване на грешки. Без подробности никой не може да ви помогне. - person Alessandro; 25.02.2011

Закъснение за играта, но в случай, че някой друг попита.

Отстранявам това от няколко часа и както се случи в моя случай, PayPal изисква да използвате пълния URL адрес за IPN тестване с Sandbox.

напр. използвайте този URL адрес "https://www.sandbox.paypal.com/cgi-bin/webscr", а не "https://sandbox.paypal.com/cgi-bin/webscr". Трябва да включите www или PayPal ще ви изхвърли празен низ. Няма да върне INVALID и няма да потвърди - просто ви дава празно.

Така или иначе ми подейства. След като го промених, всичко се оправи и работи добре.

person RalphTheWonderLlama    schedule 26.05.2015