Пример #1
0
        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
            }));
        }
Пример #2
0
        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));
        }