Ознакомьтесь с приведенными ниже рекомендациями относительно вашей проблемы с ошибками транзакций 5006. Невозможно перенаправить на веб-сайт поставщика.Поставщик не смог предоставить RedirectionURL.
Само сообщение об ошибке не всегда является полностью точным, так как оно отображается, когда возникает какая-либо проблема с ответом на уведомление, которое они получают в ответ на свое сообщение на ваш NotificationURL.Ниже приведен список различных известных проблем, которые вы можете исследовать:
1) Вы можете подтвердить получение ответа на транзакцию со статусом OK, INVALID или ERROR
2) Перед записьютри поля выше для объекта Response объекта POST, пожалуйста, убедитесь, что вы очистили свой буфер ответов, чтобы удалить любой код заголовка, комментарии или HTML.Сервер Sage Pay ожидает, что «Status =» будет первым символом в ответе.Если он не видит их, он обрабатывает ответ, как если бы он был ошибкой и сбой транзакции!
3) Ваша страница уведомлений должна отвечать ТОЛЬКО с полем Status, полем RedirectURL и, необязательно, полем StatusDetail.Никакие другие HTML, заголовки, комментарии или текст не должны быть включены ни до, ни после этих полей.Сервер Sage Pay будет обрабатывать весь такой текст как ошибку и не сможет выполнить транзакцию
4) Независимо от статуса необходимо отправить RedirectURL, содержащий действительный, полностью квалифицированный URL-адрес (т. Е. Адрес, начинающийся с http: //или https://) до последней страницы завершения на вашем сайте, на которую Sage Pay отправит вашего клиента
5) Кодировка должна быть в виде полей Name = Value, разделенных переносом строки возврата каретки (CRLF)
6) Ваша страница уведомлений на вашем сервере может быть «сбойной», и вы должны убедиться, что страница уведомлений на вашем сервере может правильно обрабатывать все сообщения, отправленные Sage Pay (OK, ABORT, NOTAUTHED, REJECTED, PENDING и ERROR).
7) Вы должны отправить OK во всех случаях, когда не возникает ошибок при проверке уведомлений POST, поэтому даже если Sage Pay отправляет вам статус ABORT или NOTAUTHED, вы должны ответить OK и RedirectURLэто указывает на страницу, информирующую клиента о том, что транзакция не была завершена.
8) Ворота Sage PayСпособ работает на различных фиксированных IP-адресах, и они обычно используют отдельные IP-адреса для ответа на все запросы транзакций.
Убедитесь, что на вашем сервере или брандмауэре разрешены все следующие IP-адреса:
Для исходящего трафика на наш шлюз:
195.170.169.9 - live.sagepay.com 195.170.169.8 - test.sagepay.com
Для входящего трафика вам нужен только белый список IP-адресов, если вы используете SERVER, поскольку это единственное решение, которое инициирует обратные вызовы.Вам не нужно применять это для нашей интеграции FORM и DIRECT.IP-адреса, с которых мы перезваниваем:
195.170.169.14 195.170.169.18 195.170.169.15
Маска подсети, используемая Sage Pay, равна 255.255.255.000.
Убедитесь, что ваши брандмауэры разрешают исходящий порт 443 (только HTTPS!) И входящие порты 443 (и дополнительно 80 HTTP) для связи с нашими серверами (в Simulator / Test / Live).Однако всегда есть возможность изменить это.Sage Pay владеет всем диапазоном 195.170.169.0/255 (256 IP-адресов).
9) Правильно ли вы сопоставляете транзакцию в своей базе данных, используя «SecurityKey», который мы передали на страницу уведомлений с помощью NextURL
10) Если MD5подписи совпадают, ваш сценарий уведомлений должен ответить с состоянием OK и RedirectURL, указывающим либо на страницу завершения заказа (если Статус был в порядке), либо на соответствующую страницу сбоя заказа (если Состояние было NOTAUTHED или ERROR). Вы можете пожелать, чтобы сообщения ABORT перенаправляли клиента на страницу, предоставляя ему альтернативные способы оплаты, или спрашивали, почему он решил отменить. Если подписи не совпадают, вы должны проверить, правильно ли ваш код перестраивает сообщение, и если вы уверены, что это так, на все такие сообщения должен быть получен ответ INVALID и RedirectURL, указывающий пользователю на страницу сбоя.