On this page we provide an overview of the steps for building a point-of-sale integration with Adyen.
Create an Adyen test account
The starting point is your Adyen test account.
Sign up for a test account.
We'll send you the Admin login credentials for your test Customer Area. In the Customer Area you can manage your account, order terminals, view transactions, add users, and so on.
When you sign up, use real details. Entries with "test" or email addresses containing @gmail.com or @hotmail.com might be discarded automatically.
Determine and set up your account structure.
Under your company account you create one or more merchant accounts that either represent stores or have stores underneath. You can add more merchant accounts and stores later, but it's important to create a structure that resembles what you plan to have when you go live.
Add users (you can also do this at a later stage):
- Create additional Customer Area users for your team members and assign roles. This enables them to log in to the Customer Area with their own email and password and do tasks there.
Create additional web service users. These are also called system users because the system uses web service users and roles for background processes that require authentication.
When you sign up, we create a default ws@Company.[YourCompanyAccount] web service user for your test account. This allows you to process test payments, but we recommend that you add more web service users. For example, one for each merchant account, or one for point of sale and one for ecommerce.
Scope your point-of-sale integration
The next step is to investigate your options.
Read about the ways to communicate with the Adyen payments platform and choose your integration architecture.
Take the time to learn the fundamentals:
Determine the features you want to support.
- Determine your encryption needs.
By default, we protect payment messages with our End-to-End Encryption (E2EE) solution, but we also offer Point-to-Point Encryption (P2PE). Both are equally secure. If you require P2PE, you need to inform us because we then need to provide different software on your terminals.
Choose payment terminals
Now let's focus on the devices for processing payments. These devices are sometimes referred to as pin entry devices (PED) or points of interaction (POI), but we call them terminals.
Select the terminal models that suit your business.
Order test terminals from your test Customer Area.
- Board your terminals, to associate them with a store and make them ready to accept payments.
Set up the features that your payment terminals should support.
Enable Terminal API on your Customer Area company account.
Add payment methods that your terminals should accept in addition to the global credit cards and Maestro, which are supported out-of-the-box.
- Configure the payment features that are in the scope you decided on.
Apart from configuring payment features you could also customize your terminals.
Build your integration
Now you can start building your integration, and then test if everything works.
Depending on the integration architecture that you chose, either:
- Build a local integration.
- Build a cloud integration. For a cloud integration also generate an API key to authenticate your API requests.
This involves configuring your network, optionally installing an API library, and building a flow for receiving the result of payments.
Make payments using your test terminals and test cards.
- Test the happy flow.
- Test non-happy flows such as timeouts and connection problems.
- Simulate various acquirer responses to test your handling of declined transactions.
Test different card types and CVMs.
- Cancel payments, both from the cash register and from the terminal.
- Refund payments, both with and without reference to an original transaction.
Test the payment features that you want to support.
- Ensure your reconciliation is working.
After testing your integration for all the features you plan to use, you can take your integration live.
- Apply for a live account.
This process takes some time, so you may want to do this in parallel with a previous phase.
- When you receive login credentials for your live account, set up your live account structure.
- Configure your live account with the payment methods and features that you require.
- Add web service (system) users and Customer Area users. Note that we don't create a default web service user for your live account.
- Order terminals for live payments and configure them.
- Add a payout account to each of your live merchant accounts.
- Update your code:
- For a cloud integration, generate a new API key and switch to the live endpoints and the new API key.
- For a local integration, secure the communication with the LIVE terminal certificate (or use a library).
- Do end-to-end tests, from making a payment with a real card to completing your reconciliation.