예제 #1
0
        public Task <ApiResult <ApiCardPayoutResponse> > InitiatePayoutAsync(ApiCardPayoutRequest payoutRequest,
                                                                             CancellationToken cancellationToken)
        {
            payoutRequest.ThrowIfNull(nameof(payoutRequest));
            cancellationToken.ThrowIfNull(nameof(cancellationToken));
            payoutRequest.Payout.ThrowIfNull(nameof(payoutRequest.Payout));

            var validationResult = _cardPayoutRequestValidator.Validate(payoutRequest.Payout);

            if (!validationResult.IsValid)
            {
                return(validationResult.ToValidationException().ToApiResult <ApiCardPayoutResponse>().ToAwaitable());
            }

            var uri     = GetPayoutUri();
            var request = payoutRequest.ToHttpRequest(HttpMethod.Post, uri);

            return(HttpClient.InvokeAsync <ApiCardPayoutResponse>(request, cancellationToken));
        }
예제 #2
0
 public Task <ApiResult <ApiCardPayoutResponse> > InitiatePayoutAsync(ApiCardPayoutRequest payoutRequest,
                                                                      string idempotencyToken)
 {
     return(InitiatePayoutAsync(payoutRequest, idempotencyToken, CancellationToken.None));
 }
예제 #3
0
 public Task <ApiResult <ApiCardPayoutResponse> > InitiatePayoutAsync(ApiCardPayoutRequest payoutRequest)
 {
     return(InitiatePayoutAsync(payoutRequest, CancellationToken.None));
 }