Sagepay 5006 исправление кода ошибки - PullRequest
4 голосов
/ 16 июля 2010

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

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

Ответы [ 5 ]

7 голосов
/ 10 октября 2013

Ознакомьтесь с приведенными ниже рекомендациями относительно вашей проблемы с ошибками транзакций 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, указывающий пользователю на страницу сбоя.

1 голос
/ 16 июля 2010

Попробуйте

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

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

0 голосов
/ 05 октября 2018

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

0 голосов
/ 21 апреля 2015

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

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

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

0 голосов
/ 24 сентября 2013

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

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

...