Use our Magento plugin to process in-store payments with our Terminal API.
For a list of supported terminals, refer to our Terminal API Overview.
Before you begin
Set up a separate merchant account for processing POS payments. For more information about Adyen account structure, refer to Company and merchant accounts.
Step 1: Set up point of sale in Magento
Log in to your Magento admin panel.
In the main menu, go to System > Configuration.
In the left navigation bar, go to Sales > Payment Methods.
Go to the Point of sale (POS) with Terminal API section, and fill out the following fields:
Field |
Description |
---|---|
Enabled |
Select
Yes
to enable POS payments.
|
Merchant Account for Terminal API |
Name of your Adyen merchant account that is used to process POS payments. |
Keep the Point of sale (POS) with Terminal API section open. In the following steps, you will need to copy here several settings from the Adyen Customer Area.
Checkout appearance
If you allow self-service checkout in a store, use the following fields to specify the appearance of the POS payment method in your checkout:
Field |
Description |
---|---|
Title |
The title that indicates the POS payment method during checkout.
|
Sort Order |
The position of the POS payment method during checkout. |
Step 2: Connect your Magento store to the Terminal API
To connect your Magento store to the Terminal API, you need to generate an API key in the Adyen Customer Area, and copy it over to the Magento admin panel.
Generate an API key
- Log in to your Customer Area.
- Navigate to Account > Users, and click the user ws@Company.[YourCompanyAccount].
Under Authentication, click Generate New API Key.
Don't forget to copy and securely store the API Key in your system. If you lose this API Key you won't be able to restore it later.
- Click Save at the bottom of the page.
Set up the API key in Magento
- In your Magento admin panel, go to the Point of sale (POS) with Terminal API section.
- In the API key for Terminal API TEST (LIVE) box, enter your API key from the Adyen test (live) Customer Area.
Step 3: Set up capture delay
- Authorisation – The payment details of the shopper are verified and the funds are reserved.
- Capture – The reserved funds are transferred from the shopper to your account.
For payment methods that support separate authorisation and capture, you can specify a delay between authorisation and capture. This allows you to handle cases where the shopper changes their mind about the purchase.
The capture delay setting does not affect Alipay, WeChatPay, and some other wallets, as these payment methods are always completed in one step.
Set up capture delay in the Adyen Customer Area
- Log in to the Adyen Customer Area with your merchant-level account.
- Go to Account > Settings.
- On the POS Capture Delay drop-down menu, select the capture delay that you wish to use.
Possible values:
immediate: Capture is performed immediately after authorisation.
[N] minutes/hours/days: Capture is performed [N] minutes/hours/days after authorisation.
We recommend that you set a capture delay of 2 hours, for cases where the shopper changes their mind about the purchase.
manual: You need to capture each payment manually by creating an invoice in Magento. This is useful if you wish to perform a partial capture in case some goods can not be delivered to the shopper.
When you capture a part of the authorised amount, the rest of the authorised amount is automatically cancelled.
- Click Submit.
Set up capture delay in Magento
- In your Magento admin panel, go to the Point of sale (POS) with Terminal API section.
- In the Capture Delay box, enter the POS Capture Delay that you set in your Adyen Customer Area.
Step 4: Set up a terminal
User roles
For account configuration, you need to have the Merchant POS Terminal Management Admin role. For more information, refer to User roles.
- Log in to the Adyen Customer Area with your company-level account.
- Go to Point-of-sale > Terminals.
- In the actions menu next to the search box, select Account configuration.
- Click the Terminal Api tab.
- Set Enable terminal API to Yes.
- Set Enable websockets to Yes.
Connect the terminal to Magento
To connect a terminal to Magento, you need to copy the unique terminal ID to your Magento admin panel:
- In your Magento admin panel, go to the Point of sale (POS) section.
- In the Unique Terminal ID for Cloud API box, enter the unique terminal ID of your terminal.
The unique terminal ID = [Device model]-[Serial number], for example: MX925-260193322.
To find the serial number of your terminal:
- Press 5 on the terminal, and then press
.
This opens the quick info menu, and displays the serial number.
You can also find the device model and the serial number of the terminal in the Adyen Customer Area, under Point-of-sale > Terminals.
Step 5 (optional): Set up recurring payments
If you want to save the payment details of a shopper who is making a POS payment, you need to choose the type of recurring contract that you want to use:
Recurring payments
For more information about recurring transaction types, refer to Recurring payments.
- In your Magento admin panel, go to the Point of sale (POS) with Terminal API section.
- Set Agreement type to the type of the recurring contract that you want to use. Possible values:
- NONE – Do not enable stored payment methods.
- ONECLICK – Enable stored payment methods for one-click transactions, where the shopper needs to enter their CVC/CVV to complete the payment.
- RECURRING – Enable stored payment methods for recurring transactions, where you can complete the payment without the shopper being present.
- ONECLICK, RECURRING – Enable stored payment methods for both one-click and recurring transactions.
See also