public async Task <IActionResult> MakePayment([FromBody] PaymentRequest paymentRequest)
        {
            try
            {
                if (ValidatePaymentRequest(paymentRequest))
                {
                    var result = await _paymentGateway.MakePaymentAsync(paymentRequest);

                    return(StatusCode(201, result));
                }

                return(StatusCode(422));
            }
            catch (Exception e)
            {
                _logger.LogError("Error Processing Payment", e);
                return(StatusCode(502));
            }
        }