Beispiel #1
0
        public PaymentRequest Map(CreatePaymentApiModel createPaymentApiModel)
        {
            if (createPaymentApiModel == null)
            {
                return(null);
            }

            return(new PaymentRequest
            {
                Amount = createPaymentApiModel.Amount,
                Currency = createPaymentApiModel.Currency,
                CardNumber = createPaymentApiModel.CardNumber,
                Cvv = createPaymentApiModel.Cvv,
                ExpiryDate = createPaymentApiModel.ExpiryDate,
                IdempotencyKey = createPaymentApiModel.IdempotencyKey
            });
        }
Beispiel #2
0
        public async Task <IActionResult> Create([FromBody] CreatePaymentApiModel createPaymentApiModel)
        {
            var paymentRequest = _paymentMapper.Map(createPaymentApiModel);

            var validationResult = _paymentRequestValidator.Validate(paymentRequest);

            if (validationResult.Error != ValidationErrors.none)
            {
                return(BadRequest(new ErrorResponse {
                    ErrorCode = _errorToApiErrorCodeMapper.Map(validationResult.Error),
                    ErrorMessage = validationResult.ErrorMessage
                }));
            }

            var payment = await _paymentManager.AddPayment(paymentRequest);

            return(Ok(_paymentMapper.Map(payment)));
        }