public ActionResult ProcessPayment([FromBody] VisaPaymentRequest payReq) { var amount = double.Parse(payReq.TransactionAmount, System.Globalization.CultureInfo.InvariantCulture); CardPayReq req = new CardPayReq() { Amount = amount, bCode = (int)payReq.OriginatorBankCode, CardClass = (int)CardClassification.Visa, CardNum = payReq.OriginatorCardNumber }; var res = this.crdService.ProcessPayment(req); return(new ObjectResult(new VisaPaymentResponse() { PaymentResultCode = res.PayRes, PaymentResultDescription = res.Message })); }
public CardPayResponse ProcessPayment(CardPayReq payReq) { var bankAccs = getCardAccByFullDetails(payReq.bCode, payReq.CardNum, payReq.CardClass); if (bankAccs.Count <= 0) { return(GetPayResponse("Account does not exist", PaymentResult.Failure)); } var bankAcc = bankAccs[0]; if (bankAcc.AccountBalance < payReq.Amount) { return(GetPayResponse("Insufficent Funds", PaymentResult.Failure)); } return(GetPayResponse("Transaction Sucessfull", PaymentResult.Success)); }