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()))); } }