adyen-apimatic-sdk
v1.0.1
Published
SDKs for Adyen APIs
Readme
Getting Started with Adyen APIs
Introduction
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/paymentsServer-side API libraries
We provide open-source server-side API libraries in several languages:
- PHP
- Java
- Node.js
- .NET
- Go
- Python
- Ruby
- Apex (beta)
See our integration examples for example uses of the libraries.
Developer resources
Checkout API is available through a Postman collection. Click the button below to create a fork, then set the environment variables at Environments > Adyen APIs.
Going live
To access the live endpoints, you need an API key from your live Customer Area.
The live endpoint URLs contain a prefix which is unique to your company account, for example:
https://{PREFIX}-checkout-live.adyenpayments.com/checkout/v71/paymentsGet your {PREFIX} from your live Customer Area under Developers > API URLs > Prefix.
When preparing to do live transactions with Checkout API, follow the go-live checklist to make sure you've got all the required configuration in place.
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}/webhooksGoing 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/v3Release notes
Have a look at the release notes to find out what changed in this version!
Install the Package
Run the following command from your project directory to install the package from npm:
npm install [email protected]For additional package details, see the Npm page for the [email protected] npm.
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
| --- | --- | --- |
| environment | Environment | The API environment. Default: Environment.Production |
| timeout | number | Timeout for API calls.Default: 30000 |
| httpClientOptions | Partial<HttpClientOptions> | Stable configurable http client options. |
| unstableHttpClientOptions | any | Unstable configurable http client options. |
| logging | PartialLoggingOptions | Logging Configuration to enable logging |
| apiKeyAuthCredentials | ApiKeyAuthCredentials | The credential object for apiKeyAuth |
| basicAuthCredentials | BasicAuthCredentials | The credential object for basicAuth |
The API client can be initialized as follows:
Code-Based Client Initialization
import { Client, Environment, LogLevel } from 'adyen-apimatic-sdk';
const client = new Client({
apiKeyAuthCredentials: {
'X-API-Key': 'X-API-Key'
},
basicAuthCredentials: {
username: 'Username',
password: 'Password'
},
timeout: 30000,
environment: Environment.Production,
logging: {
logLevel: LogLevel.Info,
logRequest: {
logBody: true
},
logResponse: {
logHeaders: true
}
},
});Configuration-Based Client Initialization
import * as path from 'path';
import * as fs from 'fs';
import { Client } from 'adyen-apimatic-sdk';
// Provide absolute path for the configuration file
const absolutePath = path.resolve('./config.json');
// Read the configuration file content
const fileContent = fs.readFileSync(absolutePath, 'utf-8');
// Initialize client from JSON configuration content
const client = Client.fromJsonConfig(fileContent);See the Configuration-Based Client Initialization section for details.
Environment-Based Client Initialization
import * as dotenv from 'dotenv';
import * as path from 'path';
import * as fs from 'fs';
import { Client } from 'adyen-apimatic-sdk';
// Optional - Provide absolute path for the .env file
const absolutePath = path.resolve('./.env');
if (fs.existsSync(absolutePath)) {
// Load environment variables from .env file
dotenv.config({ path: absolutePath, override: true });
}
// Initialize client using environment variables
const client = Client.fromEnvironment(process.env);See the Environment-Based Client Initialization section for details.
Environments
The SDK can be configured to use a different environment for making API calls. Available environments are:
Fields
| Name | Description | | --- | --- | | Production | Default |
Authorization
This API uses the following authentication schemes.
List of APIs
- Paymentlinks
- Account-Companylevel
- Account-Merchantlevel
- Account-Storelevel
- Payoutsettings-Merchantlevel
- Users-Companylevel
- Users-Merchantlevel
- My AP Icredential
- AP Icredentials-Companylevel
- AP Icredentials-Merchantlevel
- AP Ikey-Companylevel
- AP Ikey-Merchantlevel
- Clientkey-Companylevel
- Clientkey-Merchantlevel
- Allowedorigins-Companylevel
- Allowedorigins-Merchantlevel
- Webhooks-Companylevel
- Webhooks-Merchantlevel
- Paymentmethods-Merchantlevel
- Terminals-Terminallevel
- Terminalactions-Companylevel
- Terminalactions-Terminallevel
- Terminalorders-Companylevel
- Terminalorders-Merchantlevel
- Terminalsettings-Companylevel
- Terminalsettings-Merchantlevel
- Terminalsettings-Storelevel
- Terminalsettings-Terminallevel
- Androidfiles-Companylevel
- Splitconfiguration-Merchantlevel
- Payments
- Donations
- Modifications
- Recurring
- Orders
- Utility
SDK Infrastructure
Configuration
- HttpClientOptions
- RetryConfiguration
- ProxySettings
- Configuration-Based Client Initialization
- Environment-Based Client Initialization
- PartialLoggingOptions
- PartialRequestLoggingOptions
- PartialResponseLoggingOptions
- LoggerInterface
