2015-04-17 5 views
0

Следующий код является частью нашей страницы оплаты выписки, которая регистрирует платеж с сервером 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); 
+0

Спасибо, Rik.I разработал, что для моей реализации сервера не требуется часть AES. Я бегаю по https, поэтому нет необходимости шифровать дальше. Похоже, простое изменение значения протокола - это все, что необходимо. –

ответ

0

Требование AES применимо только к методу интеграции формы. Похоже, вы отправляете на прямой API Sage Pay. Так что у вас может не так много сделать :-)

Смежные вопросы