コード例 #1
0
        public void ShouldReturnProcessedSuccessPaymentFromCache()
        {
            Guid           bankingTransactionId     = Guid.NewGuid();
            Guid           merchantPaymentRequestId = Guid.NewGuid();
            PaymentRequest request = GetValidPaymentRequest();

            request.MerchantPaymentRequestId = merchantPaymentRequestId;

            var response = new TransactionResponse
            {
                BankTransactionId = bankingTransactionId,
                Status            = true,
            };

            _bankClient.ProcessTransaction(Arg.Is <TransactionRequest>(x => x.CardNumber == request.CardNumber && x.Amount == request.Amount)).Returns(response);
            var txResponse = _service.ProcessPayment(request);
            PaymentDetailsResponse details = _service.GetPaymentDetails(_merchantId, txResponse.PaymentGatewayTxId);

            AssetProcessDetails(details, request, txResponse, merchantPaymentRequestId, bankingTransactionId);
        }
コード例 #2
0
        public IActionResult GetPaymentDetails(string paymentId)
        {
            try
            {
                _logger.LogInformation($"Retrieving payment detals for  payment ID : {paymentId} ...");
                var details = _paymentService.GetPaymentDetails(paymentId);

                if (details == null)
                {
                    _logger.LogInformation($"No payment details found for  payment ID : {paymentId}.");
                    return(NotFound());
                }

                _logger.LogInformation($"Retrieving payment detals for  payment ID : {paymentId} ...");
                return(Ok(details));
            }
            catch (Exception e)
            {
                _logger.LogError($"Issue getting payment details for payment Id {paymentId}. {e}");
                return(NotOk());
            }
        }