Sagepay/.net/Ответ об ошибке

Отправляем запрос на тестовый сервер sagepay и получаем следующий ответ:

«Базовое соединение было закрыто: при получении произошла непредвиденная ошибка».

Самый очевидный вопрос:

<сильный>1. Нужно ли настраивать SSL для запросов/ответов? (учитывая, что это всего лишь тестовая среда/среда разработки)

<сильный>2. Я использую WebRequest и передаю значения VPSProtocol, TxType, Vendor, Crypt в заголовке 3. Метод POST 4. Я включил

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

спасибо


person h0lly    schedule 24.03.2016    source источник


Ответы (1)


  1. Нет, вы не (см. ниже)

  2. Похоже, вы интегрируетесь с протоколом формы — не передавайте эти значения в качестве заголовка — они должны быть параметрами строки запроса. Перенаправьте своего клиента на страницу (например: https://test.sagepay.com/gateway/service/vspform-register.vsp?VPSProtocol=3.00&TxType=PAYMENT&vendor=werwer&Crypt=sdfsdf), который должен просто выполнить получение, и вы должны получить страницы оплаты (или хотя бы ошибку, которую можно устранить).

person Rik Blacow    schedule 24.03.2016
comment
Все еще не работает. Базовое соединение было закрыто: при получении произошла непредвиденная ошибка. Я создал свой uri, как описано выше (и Crypt находится в виде обычного текста), использовал метод POST, затем получил ответ (HttpWebResponse) . - person h0lly; 24.03.2016
comment
Следуя инструкциям на странице sagepay.co.uk/ file/25041/download-document/ Crypt val зашифрован, но такое же сообщение об ошибке. - person h0lly; 25.03.2016
comment
В инструкциях указано: использование предоставленного пароля в качестве ключа и вектора инициализации в рамках процесса шифрования. Это пароль для входа в систему Sagepay a/c? Что такое вектор инициализации? - person h0lly; 25.03.2016
comment
Использование var passToBytes = System.Text.Encoding.UTF8.GetBytes(55a51621a6648525); myRijndael.Key = passToBytes; myRijndael.IV = passToBytes; затем шифрование строки с помощью ключа / IV, а затем добавление @ для добавления к URL-адресу sagepay - person h0lly; 25.03.2016
comment
Должно быть - System.Text.Encoding.UTF8.GetBytes([Пароль интеграции формы]) - person h0lly; 25.03.2016