public AcquiringBankResponse ProcessPayment(AcquiringBankRequest acquiringBankRequest) { var result = new AcquiringBankResponse { PaymentStatus = "Failed" }; var request = CreateRequest(acquiringBankRequest); try { var response = (HttpWebResponse)request.GetResponse(); using (var reader = new StreamReader(response.GetResponseStream())) { var responseString = GetResponseAsString(reader.BaseStream); if (response.StatusCode != HttpStatusCode.OK) { result.PaymentStatus = responseString; } else { result = JsonConvert.DeserializeObject <AcquiringBankResponse>(responseString); } } } catch (WebException e) { result.PaymentStatus = e.Message; } return(result); }
private HttpWebRequest CreateRequest(AcquiringBankRequest postData) { var request = (HttpWebRequest)WebRequest.Create(_acquiringBankUrl); var json = JsonConvert.SerializeObject(postData); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = json.Length; using (var writter = new StreamWriter(request.GetRequestStream())) { writter.Write(json); } return(request); }