public PaymentResult ProcessPayment(BasePaymentData paymentData) { CreditCardPaymentData creditCardData = paymentData as CreditCardPaymentData; CreditCardResult authResult = this.creditCardService.AuthorizeCreditCard(creditCardData.CreditCardNumber, creditCardData.ExpirationDate, creditCardData.Cvv, creditCardData.BillingZipCode, creditCardData.Amount); if (authResult.Authorized == true) { int referenceNumber = paymentsDao.SaveSuccessfulCreditCardPayment(creditCardData, authResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = creditCardData.CustomerAccountNumber, PaymentDate = creditCardData.PaymentDate, Success = authResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } else { int referenceNumber = paymentsDao.SaveFailedCreditCardPayment(creditCardData, authResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = creditCardData.CustomerAccountNumber, PaymentDate = creditCardData.PaymentDate, Success = authResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } }
public PaymentResult ProcessPayment(BasePaymentData paymentData) { EftPaymentData eftPaymentData = paymentData as EftPaymentData; EftAuthorization eftResult = this.eftProcessor.AuthorizeEftPayment(eftPaymentData.RoutingNumber, eftPaymentData.BankAccountNumber, eftPaymentData.AccountType, eftPaymentData.Amount); if (eftResult.Authorized) { int referenceNumber = paymentsDao.SaveSuccessfulEftPayment(eftPaymentData, eftResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = eftPaymentData.CustomerAccountNumber, PaymentDate = eftPaymentData.PaymentDate, Success = eftResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } else { int referenceNumber = paymentsDao.SaveFailedEftPayment(eftPaymentData, eftResult); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = eftPaymentData.CustomerAccountNumber, PaymentDate = eftPaymentData.PaymentDate, Success = eftResult.Authorized, ReferenceNumber = referenceNumber }; return(paymentResult); } }
public PaymentResult ProcessPayment(BasePaymentData paymentData) { foreach (var handler in PaymentHandlers) { if (handler.CanProcessPayment(paymentData)) { return(handler.ProcessPayment(paymentData)); } } throw new Exception("Unable to find processor to process payment"); }
public PaymentResult ProcessPaymentLinq(BasePaymentData paymentData) { var paymentHandler = PaymentHandlers.FirstOrDefault(handler => handler.CanProcessPayment(paymentData)); if (paymentHandler != null) { return(paymentHandler.ProcessPayment(paymentData)); } else { throw new Exception("Unable to find processor to process payment"); } }
public PaymentResult ProcessPayment(BasePaymentData paymentData) { CheckPaymentData checkPaymentData = paymentData as CheckPaymentData; int referenceNumber = this.paymentsDao.SaveCheckPayment(checkPaymentData); PaymentResult paymentResult = new PaymentResult() { CustomerAccountNumber = checkPaymentData.CustomerAccountNumber, PaymentDate = checkPaymentData.PaymentDate, Success = true, ReferenceNumber = referenceNumber }; return(paymentResult); }
public bool CanProcessPayment(BasePaymentData paymentData) { return(paymentData.PaymentType == PaymentType.CREDIT_CARD); }
public bool CanProcessPayment(BasePaymentData paymentData) { return(paymentData.PaymentType == PaymentType.EFT); }
public PaymentResult ProcessPayment(BasePaymentData paymentData) { throw new Exception("Unkown Payment Type"); }
public bool CanProcessPayment(BasePaymentData paymentData) { return(true); }
public int SaveUnknownPaymentType(BasePaymentData paymentData) { // Save an unknown Payment return(40); }