Witam serdecznie. Posiadam działający kod napisany pod HttpClient
string sign = CalculateRegisterSign(model.sessionId, options.MerchantId, model.amount, model.currency, options.CRC);
HttpClient client = new HttpClient();
var content = new FormUrlEncodedContent(
CombineParametersForRegister(options, model, sign)
.ToDictionary(x => x.Name, x => x.StringValue)
);
var response = await client.PostAsync(
SandboxRegisterUrl,
content
);
string responseString = await response.Content.ReadAsStringAsync();
return responseString;
Otrzymuję poprawnie token i 0 błędów.
error=0&token=73ECBC95F2-CAFA07-035AFF-25017658C8
Musze niestety zamienić to na stare WebRequest
i zaczynają się schody. Aktualnie stanąłem w tym miejscu:
string sign = CalculateRegisterSign(model.sessionId, options.MerchantId, model.amount, model.currency, options.CRC);
FormUrlEncodedContent content = new FormUrlEncodedContent(
CombineParametersForRegister(options, model, sign)
.ToDictionary(x => x.Name, x => x.StringValue)
);
byte[] byteContent = await content.ReadAsByteArrayAsync();
WebRequest webRequest = HttpWebRequest.Create(SandboxRegisterUrl);
webRequest.Method = "POST";
webRequest.ContentLength = byteContent.Length;
using(var dataStream = webRequest.GetRequestStream())
{
dataStream.Write(byteContent, 0, byteContent.Length);
dataStream.Close();
}
WebResponse response = webRequest.GetResponse();
string responseFromServer = string.Empty;
using(var dataStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
}
response.Close();
return responseFromServer;
Zwracane dane są takie, jakbym w ogóle nie przesyłał parametrów:
error=1&errorMessage=p24_merchantId:Incorrect merchant_id&p24_posId:Incorrect pos_id&p24_sessionId:Empty p24_sessionId&p24_email:Empty p24_email&p24_urlReturn:Empty p24_urlReturn&p24_urlCancel:Empty p24_urlCancel&p24_amount:Incorrect value
.
Mogę Was prosić o pomoc?