#laravel #token #paypal-ipn #http-status-code-400
Вопрос:
Я использую реализацию PHP, найденную по адресу Paypal.com.
Я запускаю php artisan для запуска сервера.
Затем я использую localtunnel, чтобы сделать сервер доступным через PayPal.
Проблема: я получаю сообщение ipn, это сообщение отправляется обратно в PayPal и чем:
Иногда сообщение ПРОВЕРЯЕТСЯ, а иногда я получаю
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
Если я отправлю IP-адрес повторно с Paypal, я ничего не получу, только если я совершу платежи в первый раз, я думаю, проблема в том, что я получаю сообщение через localtunnel и отправляю его обратно со своего бэкенда laravel, поэтому, если я правильно понял, задействовано 2 разных сервера.
Как я могу заставить его работать на 100% и почему он работает даже иногда, если подход, возможно, неправильный.
Ответ №1:
Возникает ли эта ошибка 400 при тестировании IPN в режиме песочницы? Если это так, то проблема связана с недавней миграцией PayPal в «песочницу» в облако. На данный момент измените имя хоста для проверки обратной передачи в песочнице с ipnpb
на www
:
https://www.sandbox.paypal.com/cgi-bin/webscr
Комментарии:
1. Это помогает, спасибо. У вас есть какие-либо идеи, почему повторная отправка из «истории уведомлений paypal» не отображается? IPN работает только в том случае, если я производил платежи. Теперь я подтвердил» на сервере и 500 на IP-адресе PayPal. Может быть, это проблема с PayPal вообще?
2. Проблемы с тем, что IP-адреса не отправляются или не передаются, не имеют никакого отношения к способности вашей системы подтвердить, что IP-адрес был получен от PayPal.