public Task <ApiResult <ApiAlternativePaymentResponse> > CapturePaymentAsync(long paymentId, long amount, ApiAlternativePaymentRequest paymentRequest, CancellationToken cancellationToken) { paymentId.ThrowIfNotCondition(id => id > 0, nameof(paymentId)); amount.ThrowIfNotCondition(a => a > 0, nameof(amount)); paymentRequest.ThrowIfNull(nameof(paymentRequest)); cancellationToken.ThrowIfNull(nameof(cancellationToken)); var uri = GetCapturePaymentPartialUri(paymentId, amount); var request = paymentRequest.ToHttpRequest(HttpMethod.Post, uri); return(HttpClient.InvokeAsync <ApiAlternativePaymentResponse>(request, cancellationToken)); }
public Task <ApiResult <ApiAlternativePaymentResponse> > CreatePaymentAsync(ApiAlternativePaymentRequest paymentRequest, CancellationToken cancellationToken) { paymentRequest.ThrowIfNull(nameof(paymentRequest)); paymentRequest.Payment.ThrowIfNull(nameof(paymentRequest.Payment)); cancellationToken.ThrowIfNull(nameof(cancellationToken)); var validationResult = _paymentRequestValidator.Validate(paymentRequest.Payment); if (!validationResult.IsValid) { return(validationResult.ToValidationException().ToApiResult <ApiAlternativePaymentResponse>().ToAwaitable()); } var uri = GetPaymentUri(); var request = paymentRequest.ToHttpRequest(HttpMethod.Post, uri); return(HttpClient.InvokeAsync <ApiAlternativePaymentResponse>(request, cancellationToken)); }
public Task <ApiResult <ApiAlternativePaymentResponse> > CreateRecurrentPaymentAsync(ApiAlternativePaymentRequest paymentRequest, string idempotencyToken) { return(CreateRecurrentPaymentAsync(paymentRequest, idempotencyToken, CancellationToken.None)); }
public Task <ApiResult <ApiAlternativePaymentResponse> > CapturePaymentAsync(long paymentId, long amount, ApiAlternativePaymentRequest paymentRequest, string idempotencyToken) { return(CapturePaymentAsync(paymentId, amount, paymentRequest, idempotencyToken, CancellationToken.None)); }
public Task <ApiResult <ApiAlternativePaymentResponse> > CreatePaymentAsync(ApiAlternativePaymentRequest paymentRequest) { return(CreatePaymentAsync(paymentRequest, CancellationToken.None)); }