protected Task <TransactionResult> DoTransactionAsync(PaymentChangeRequest paymentRequest, Language language, IPaymentChangeClient paymentClient) { return(DoTransactionInternal(() => paymentClient.SendAsync(paymentRequest), paymentRequest, language, new PaymentChangeRequestValidator())); }
public async Task <TransactionResult> MakeTransactionAsync(decimal amount, Currency currency, string orderNumber, Language language, IRequestValidator <PaymentChangeRequest> validator, IPaymentChangeClient client) { if (client.transactionType != TransactionType.Void) { throw new TransactionTypeMismatchException("Void transation cannot accept client that was initialized with transactionType" + client.transactionType); } PaymentChangeRequest paymentRequest = requestBuilder.Build(amount, currency, orderNumber, wbpayIntegration, language); return(await DoTransactionAsync(paymentRequest, language, validator, client)); }
protected TransactionResult DoTransaction(PaymentChangeRequest paymentRequest, Language language, IPaymentChangeClient paymentClient) { return(DoTransactionInternal(() => Task.FromResult(paymentClient.Send(paymentRequest)), paymentRequest, language, new PaymentChangeRequestValidator()).Result); }