public PaymentAcceptModel GetPaymentAcceptModel(WebToPayResponseModel model) { var nvc = ProcessData(model.data); return(new PaymentAcceptModel() { Success = nvc["status"] == "1", PersonCodeStatus = Convert.ToInt32(nvc["personcodestatus"]) }); }
public void ProcessPayment(WebToPayResponseModel model) { var nvc = ProcessData(model.data); logger.Information("Callback data: " + nvc); using (var session = usersSessionFactory.CreateContext(true)) { var orderId = Convert.ToInt32(nvc["orderid"]); var status = Convert.ToInt16(nvc["status"]); var order = session.WebToPayLogs.Single(l => l.Id == orderId); order.Amount = Convert.ToDecimal(nvc["payamount"]); order.Country = nvc["country"]; order.Currency = nvc["paycurrency"]; order.Date = DateTime.Now; order.Email = nvc["p_email"]; order.Firstname = nvc["name"]; order.LastName = nvc["surename"]; order.RequestId = nvc["requestid"]; if (order.Status != 1) { order.Status = status; } order.PayText = nvc["paytext"]; if (order.UserId.HasValue) { if (status == 1) { AwardSponsor(order.UserId.Value); } if (nvc["personcodestatus"] == "1") { using (var noSqlSession = noSqlSessionFactory()) { var user = noSqlSession.GetAll <Data.MongoDB.User>().Single(u => u.DbId == order.UserId.Value); UserService.UniqueUser(order.Firstname, order.LastName, user.PersonCode, nvc["payment"], order.UserId); } } if (status == 3 && nvc["personcodestatus"] != null) { bus.Send(new UserConfirmedCommand() { UserId = order.UserId.Value, PersonCodeStatus = Convert.ToInt32(nvc["personcodestatus"]) }); } } } }
public virtual ActionResult Callback(WebToPayResponseModel model) { Logger.Information("Callback request: " + Request.Form); if (Service.CheckResponse(model, ConfigurationManager.AppSettings["WebToPay_Password"])) { Service.ProcessPayment(model); return(Content("OK")); } return(Content("Error: SS1v2 validation failed")); }
public virtual ActionResult Accept(WebToPayResponseModel model) { if (Service.CheckResponse(model, ConfigurationManager.AppSettings["WebToPay_Password"])) { var result = Service.GetPaymentAcceptModel(model); if (result.PersonCodeStatus == 0) { CurrentUser.VerificationPending = true; } return(View(result)); } return(View(MVC.Sponsor.Views.Cancel)); }
public bool CheckResponse(WebToPayResponseModel model, string password) { return((model.data + password).GetMd5Hash() == model.ss1); }
public virtual ActionResult Cancel(WebToPayResponseModel model) { return(View()); }