public async Task <IActionResult> Refund([FromBody] RefundRequest model)
        {
            try
            {
                _log.Info("Refund requested, request details: " + model.ToJson());

                RefundResponse response = await _payInternalClient.RefundAsync(new RefundRequestModel()
                {
                    MerchantId         = User.GetMerchantId(),
                    PaymentRequestId   = model.PaymentRequestId,
                    DestinationAddress = model.DestinationAddress
                });

                _log.Info("Refund successfully requested, response details: " + response.ToJson());

                return(NoContent());
            }
            catch (RefundErrorResponseException ex)
            {
                _log.ErrorWithDetails(ex, details: new { errorCode = ex.Error?.Code.ToString(), model });

                return(BadRequest(ErrorResponse.Create(ex.Error?.Code.ToString())));
            }
        }