public async Task CapturePayment(Guid paymentId, int amountInDanishKroner) { try { await _paymentsApi.CaptureAsync(paymentId, null, new CapturePaymentRequest { Amount = ConvertAmountToOrer(amountInDanishKroner) }); } catch (ApiException <ErrorResponse> e) { var errorResponse = e.Result; Log.Error( "MobilePay CapturePayment failed with HTTP {StatusCode}. ErrorCode: {ErrorCode} Message: {Message} CorrelationId: {CorrelationId}", e.StatusCode, errorResponse.Code, errorResponse.Message, errorResponse.CorrelationId); // FIXME Consider retry throw new MobilePayApiException(e.StatusCode, errorResponse.Message, errorResponse.Code); } catch (ApiException apiException) { LogMobilePayException(apiException); throw new MobilePayApiException(apiException.StatusCode, apiException.Message); } }