Исправление кода ошибки Sagepay 5006

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

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


person Prabhu M    schedule 16.07.2010    source источник


Ответы (5)


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

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

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

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

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

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

5) Кодировка должна быть в виде полей Имя=Значение, разделенных переводом строки (CRLF)

6) Ваша страница уведомлений на вашем сервере может «зависнуть», и вам следует убедиться, что страница уведомлений на вашем сервере может правильно обрабатывать все сообщения, отправленные Sage Pay (ОК, ПРЕРВАТЬ, НЕАВТОРИЗОВАННО, ОТКЛОНЕНО, ОЖИДАНИЕ и ОШИБКА).

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

person Guestposter    schedule 10.10.2013
comment
Диапазон IP-адресов в формате CIDR – 195.170.169.0/24 (то есть 195.170.169.0-255). - person dave1010; 04.02.2015

Пытаться

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

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

person Gordon    schedule 16.07.2010
comment
@VAC Ну, как я уже сказал, лучше всего спросить на их форуме напрямую. Там шансов гораздо больше. Кроме того, вы не предоставили никакого кода, поэтому я очень сомневаюсь, что кто-либо здесь может вам помочь. - person Gordon; 16.07.2010
comment
пожалуйста, смотрите мой следующий пост на sagepay... 3264328/sagepay-curl-data-posting - person Prabhu M; 16.07.2010
comment
@Gordon Похоже, что SagePay поместил все это за логином (или просто удалил его ...), вздох .... - person DavidG; 12.07.2016

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

Для получения дополнительной информации см. Sage Pay Server. Руководство по протоколу и интеграции.

person kenorb    schedule 24.09.2013

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

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

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

person Russ    schedule 21.04.2015

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

person Nadeem    schedule 05.10.2018