Следующий код является частью нашей страницы оплаты выписки, которая регистрирует платеж с сервером sagepay. Мне просто нужно изменить кодировку перед публикацией и расшифровкой после ответа на получение ответа, чтобы соответствовать требованию AES.Sagepay 2.23 до 3.00. Необходимо обновить до AES
Я правильно понял, что мой strPost нуждается в распаковке до незашифрованной части и части Crypt?
В этом случае у меня есть работа.
//** The full transaction registration POST has now been built **
System.Text.UTF8Encoding objUTFEncode = new System.Text.UTF8Encoding();
Uri objUri = new Uri(SagePay.SystemURL(SagePay.ConnectTo, "purchase"));
System.Net.HttpWebRequest objHttpRequest = (HttpWebRequest)WebRequest.Create(objUri.ToString());
objHttpRequest.KeepAlive = false;
objHttpRequest.Method = "POST";
objHttpRequest.ContentType = "application/x-www-form-urlencoded";
byte[] arrRequest = objUTFEncode.GetBytes(strPost);
objHttpRequest.ContentLength = arrRequest.Length;
Stream objStreamReq = objHttpRequest.GetRequestStream();
objStreamReq.Write(arrRequest, 0, arrRequest.Length);
objStreamReq.Close();
//Get response
HttpWebResponse objHttpResponse = (HttpWebResponse)objHttpRequest.GetResponse();
StreamReader objStreamRes = new StreamReader(objHttpResponse.GetResponseStream(), System.Text.Encoding.ASCII);
strResponse = objStreamRes.ReadToEnd();
objStreamRes.Close();
//** No transport level errors, so the message got the SagePay **
//** Analyse the response from VSP Direct to check that everything is okay **
//** Registration results come back in the Status and StatusDetail fields **
strStatus = SagePay.FindField("Status", strResponse);
strStatusDetail = SagePay.FindField("StatusDetail", strResponse);
Спасибо, Rik.I разработал, что для моей реализации сервера не требуется часть AES. Я бегаю по https, поэтому нет необходимости шифровать дальше. Похоже, простое изменение значения протокола - это все, что необходимо. –