public ActionResult CheckOut(CheckOutToIPayViewModel model) { model.MerchantCode = merchantCode; model.PaymentId = ""; model.Currency = currency; model.Remark = ""; model.Lang = ""; model.Signature = GenerateSignature(model.RefNo, model.Amount); model.ResponseURL = baseUrl + "/Order/Payment"; model.BackendURL = baseUrl + "/Order/PaymentBackend"; return View(model); }
public ActionResult CheckOutPayment(NewPaymentViewModel formData) { var token = Request.Cookies["token"].Value; var orderId = formData.OrderId; var totalAmount = 0.0; var email = ""; if (string.IsNullOrWhiteSpace(orderId)) { try { var profileRequest = WebRequest.Create(profileUrl); profileRequest.Headers.Add("Authorization", "Bearer " + token); profileRequest.Method = "get"; profileRequest.ContentLength = 0; var profileResponse = profileRequest.GetResponse(); var profileWebResponse = (HttpWebResponse)profileResponse; using (var reader = new StreamReader(profileWebResponse.GetResponseStream())) { var json = reader.ReadToEnd(); var profile = JsonConvert.DeserializeObject<UserInfoViewModel>(json); email = profile.Email; } var orderRequest = WebRequest.Create(newOrderUrl); orderRequest.Headers.Add("Authorization", "Bearer " + token); orderRequest.Method = "post"; orderRequest.ContentLength = 0; var orderResponse = orderRequest.GetResponse(); var newOrderResponse = (HttpWebResponse)orderResponse; if (newOrderResponse.StatusCode == HttpStatusCode.Created) { using (var reader = new StreamReader(newOrderResponse.GetResponseStream())) { var json = reader.ReadToEnd(); var order = JsonConvert.DeserializeObject<OrderViewModel>(json); orderId = order.Id; //totalAmount = order.TotalSpecialPrice; totalAmount = 0.50; } } } catch (Exception ex) { ViewBag.NoBillingAddress = true; return View("CheckOutPayment"); } } var productDescription = "Order " + orderId; var username = email; var phoneNumber = "0162223322"; //var signature = GenerateSignature("1", totalAmount); //var request = (HttpWebRequest)WebRequest.Create(paymentUrl); //var postData = "MerchantCode=" + merchantCode; //postData += "&PaymentId="; //postData += "&RefNo=1"; //postData += "&Amount=" + totalAmount.ToString("0.00"); //postData += "&Currency=" + currency; //postData += "&ProdDesc=" + productDescription; //postData += "&UserName="******"&UserEmail=" + email; //postData += "&UserContact=" + phoneNumber; //postData += "&Remark="; //postData += "&Lang="; //postData += "&Signature=" + signature; //postData += "&ResponseURL=" + baseUrl + Url.Action("Payment"); //postData += "&BackendURL=" + baseUrl + Url.Action("Payment"); //var data = Encoding.ASCII.GetBytes(postData); //request.Method = "POST"; //request.ContentType = "application/x-www-form-urlencoded"; //request.ContentLength = data.Length; //request.Referer = "http://dealswhat.my/order/checkout"; //using (var stream = request.GetRequestStream()) //{ // stream.Write(data, 0, data.Length); //} //var response = request.GetResponse(); //var responseStream = response.GetResponseStream(); var IpayViewModel = new CheckOutToIPayViewModel { RefNo = orderId, Amount = totalAmount.ToString("0.00"), ProdDesc = productDescription, UserName = username, UserContact = phoneNumber, UserEmail = username }; return RedirectToAction("CheckOut", IpayViewModel); //return File(responseStream, response.ContentType); }