Почему я получаю сообщение об ошибке «4020: информация, полученная с неверного IP-адреса». От SagePay?

Это сайт PHP (Zend Framework 1.11), не использующий готовый пакет. Когда запрос:

https://live.sagepay.com/gateway/service/vspserver-register.vsp 

TxType ), я получаю следующий ответ:

 4020 : Information received from an Invalid IP address. 

Я зарегистрировался в административной области SagePay и добавил IP-адрес живого сервера в раздел «Действительные IP-адреса», и я убедился, что он использует правильный URL SagePay для отправки и.

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

Обновление. Эта же учетная запись (поставщик) используется в других учетных записях с методом интеграции формы, но на рассматриваемом сайте использовался метод интеграции с сервером. Могут ли отдельные учетные записи поддерживать несколько разных способов оплаты, например, или нужно активировать другое? Я не вижу никаких параметров, связанных с этим в панели администратора.

Получив ответ от SagePay, я нашел следующие важные примечания:

  • Вы можете использовать Form / Server / Direct для взаимозаменяемых учетных записей одного и того же поставщика без необходимости изменять настройки или регистрировать что-либо
  • Ошибка 4020 действительно является ошибкой ограничения IP и не маскирует другую ошибку

Проблема здесь заключалась в том, что IP-адрес веб-сервера (www.mysite.com), находящийся на VPS, оказался не таким же адресом, как тот, который использовался при запросах curl . Я сделал тестовую страницу PHP, которая отправила IP-адрес в $_SERVER['REMOTE_ADDR'] себе и разместила на другом сервере. Затем я использовал curl чтобы схватить этот скрипт и низко, и вот он был другим IP. Введя (нулевую дополненную версию) это в раздел « Valid IPs » в панели управления My SagePay (вошедший в систему с учетной записью администратора), он сразу появился.

Обновить

Вы можете использовать:

 curl icanhazip.com 

Вот так:

 [user@host ~]# curl icanhazip.com 177.12.41.200 

для отображения правильного IP-адреса, из командной строки сервера, на котором размещен веб-сайт, вместо загрузки файлов и всего этого malarkey. Дополнительная информация и использование здесь .

Вы должны добавить свой IP-адрес в панель управления SagePay.

Другие предложения:

  • Вы можете дважды проверить свой IP-адрес на http://www.whatismyip.com и сравнить, что вы добавили,
  • Убедитесь, что ваш адрес не изменился с момента его добавления (например, у вас есть динамическая адресация),
  • Проверьте, настроен ли ваш пользователь Apache на использование другого IP-адреса,