public ActionResult ProceedSPEI(PaymentViewModel model) { //Setear variables del conector PaymentApplication paymentApp = _paymentService.GetPaymentApplicationByKey(model.AppKey); paymentProviderService.MerchantId = paymentApp.MerchantId; paymentProviderService.PublicKey = paymentApp.PublicKey; paymentProviderService.PrivateKey = paymentApp.PrivateKey; paymentProviderService.DashboardURL = paymentApp.DashboardURL; PaymentModel payment = new PaymentModel() { ClientId = paymentApp.ClientId, OrderId = model.OrderId, Amount = model.Amount, DueDate = DateUtil.GetDateTimeNow().AddDays(TransferExpirationDays), Description = model.Description, }; model.PaymentMethod = PaymentMethod.BANK_ACCOUNT; payment = paymentProviderService.CreateBankTransferPayment(payment); model.ChargeSuccess = payment.ChargeSuccess; if (payment.ChargeSuccess) { //Primero guardar en BD Payment paymentBO = new Payment(); paymentBO.CreationDate = DateUtil.GetDateTimeNow(); paymentBO.User = paymentApp.User; paymentBO.Amount = model.Amount; paymentBO.OrderId = model.OrderId; paymentBO.ConfirmationEmail = model.ConfirmationEmail; paymentBO.ProviderId = payment.Id; paymentBO.Status = payment.Status; paymentBO.DueDate = payment.DueDate; paymentBO.Method = PaymentMethod.BANK_ACCOUNT; paymentBO.TransactionType = PaymentType.CHARGE; paymentBO.ConfirmationDate = null; _paymentService.Create(paymentBO); model.Id = payment.Id; model.Description = payment.Description; model.JsonData = payment.ResultData; model.DueDate = payment.DueDate; model.PaymentCardURL = payment.PaymentCardURL; model.BankName = payment.PaymentMethod.BankName; model.Clabe = payment.PaymentMethod.Clabe; model.Reference = payment.PaymentMethod.Reference; model.Name = payment.PaymentMethod.Name; model.Agreement = payment.PaymentMethod.Agreement; return(RedirectPermanent(payment.PaymentCardURL)); } else { model.Description = payment.ResultData; return(null); } }
public ActionResult CreateSPEI(PaymentViewModel model) { //Setear variables del conector PaymentApplication paymentApp = _paymentService.GetPaymentApplicationByKey(AppKey); paymentProviderService.MerchantId = paymentApp.MerchantId; paymentProviderService.PublicKey = paymentApp.PublicKey; paymentProviderService.PrivateKey = paymentApp.PrivateKey; paymentProviderService.DashboardURL = paymentApp.DashboardURL; PaymentModel payment = new PaymentModel() { ClientId = paymentApp.ClientId, OrderId = model.OrderId, Amount = model.Amount, DueDate = DateUtil.GetDateTimeNow().AddDays(TransferExpirationDays), Description = String.Format("Pago de orden {0}", model.OrderId), }; model.PaymentMethod = PaymentMethod.BANK_ACCOUNT; payment = paymentProviderService.CreateBankTransferPayment(payment); model.ChargeSuccess = payment.ChargeSuccess; if (payment.ChargeSuccess) { //Primero guardar en BD Payment paymentBO = new Payment(); paymentBO.CreationDate = DateUtil.GetDateTimeNow(); paymentBO.User = new User() { Id = Authenticator.AuthenticatedUser.Id }; paymentBO.Amount = model.Amount; paymentBO.OrderId = model.OrderId; paymentBO.ConfirmationEmail = model.ConfirmationEmail; paymentBO.ProviderId = payment.Id; paymentBO.Status = payment.Status; paymentBO.DueDate = payment.DueDate; paymentBO.Method = PaymentMethod.BANK_ACCOUNT; paymentBO.TransactionType = PaymentType.CHARGE; paymentBO.ConfirmationDate = null; _paymentService.Create(paymentBO); model.Id = payment.Id; model.Description = payment.Description; model.JsonData = payment.ResultData; model.DueDate = payment.DueDate; model.PaymentCardURL = payment.PaymentCardURL; model.BankName = payment.PaymentMethod.BankName; model.Clabe = payment.PaymentMethod.Clabe; model.Reference = payment.PaymentMethod.Reference; model.Name = payment.PaymentMethod.Name; model.Agreement = payment.PaymentMethod.Agreement; } else { model.Description = payment.ResultData; } //return View("CreateSPEI", model); return(View("CheckoutSuccess", model)); }