Our plugin for Magento allows you to process both online and in-store payments, offering a consistent shopper experience regardless of their location or device. You can manage all orders in the Magento admin panel, and get a detailed insight into your shopper behavior in the Adyen Customer Area .
For a list of supported terminals, refer to our Terminal API Overview.
Before you begin
Set up a separate merchant account for processing point-of-sale (POS) payments. For more information about Adyen account structure, refer to Company and merchant accounts.
Step 1: Generate an API key
For authenticating API requests from your Magento platform, you need to provide an API key.
To generate an API Key:
- Log in to your Customer Area.
- Go to Developers > API credentials, and select the credential for your integration, for example ws@Company.[YourCompanyAccount].
- Under Authentication, select Generate New API Key.
- Copy and securely store the API key in your system — you won't be able to restore it later.
If your API key is lost or compromised, you need to generate a new one.
- Select Save at the bottom of the page.
You will need the API key later when configuring the plugin in Magento.
Before going live, make sure that your API credential has the Merchant PAL webservice role. If you need to enable this role, contact our Support Team.
Step 2: Set up capture delay
For all cards, the POS payment is completed in two steps:
- 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.
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 want to use.
- 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.
Step 3: Set up the terminal configuration
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.
Step 4: Set up the plugin in Magento
Log in to your Magento admin panel.
In the left navigation bar, go to Stores > Configuration.
On the menu, go to Sales > Payment Methods.
- Go to the Point of sale (POS) with Cloud API section, and fill out the following fields:
|Enabled||Select Yes to enable this payment method.|
|Title||The title that indicates the POS payment method during checkout.|
|Sort Order||The position of the POS payment method during checkout.|
|Merchant Account for Cloud API||Name of your Adyen merchant account that is used to process POS payments.|
|Agreement Type||(Optional) The type of recurring contract that you set in Adyen Customer Area.|
|Store ID for Cloud API||(Optional) Limit the terminal selection to a specific store in that merchant account.|
|API key for Cloud API TEST||Your API key from Adyen test Customer Area|
|API key for Cloud API LIVE||Your API key from Adyen live Customer Area.|
|Capture Delay||The capture delay that you set in Adyen Customer Area.|
|Payment from Applicable countries||You can optionally specify a list of countries where the POS payment method will be shown during self-service checkout.|
Step 5 (optional): Set up recurring payments
If you want to save the payment details of a POS shopper, you need to choose the type of recurring contract that you want to use:
For more information about recurring transaction types, refer to Recurring payments.
- In your Magento admin panel, go to the Point of sale (POS) with Cloud 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.