Мне нужно поместить POST некоторые скрытые поля на страницу, которые мне нужно загрузить в окне браузера .WebRequest для данных POST, но как насчет скрытых полей?
Это для интеграции SagePay формы, как на странице 6: http://www.docstoc.com/docs/10745827/Sage-Pay-Form-Protocol-and-Integration-Guidelines
Я уже использую WebRequest для создания POST, но как я могу отправить 4 скрытых полей они требуют?
Также, как я могу загрузить возвращенный html в браузер; этот html от SagePay, где клиент вводит данные своей кредитной карты?
public string SendRequest(string url, string postData)
{
var uri = new Uri(url);
var request = WebRequest.Create(uri);
var encoding = new UTF8Encoding();
var requestData = encoding.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Timeout = (300 * 1000); //TODO: Move timeout to config
request.ContentLength = requestData.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(requestData, 0, requestData.Length);
}
var response = request.GetResponse();
string result;
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
{
result = reader.ReadToEnd();
}
return result;
}
Итак, у меня было бы что-то вроде этого для 4 скрытых полей для postData - VPSProtocol = 2.23 & TxType = PAYMENT & Vendor = RetailersLtd & Crypt = crypt. Однако Crypt, как показано на стр. 36, имеет различные значения. поэтому, как будет выглядеть postData выше? – asn1981
@Noob: Посмотрите на стр. 41 - в нем описывается, как сделать эту работу. –
@Reed Copsey: Я думаю, что на странице 41 показано, что ключ опции Basket воссоздает корзину покупок на страницах SagePay, но это не то, о чем я говорю выше. – asn1981