public ActionResult Success(string id) { var facade = FacadeFactory.GetInstance().GetFacade <MSPFacade>(); var order = facade.GetById <MSPOrder>(id); return(View(order)); }
/// <summary> /// Log all incoming text in a text file /// </summary> public string Index() { var path = Server.MapPath(string.Format("~/notification{0}.log", DateTime.Now.ToString("yyyy-MM-dd"))); //check post values string notification = new StreamReader(Request.InputStream).ReadToEnd(); //check get values string query = Request.Url.Query; string line = string.Format("[{0}] POST: {1} GET: {2}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), notification, query); if (System.IO.File.Exists(path)) { string oldText = System.IO.File.ReadAllText(path); using (var sw = new StreamWriter(path, false)) { sw.WriteLine(line); sw.Write(oldText); } } else { System.IO.File.WriteAllText(path, line); } //now stars the order processing //step 1: get the order from the MultiSafepay client var transactionid = Request["transactionid"]; var pm = new PaymentModel(); var c = new MultiSafepay.MultiSafepayClient(pm.ApiKey, apiUrl: pm.ApiUrls[0]); bool ordercompleted = false; var order = c.GetOrder(transactionid); if (order != null) { ordercompleted = order.Status == "completed"; } if (ordercompleted) { //get our order var facade = FacadeFactory.GetInstance().GetFacade <MSPFacade>(); var orderdb = facade.GetById <MSPOrder>(transactionid); if (orderdb != null) { orderdb.Status = MSPOrderStatus.Completed; facade.Save(); } } return("OK"); }
public ActionResult Post2(PaymentModel pm) { var ordermodel = CreateRedirectOrder(pm); var param = Newtonsoft.Json.JsonConvert.SerializeObject(ordermodel); HttpContent content = new StringContent(param, Encoding.UTF8, "application/json"); content.Headers.Add("api_key", pm.ApiKey); HttpClient client = new HttpClient(); var result = client.PostAsync(pm.ApiUrl + "orders", content).Result; string resultContent = result.Content.ReadAsStringAsync().Result; var message = Newtonsoft.Json.JsonConvert.DeserializeObject <MultiSafepay.ResponseMessage <MultiSafepay.Model.PaymentLink> >(resultContent); if (!message.Success) { pm.Errors.Add(message.ErrorCode.ToString() + "-" + message.ErrorInfo); } else { pm.PaymentUrl = message.Data.PaymentUrl; var facade = FacadeFactory.GetInstance().GetFacade <MSPFacade>(); var order = facade.GetById <MSPOrder>(pm.OrderId); order = new MSPOrder(); order.Id = pm.OrderId; order.OrderId = pm.OrderId; order.Status = MSPOrderStatus.Created; facade.Add(order); var val = facade.Save(); pm.Errors = val.BrokenRules.ToList(); } return(Json(pm)); }