Adyen-for-platform icon

Integration and go-live checklist

Checklist for building and taking your Adyen for Platforms integration live.

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 don't 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
ws@BalancePlatform.[YourBalancePlatform] Use these APIs to create account holders and balance accounts, schedule payouts, transfer funds, or make one-off payouts.
Legal Entity Management API ws_[123456]@Scope.Company_[YourCompanyAccount] Use this API to create and manage legal entities that contain the information required for verification checks.
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.

If the call was successful, you receive an HTTP 200 result code along with the id and status of your balance platform.

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.

  1. Set up webhook endpoints on your server and build the logic for acknowledging webhooks.
  2. Configure webhooks in your Customer Area.
  3. 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.

Adyen for Platforms 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.

  1. Gather resource IDs
    Get the resource IDs linked to the user, and determine which role is required for the use of the component.
  2. Get authentication session token
    Generate a session token for secure communication between backend and frontend.
  3. Install and import the npm package
    Install the node package, and import the package and the style sheet in your application
  4. Initialize the component
    1. Gather the required information on the specific library and component you want to integrate.
    2. Create a DOM element on your user interface.
    3. Add a function to generate an authentication session token.
    4. Initialize and mount the component to the container you created.
  5. Customize the component
    You can customize components to match your platform's look and feel.

Specific components may require additional steps or conditions.

Onboard and verify users

Before you can start processing payments for your users and paying out to them, Adyen needs to verify their information.

Adyen provides two ways to integrate the onboarding process into your implementation:

  • Hosted onboarding: This option involves implementing fewer API calls and allows you to redirect your user to an Adyen-hosted page, where we manage the onboarding flow and interface.
  • API-only onboarding: With this option, you need to develop your own UI and make API calls to gather and send user data to Adyen. This onboarding type gives you complete control over the user journey within your platform's environment.
  1. Identify and collect the required information
    Check the required information based on the country or region in which your user operates.
  2. Create legal entities
    Create the required legal entity resources for your user, including the main and supporting legal entities.
  3. Associate legal entities
    Link supporting legal entities to the main legal entity of your user.
  4. Create the account holder
    Create an account holder and link it to main legal entity.
  5. Create business lines
    Create business lines to provide Adyen with information about your users' line of business, such as their industry and sales channels.
  6. Create stores
    Create stores to ensure that payments are processed in a compliant manner and settled with the correct user.
  7. Add payment methods
    Configure which payment methods you want to accept in each store.
  8. Create the hosted onboarding link
    Generate the link for the onboarding page, through which your user can provide the information required for verification checks.
  9. Create balance accounts
    Create balance accounts to hold the funds of your user.
  10. Get verification updates
    Get verification status updates via webhooks, and resolve verification errors if necessary.

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 don't need to send split instructions in every payment, capture, refund, or chargeback.

  1. Create split configuration profiles
    Create profiles with the conditions that determine how to split the transaction amount between balance accounts.
  2. 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.

  1. Listen to webhooks
    Learn which webhooks Adyen sends to inform your server of payout events.
  2. Make scheduled payouts
    Set up scheduled payouts.
  3. 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.

  1. Listen to webhooks
    Learn which webhooks Adyen sends to inform your server of internal transfer events.
  2. Make scheduled transfers
    Set up scheduled transfers.
  3. Transfer funds on demand
    Send funds or initiate an internal direct debit between balance accounts within your balance platform.
  4. 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.

  1. 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.
  2. 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.
  3. 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.

  1. 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.
  2. Update your code base
  3. Switch to live API credentials
    Get your live API credentials from your Adyen contact. Use these credentials in your live account.
  4. Switch from test to live endpoints
    Change the endpoints from test to live. For example, https://balanceplatform-api-test.adyen.com/ to
    https://balanceplatform-api-live.adyen.com/.
  5. 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.