public async Task DisableAsync(string token) { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PutAsync("token/single/" + token + "/disable", null)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); }
public async Task <TokenMultiInfo> GetAsync(string token) { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.GetAsync("token/multi/" + token)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); return(await resp.Content.ReadAsAsync <TokenMultiInfo>().ConfigureAwait(false)); }
public async Task <CaptureAuthorizationResponse> CaptureAsync(string transactionId) { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PutAsync("payment/" + transactionId + "/capture", null)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); return(await resp.Content.ReadAsAsync <CaptureAuthorizationResponse>().ConfigureAwait(false)); }
public async Task <TransactionInfo> GetTransactionAsync(string transactionId) { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.GetAsync("payment/" + transactionId)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); return(await resp.Content.ReadAsAsync <TransactionInfo>().ConfigureAwait(false)); }
public async Task <ValidationResponse> PaResValidationAsync(string PARes) { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PostAsJsonAsync("mpi/v2/validation", new { PARes })) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); return(await resp.Content.ReadAsAsync <ValidationResponse>().ConfigureAwait(false)); }
public async Task <EnrollmentResponse> EnrollAsync(EnrollmentRequest req) { return(await Policy <EnrollmentResponse> .HandleResult(r => IsRetryableMdStatus(r.MdStatus)) .WaitAndRetryAsync(2, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))) .ExecuteAsync(async() => { var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PostAsJsonAsync("mpi/v2/enrollment", req)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); return await resp.Content.ReadAsAsync <EnrollmentResponse>() .ConfigureAwait(false); }) .ConfigureAwait(false)); }
public async Task <TokenSingleResponse> CreateAsync(TokenSingleRequest req) { var tokenRes = new TokenSingleResponse(); var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PostAsJsonAsync("token/single", req)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); tokenRes.Token = await resp.Content.ReadAsAsync <TokenSingleInfo>() .ConfigureAwait(false); if (resp.Headers.Location != null) { tokenRes.Uri = resp.Headers.Location.AbsoluteUri; } return(tokenRes); }
public async Task <TokenMultiResponse> CreateAsync(TokenMultiRequest req) { // See notes in PaymentAPI if (req.VerifyCard != null && req.VerifyCard.Currency != Currency.JPY.ToString()) { req.VerifyCard.CheckAmount *= 100; } var tokenRes = new TokenMultiResponse(); var resp = await DefaultPolly.Policy() .ExecuteAsync(() => _client.PostAsJsonAsync("token/multi", req)) .ConfigureAwait(false); await HandleErrorResponseAsync(resp).ConfigureAwait(false); tokenRes.Token = await resp.Content.ReadAsAsync <TokenMultiInfo>().ConfigureAwait(false); if (resp.Headers.Location != null) { tokenRes.Uri = resp.Headers.Location.AbsoluteUri; } return(tokenRes); }