Adyen APIs Postman collections
Fork our Postman collections in your private workspace to start testing API calls with your own credentials.
On this page, you can learn about the steps required to integrate Adyen's payment processing capabilities to your platform, and how to take your integration live.
Before you start building your integration, make sure that you have already designed your implementation with your Adyen implementation manager.
Not yet in touch with Adyen? Contact us to register your interest for Adyen for Platforms.
Review your account structure
Before you start the integration process, you must be familiar with the Adyen account structure. You’ll need this information when building the different parts of your implementation.
Every Adyen for Platforms integration must have at least the following resource types:
- Company account: Represents your core business entity and holds your merchant accounts.
- Merchant account: The account where we process payments for your users. You can have multiple merchant accounts.
- Store: Ensures that the transactions you process for your users correspond to an accurate payer statement.
- Balance platform: The accounting system in which you manage your users and funds.
- Account holder: Specifies what your user can do in your platform, for example, receive fund transfers to their balance account and payouts to their verified transfer instrument (bank account).
- Balance account: Holds the funds of your user or your platform. All financial activities in your platform, such as paying out to a bank account, happen through balance accounts.
- Legal entity: Contains information about your user, for example, the legal name, address, and tax information of the organization. Adyen uses this information to perform verification checks required by payment industry regulations.
- Transfer instrument: Your user's verified bank account where they can receive payouts.
- Business line: Contains information about your user's line of business, including their industry and source of funds.
For details on the different account structures and example use cases, see Account structures.
Get ready for development
At the end of this section you should have the API keys and the webhook configuration that you need to start integrating.
Check out Adyen’s server-side libraries
Adyen provides server-side API libraries in several languages. Installing a library is not required, but will save you development time, because a library:
- Uses the latest API version.
- Has generated models and examples to help you construct requests.
- Sends the request to Adyen using its built-in HTTP client, so you do not have to create your own.
Pick a library in the language of your choice and follow the installation instructions.
Generate and test your API keys
Adyen is an API-first payment service provider, which means that you must integrate with our APIs to build and customize your implementation. You can generate your API credentials in your Customer Area.
You need credentials for the following APIs:
API | Credential | Description |
---|---|---|
Configuration API Transfers API Foreign Exchange API Session authentication API |
ws@BalancePlatform.[YourBalancePlatform] | Use these APIs to create account holders and balance accounts, schedule payouts, transfer funds, make one-off payouts and calculate amounts in different currencies. Use the Session authentication API with this API credential to create session tokens for integrating Platform Experience components. |
Legal Entity Management API Session authentication API |
ws_[123456]@Scope.Company_[YourCompanyAccount] | Use the Legal Entity Management API to create and manage legal entities that contain the information required for verification checks. Use the Session authentication API with this API credential to create session tokens for integrating Onboarding components. |
Checkout API Management API |
ws@Company.[YourCompanyAccount] | Use these APIs to process payments and manage payment methods, stores, and automatic split payments for your users. |
To verify that your test API credentials are working, make your first requests.
Use the API key for your ws@BalancePlatform.[YourBalancePlatform] API credential.
curl https://balanceplatform-api-test.adyen.com/bcl/v2/balancePlatforms/{id} \ -H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \ -H 'content-type: application/json' \ -X GET
If the call was successful, you receive an HTTP 200 result code along with the id
and status
of your balance platform.
{ "id": "YOUR_BALANCE_PLATFORM_ID", "status": "Active" }
Set up webhooks
Webhooks are a crucial part of your integration. Adyen sends webhooks to communicate events in your platform, such as if your user needs to provide additional information for onboarding, or when their funds have been paid out.
- Set up webhook endpoints on your server and build the logic for acknowledging webhooks.
- Configure webhooks in your Customer Area.
- Secure webhooks with HMAC signing.
Integrate components
To reduce implementation time and effort, take advantage of Adyen's prebuilt component libraries that you can seamlessly integrate into your user interface.
Components simplify the process of collecting user input for payments or during onboarding, and allows you to showcase interactive dashboards to your users, such as an overview of their transactions and other reporting data.
- Create an authentication session from your server
Create a session token to ensure secure communication between the component and the Adyen server. - Install the component library in your front end
Install the npm package, then import the library, component, and style sheet in your front-end application. - Initialize the component
- Gather the required information on the specific library and component you want to integrate.
- Create a DOM element on your user interface page where you want the component to be rendered.
- Add a function that calls your API to retrieve and refresh an authentication session token.
- Initialize the component and mount it to the DOM element you created.
- Customize the component(s)
Customize the component to match your platform's look and feel.
Some components may require additional steps or conditions.
Onboard and verify users
Before you can start processing payments for your users and pay out to them, Adyen needs to verify their information.
You can choose from the following types of onboarding:
Hosted onboarding (recommended): Your users are directed to a page hosted by Adyen, where Adyen manages the onboarding flow and user interface. Adyen offers two different ways to implement hosted onboarding:
- Onboarding on invite: In your Customer Area, request Adyen to create an account holder for your user. You then create a hosted onboarding link to redirect your user to enter their information.
- API-initiated: Create resources and a hosted onboarding link by making API calls to several endpoints, and redirect your user to enter their information.
API-only onboarding: Build your own UI and collect required user data. You make API requests to create resources and submit the user data to Adyen. This onboarding type gives you complete control over the user journey within your platform's environment.
Choose the option that best suits your use case.
- Request an account holder
In your Customer Area, request an account holder. Adyen then automatically creates all required resources and configures the default payment methods for your user. - Create and share a hosted onboarding link
Create a hosted onboarding link. Choose one of the following options:- Create a hosted onboarding link in your Customer Area to share it with your user after their account is created. Your user can securely access the hosted onboarding link with an SMS authentication. They then will be redirected to the Adyen-hosted page to provide their information.
- Integrate the View Verification Status component into your user interface (UI). This component automatically creates a hosted onboarding link, redirects your user to the Adyen-hosted page, and shows their verification status.
- Get updates about an account holder
Receive a notification after your account holder is onboarded by listening to the Low-code onboarding webhook. - Optional: Get verification updates
Get verification status updates via webhooks, and resolve verification errors if necessary. You can skip this step if you choose to integrate the View Verification Status component. - Optional: Create additional stores
After onboarding your user, you can create additional stores for your user in your Customer Area. - Optional: Request additional payment methods
If you want to accept payments using payment methods other than the default ones, you can request them using the Management API.
Process payments
Build your payments integration
Online payments: Build an Adyen online payments integration and checkout UI. After you build your integration, you can accept payments with cards, wallets, and local payment methods on your website and mobile app.
In-person payments: Integrate your POS app with Adyen's terminals and Terminal API. After you finish your integration, you can accept payments at the point of sale using Adyen's payment terminals.
Start processing payments
To make sure that the pay-in, settlement, and payout processes run smoothly, you must book the incoming funds and fees to the correct balance accounts. This means that you have to include information on how to split the funds between your users' balance accounts and your platform's liable balance account.
You can configure your user's store to automatically apply your billing logic to all payments by creating split configuration profiles. For example, you can deduct your platform's commission and the transaction fees, or choose how to book potential chargebacks. This means that you do not need to send split instructions in every payment, capture, refund, or chargeback.
- Create split configuration profiles
Create profiles with the conditions that determine how to split the transaction amount between balance accounts. - Link the profile to you user's store
Associate the split configuration profile with your user's store.
Pay out
Pay out funds to your user's bank account.
- Listen to webhooks
Learn which webhooks Adyen sends to inform your server of payout events. - Make scheduled payouts
Set up scheduled payouts. - Pay out on demand
Make on-demand payouts.
Transfer funds
Move funds between balance accounts in your balance platform, for example, to cover subscription fees or pass through chargeback costs.
- Listen to webhooks
Learn which webhooks Adyen sends to inform your server of internal transfer events. - Make scheduled transfers
Set up scheduled transfers. - Transfer funds on demand
Send funds or initiate an internal direct debit between balance accounts within your balance platform. - Return transferred funds
Return funds to the original balance account without creating a new transfer.
Accounting and reconciliation
Use reports to reconcile payments and balances in your system.
- Set up your reports credentials
Your Adyen contact will provide you with a reports credential, which you'll need if you want to programmatically download reports. - Download reports
Listen to the balancePlatform.report.created webhook to know when a report is generated and ready to be downloaded. To download a report, you must authenticate your GET requests with your report credentials. - Reconcile using reports
Familiarize yourself with the common reconciliation processes at Adyen.
Go live
To take your Adyen for Platforms integration live, you need to apply for a live account. When you have your live account, follow the steps below to take your integration live.
- Replicate your test account setup
The setup from your test Adyen for Platforms account is not replicated to your live Adyen for Platforms account automatically. - Update your code base
- Switch to live API credentials
Get your live API credentials from your Adyen contact. Use these credentials in your live account. - Switch from test to live endpoints
Change the endpoints fromtest
tolive
. For example,https://balanceplatform-api-test.adyen.com/
to
https://balanceplatform-api-live.adyen.com/
. - Run end-to-end tests
- Live API credentials: Make your first live API request to make sure that your live API credentials are working.
- Legal entities: Confirm that you can create legal entities.
- Account holders and balance accounts: Confirm you can create and retrieve account holders and balance accounts.
- Payments:
- Test successful payment scenarios.
- Test your error handling scenarios, for example, when payments are declined.
- Payouts: Confirm that your scheduled or on-demand payouts are working as expected.
- Verification errors: Test your error handling scenarios when onboarding users.
- Webhooks: Confirm that you can receive and accept webhooks in the live environment.
- Reports: Confirm that you can download reports in the live environment.