Beispiel #1
0
 public PaymentsController(IPaymentManager paymentManager, IPaymentMapper paymentMapper, IErrorToApiErrorCodeMapper errorToApiErrorCodeMapper, IPaymentRequestValidator paymentRequestValidator)
 {
     _paymentManager            = paymentManager;
     _paymentMapper             = paymentMapper;
     _errorToApiErrorCodeMapper = errorToApiErrorCodeMapper;
     _paymentRequestValidator   = paymentRequestValidator;
 }
Beispiel #2
0
        public MakePaymentResult MakePayment(MakePaymentRequest request)
        {
            var result = new MakePaymentResult();

            Account account = _accountDataStore.GetAccount(request.DebtorAccountNumber);
            if (account != null)
            {
                IPaymentRequestValidator paymentRequestValidator = _paymentSchemeValidatorService.GetPaymentSchemeValidator(request.PaymentScheme);
                if (paymentRequestValidator == null)
                {
                    result.Success = false;
                }
                else
                {
                    result.Success = paymentRequestValidator.IsValid(account, request);
                }
            }

            if (result.Success)
            {
                account.Balance -= request.Amount;
                _accountDataStore.UpdateAccount(account);
            }

            return result;
        }
Beispiel #3
0
        public void OneTimeSetUp()
        {
            _dateService = Substitute.For <IDateService>();
            _logger      = Substitute.For <ILogger <PaymentGatewayService> >();
            _validator   = new PaymentRequestValidator(_dateService);

            _dateService.GetCurrentDate().Returns(new DateTime(2020, 8, 1));
        }
Beispiel #4
0
 public PaymentService(
     IUnitOfWork accountRepo,
     IPaymentFactory paymentFact,
     IPaymentRequestValidator paymentValidator
     )
 {
     _accountRepo      = accountRepo;
     _paymentFact      = paymentFact;
     _paymentValidator = paymentValidator;
 }
Beispiel #5
0
        public PaymentRequestHandler(
            IPaymentRequestRepository repository,
            IPaymentRequestValidator validator,
            IBankService bankService,
            ILogger logger)
        {
            _logger = logger;
            _logger?.LogTrace($"Creating a {nameof(PaymentRequestHandler)}");

            _repository  = repository ?? throw new ArgumentNullException(nameof(repository));
            _validator   = validator ?? throw new ArgumentNullException(nameof(validator));
            _bankService = bankService ?? throw new ArgumentNullException(nameof(bankService));
        }
 public PaymentRequestService(IPaymentRequestRepository _paymentRequestRepository, IPaymentRequestValidator _paymentRequestValidator)
 {
     _repository = _paymentRequestRepository;
     _validator  = _paymentRequestValidator;
 }
Beispiel #7
0
 public PaymentService(IPaymentRepository repository, IBankService bankService, IPaymentRequestValidator validator)
 {
     _paymentRepository = repository;
     _bankService       = bankService;
     _requestValidator  = validator;
 }
Beispiel #8
0
 public PaymentController(IAcquiringBank acquiringBank, IPaymentStorage paymentStorage, IPaymentRequestValidator paymentRequestValidator)
 {
     this.acquiringBank           = acquiringBank;
     this.paymentStorage          = paymentStorage;
     this.paymentRequestValidator = paymentRequestValidator;
 }
Beispiel #9
0
 public void SetUp()
 {
     _validator = new PaymentRequestValidator(_dateService);
 }
Beispiel #10
0
 public void Initialise()
 {
     _validator = GetValidator();
     _payment   = new PaymentRequest("1234567891234567", DateTime.Now.AddYears(1), 10.51M, "GBP", 123);
 }
Beispiel #11
0
 public PaymentRequestValidatorTests()
 {
     _sut = new PaymentRequestValidator();
 }
Beispiel #12
0
 public PaymentGatewayService(IBankClient bankClient, IPaymentRequestValidator paymentRequestValidator, ILogger <PaymentGatewayService> logger)
 {
     this._bankClient = bankClient;
     this._paymentRequestValidator = paymentRequestValidator;
     this._logger = logger;
 }