public JsonResultDTO MakePayment(CardDetailDTO cardDetail) { var isExpiryDateValid = CardValidation.ValidateExpiryDate(cardDetail.ExpiryDate); var isCvvValid = CardValidation.ValidateCvvNumber(cardDetail.Cvv); if (isExpiryDateValid && isCvvValid) { var bankResponse = IBankRepo.MakePayment(cardDetail); if (bankResponse.Status == "Success") { jsonResult.IsSuccess = true; jsonResult.TransactionId = bankResponse.Identifier; } else { jsonResult.IsSuccess = false; jsonResult.Errors.Add("Bank responded payment unsuccessful"); } } else { jsonResult.IsSuccess = false; jsonResult.Errors.Add("The credit card is expired"); } return(jsonResult); }
public BankPaymentResponseDTO MakePayment(CardDetailDTO cardDetail) { BankPaymentResponseDTO payment = new BankPaymentResponseDTO() { Identifier = new Guid(), Status = "Success" }; return(payment); }
public ObjectResult Get(Guid guid) { var dto = new CardDetailDTO(); var response = new BaseResponse <CardDetailDTO>(dto); try { dto = adManager.Detail(guid); response.Dto = dto; response.Success = true; base.PrepareResult <BaseResponse <CardDetailDTO> >(response); } catch (Exception ex) { base.PrepareBadRequestResult <BaseResponse <CardDetailDTO> >(response); } return(base.result); }
public void MakePayment_ShouldReturnFalse_WhenPassedInvalidCardCvv() { CardDetailDTO card = new CardDetailDTO() { Amount = 100, CardNumber = "1234567891234567", Currency = "Euro", Cvv = 1234, ExpiryDate = "12/2020" }; BankPaymentResponseDTO payment = new BankPaymentResponseDTO() { Identifier = new Guid(), Status = "Success" }; mockBankRepositoryService.Setup(x => x.MakePayment(card)).Returns(payment); PaymentGateway paymentGateway = new PaymentGateway(mockBankRepositoryService.Object); var result = paymentGateway.MakePayment(card); Assert.AreEqual(result.IsSuccess, false); }
public void MakePayment_ShouldReturnTrue_WhenPassedValidCardDetails() { //ExpiryDate expiryDate = new ExpiryDate() { Month = 07, Year = 2022 }; CardDetailDTO card = new CardDetailDTO() { Amount = 100, CardNumber = "1234567891234567", Currency = "Euro", Cvv = 123, ExpiryDate = "07/2022" }; BankPaymentResponseDTO payment = new BankPaymentResponseDTO() { Identifier = new Guid(), Status = "Success" }; mockBankRepositoryService.Setup(x => x.MakePayment(card)).Returns(payment); PaymentGateway paymentGateway = new PaymentGateway(mockBankRepositoryService.Object); var result = paymentGateway.MakePayment(card); Assert.AreEqual(result.IsSuccess, true); }
public void ProcessPayments_ShouldReturnSucessfull_WhenWithProperCardDetail() { //ExpiryDate expiryDate = new ExpiryDate() { Month = 07, Year = 2022 }; CardDetailDTO card = new CardDetailDTO() { Amount = 100, CardNumber = "1234567891234567", Currency = "Euro", Cvv = 123, ExpiryDate = "12/2020" }; JsonResultDTO result = new JsonResultDTO() { IsSuccess = true, TransactionId = new Guid(), }; mockPaymentGateService.Setup(x => x.MakePayment(card)).Returns(result); _paymentGatewayController = new PaymentGatewayController(mockPaymentGateService.Object); JsonResult paymentInfo = _paymentGatewayController.ProcessPayments(card); Assert.AreEqual(result, paymentInfo.Data); }
public static AdTypeViewModel Get(CardDetailDTO card) { return(Get(card.Ad.Type)); }
private void Formatter(CardDetailDTO ad) { ad.Owner.CellPhone = ad.Owner.CellPhone.PhoneFormat(); ad.Owner.Phone = ad.Owner.Phone.PhoneFormat(); }
public JsonResult ProcessPayments(CardDetailDTO cardDetail) { var result = _service.MakePayment(cardDetail); return(Json(result, JsonRequestBehavior.AllowGet)); }