Исправить код ошибки Sagepay 5006

Может кто-нибудь, пожалуйста, дайте мне знать, почему sagepay выбрасывает 5006 (Невозможно перенаправить на веб-сайт поставщика.), Я могу отправить транзакцию на sagepay и могу предоставить информацию о кредитной карте в конце sagepay. Но, моя проблема, когда она вернется обратно на мою страницу уведомления, она выдает ошибку 5006.

и я не мог достичь своих успехов или неудачных URL-адресов в конце.

Пожалуйста, ознакомьтесь с приведенными ниже рекомендациями относительно вашей проблемы с ошибкой 5006 транзакций: невозможно перенаправить на веб-сайт поставщика. Поставщик не предоставил перенаправлениеURL.

Само сообщение об ошибке не всегда полностью точно, так как оно отображается, когда возникает какая-либо проблема с ответом Уведомления, которое они получают в ответ на их сообщение в NotificationURL. Ниже приведен список различных известных проблем, которые вы можете исследовать:

1) Вы можете подтвердить получение ответа транзакции с статусом OK, INVALID или ERROR

2) Прежде чем записывать три поля выше объекта Response POST, убедитесь, что вы очистили буфер ответа, чтобы удалить код заголовка, комментарии или HTML. Сервер Sage Pay Server ожидает, что «Status =» будет первым символом ответа. Если он не видит их, он обрабатывает ответ так, как если бы он был ошибкой и не удалось выполнить транзакцию!

3) Страница уведомлений должна ТОЛЬКО отвечать на поле «Состояние», поле «RedirectURL» и необязательно поле StatusDetail. Никакие другие HTML, заголовки, комментарии или текст не должны быть включены до или после этих полей. Сервер Sage Pay Server будет обрабатывать весь такой текст как ошибку и не выполнить транзакцию

4) Независимо от статуса, RedirectURL должен быть отправлен, который содержит действительный Полностью квалифицированный URL (то есть адрес, начинающийся с http: // или https: //), на заключительную страницу завершения вашего сайта, на которую Sage Pay отправит вашего клиента

5) Кодирование должно быть как поля Name = Value, разделенные каретой-возвратом-линией (CRLF)

6) Ваша страница уведомления на вашем сервере может быть «сбой», и вы должны проверить, чтобы страница уведомлений на вашем сервере могла правильно обрабатывать все сообщения, отправленные Sage Pay (ОК, ABORT, NOTAUTHED, REJECTED, PENDING и ERROR).

7) Вы должны отправить OK во всех случаях, когда при проверке POST-сообщений не возникает ошибок, поэтому, даже если Sage Pay отправит вам статус ABORT или NOTAUTHED, вы должны ответить ОК и 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, ваш сценарий уведомлений должен отвечать статусом «ОК» и «RedirectURL», указывающим либо на страницу завершения заказа (если статус был «ОК»), либо на соответствующей странице сбоя заказа (если статус был отмечен или ОШИБКА) , Вы можете пожелать, чтобы сообщения ABORT перенаправляли клиента на страницу, предоставляя им альтернативные способы оплаты, или спрашивали, почему они решили отменить. Если сигнатуры не совпадают, вы должны убедиться, что ваш код правильно перестраивает сообщение, и если вы уверены, что это так, на все такие сообщения следует ответить с помощью INVALID и RedirectURL, указывающих на страницу с ошибкой.

Пытаться

для некоторых идей. Просто найдите свой форум за 5006. Есть много сообщений.

В качестве общего совета: с помощью платежных шлюзов обычно лучше обратиться за поддержкой на соответствующие сайты поставщиков.

RedirectURL обычно представляет собой страницу, размещенную на вашем собственном сайте, которая предназначена для того, чтобы быть завершенной страницей заказа, с которой мы перенаправляем веб-браузер покупателя в момент завершения транзакции.

Для получения дополнительной информации об этом, пожалуйста, проверьте Sage Pay Server Protocol и Integration Guidelines .

У меня была эта проблема, и ни одно из предложений здесь не работало для меня. В конце концов я понял, что случилось:

  1. Мне пришлось отправить значение siteFqdns с завершающим косой чертой.
  2. Я должен был отправить serverNotificationUrl без префикса адреса веб-сайта (то есть только страницы, а не полного URL-адреса)
  3. Я должен был присвоить значение serverNotificationUrl (потому что он включал параметры querystring)

Только когда я сделал все эти три вещи, он будет вести себя так, как ожидалось.