public ActionResult Index(PaymentModel payment) { if (string.IsNullOrWhiteSpace(payment.FirstName) && string.IsNullOrWhiteSpace(payment.LastName) && string.IsNullOrWhiteSpace(payment.Address1) && string.IsNullOrWhiteSpace(payment.Address2) && string.IsNullOrWhiteSpace(payment.Month) && string.IsNullOrWhiteSpace(payment.Year) && string.IsNullOrWhiteSpace(payment.PostCode) && string.IsNullOrWhiteSpace(payment.CardCode)) { ModelState.AddModelError("CardNumber", "Cannot be empty and card number has to be 14 digits or greater"); } if (!ModelState.IsValid) { View(payment); } TransactionResponse result = new PaymentProcesses().ChargeCredit(payment); if (result != null && result.ResultCode == AuthorizeNet.Api.Contracts.V1.messageTypeEnum.Ok) { PaymentManager paymentManager = new PaymentManager(_context); string userID = _userManager.GetUserId(User); paymentManager.SubtractBalanceFromStudent(userID, result.AmountPaid); RegistrationManager registrationManager = new RegistrationManager(_context); int studentID = registrationManager.GetStudentIDFromUserID(userID); paymentManager.CreatePaymentForDatabase(result, studentID); TransactionResponse viewmodel = new TransactionResponse() { TransId = result.TransId, ResultCode = result.ResultCode, ResponseCode = result.ResponseCode, MessageCode = result.MessageCode, AuthCode = result.AuthCode, Description = result.Description, AmountPaid = result.AmountPaid, }; List <TransactionResponse> viewmodelList = new List <TransactionResponse> { viewmodel }; return(RedirectToAction("TransactionResponse", new { viewmodelList = JsonConvert.SerializeObject(viewmodelList) })); } else { PaymentModel model = new PaymentModel(); TransactionResponse transaction = new TransactionResponse(); if (transaction.ErrorCode == "6" || transaction.ErrorCode == "78" || transaction.ErrorCode == "316" || transaction.ErrorCode == "112") { model.CardNumber = transaction.ErrorText; return(View("Index", model.CardNumber)); } else { return(View("Index", model.CardNumber)); } } }
public ActionResult Index(PaymentModel payment) { if (string.IsNullOrWhiteSpace(payment.FirstName) && string.IsNullOrWhiteSpace(payment.LastName) && string.IsNullOrWhiteSpace(payment.Address1) && string.IsNullOrWhiteSpace(payment.Address2) && string.IsNullOrWhiteSpace(payment.Month) && string.IsNullOrWhiteSpace(payment.Year) && string.IsNullOrWhiteSpace(payment.PostCode) && string.IsNullOrWhiteSpace(payment.CardCode)) { ModelState.AddModelError("CardNumber", "Cannot be empty and card number has to be 14 digits or greater"); } if (!ModelState.IsValid) { View(payment); } TransactionResponse result = new PaymentProcesses().ChargeCredit(payment); if (result != null && result.resultCode == AuthorizeNet.Api.Contracts.V1.messageTypeEnum.Ok) { TransactionResponse viewmodel = new TransactionResponse() { transId = result.transId, resultCode = result.resultCode, responseCode = result.responseCode, messageCode = result.messageCode, authCode = result.authCode, description = result.description, }; List <TransactionResponse> viewmodelList = new List <TransactionResponse> { viewmodel }; return(View("TransactionResponse", viewmodelList)); } else { PaymentModel model = new PaymentModel(); TransactionResponse transaction = new TransactionResponse(); if (transaction.errorCode == "6" && transaction.errorCode == "78" && transaction.errorCode == "316" && transaction.errorCode == "112") { model.CardNumber = transaction.errorText; return(View("Index", model.CardNumber)); } else { return(View("Index", model.CardNumber)); } } }
public ActionResult PaymentProcess(PaymentModel payment) { TransactionResponse result = new PaymentProcesses().ChargeCredit(payment); string respMsg = ""; if (result != null && result.resultCode == AuthorizeNet.Api.Contracts.V1.messageTypeEnum.Ok) { respMsg += "Successfully created transaction with Transaction ID: " + result.transId + "<br />"; respMsg += "Response Code: " + result.responseCode + "<br />"; respMsg += "Message Code: " + result.messageCode + "<br />"; respMsg += "Description: " + result.description + "<br />"; respMsg += "Success, Auth Code : " + result.authCode + "<br />"; ViewBag.css = "alert alert-success"; } else { respMsg = "Error Code: " + result.errorCode + "<br />" + "Error message: " + result.errorText; ViewBag.css = "alert alert-danger"; } ViewBag.Msg = respMsg; return(View("index")); }