Skip to content

apimatic/adyen-dotnet-v2-sdk

Repository files navigation

Getting Started with AdyenApis

Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).

This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit online payments documentation.

Authentication

Each request to Checkout API must be signed with an API key. For this, get your API key from your Customer Area, and set this key to the X-API-Key header value, for example:

curl
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
...

Versioning

Checkout API supports versioning using a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.

For example:

https://checkout-test.adyen.com/v71/payments

Release notes

Have a look at the release notes to find out what changed in this version!, Configure and manage your Adyen company and merchant accounts, stores, and payment terminals.

Authentication

Each request to the Management API must be signed with an API key. Generate your API key in the Customer Area and then set this key to the X-API-Key header value.

To access the live endpoints, you need to generate a new API key in your live Customer Area.

Versioning

Management API handles versioning as part of the endpoint URL. For example, to send a request to this version of the /companies/{companyId}/webhooks endpoint, use:

https://management-test.adyen.com/v3/companies/{companyId}/webhooks

Going live

To access the live endpoints, you need an API key from your live Customer Area. Use this API key to make requests to:

https://management-live.adyen.com/v3

Release notes

Have a look at the release notes to find out what changed in this version!


Installation

Install this SDK into your application by adding a project reference to the SDK.

dotnet add reference <path-to-sdk>\AdyenApis.csproj

Usage

using AdyenApis;
using AdyenApis.Models;

string key = "1POdFZRZbvb...qqillRxMr2z";
AdyenApisClient client = new AdyenApisClient(new HttpClient(), new AdyenApisClientOptions(), key);

try
{
    string? idempotencyKey = /* value */;
    CardDetailsRequest? body = /* value */;
    Task<CardDetailsResponse> response = await client.GetCardDetails(idempotencyKey, body);
    // TODO: decide what happens when api call is successfully completed
}
catch (SdkException<VoidErrorResponse> ex)
{
    // TODO: decide what happens when api call is resulted in an error status code
}

Client Options

The following options are configurable in your client:

Parameter Description
RetryOptions The Retry options for the API Calls

Retry Options

The following fields are available in RetryOptions:

Parameter Type Description
Timeout TimeSpan Per-request timeout; cancels requests exceeding this duration.
Default: 100s
StatusCodesToRetry IReadOnlyList HTTP status codes that trigger a retry.
Default: 408, 429, 500, 502, 503, 504
HttpMethodsToRetry IReadOnlyList HTTP methods eligible for retry.
Default: GET, HEAD, PUT, OPTIONS
MaxRetries int Maximum number of retry attempts.
Default: 3
Delay TimeSpan Base delay before each retry attempt.
Default: 1s
BackOffFactor int Multiplier for exponential backoff (e.g., 2 doubles each attempt's delay).
Default: 2
UseExponentialBackoff bool Enables exponential backoff; when false, uses constant delay.
Default: true
MaxJitter TimeSpan Maximum random jitter added to delay to reduce contention.
Default: 500ms
OnRetry Action<Exception, TimeSpan, int> Callback invoked on each retry with the error/result, applied delay, and attempt number.
Default: null

Retries and BackOff

using AdyenApis;
using AdyenApis.Models;

AdyenApisClientOptions options =
    new AdyenApisClientOptions
    {
        RetryOptions = AdyenApis.Core.Configuration.RetryOptions.Default() with
        {
            MaxRetries = 5,
            Delay = TimeSpan.FromSeconds(2)
        }
    };


AdyenApisClient client = new AdyenApisClient(new HttpClient(), options, key);

// Make any API Call with HttpMethod GET
string? idempotencyKey = /* value */;
CardDetailsRequest? body = /* value */;
Task<CardDetailsResponse> response = await client.GetCardDetails(idempotencyKey, body);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages