What is Adyen for Magento?
Short answer
Adyen is an enterprise payment platform from the Netherlands, and Adyen for Magento means running it through the official adyen/module-payment extension, which Adyen builds and maintains itself. One integration gives you cards plus a long list of local payment methods (iDEAL, SEPA, ACH, Klarna, Boleto, OXXO, GrabPay) behind one API. Pricing is interchange-plus, not a flat rate, so it tends to pay off for high-volume stores. The catch is onboarding: you sign a merchant agreement and go through KYC, so plan for weeks, not the same-day signup you get with Stripe.
- Install the official Adyen module with Composer 01
- Run setup:upgrade and flush the cache 02
- Enter the API key, HMAC key, Client Key and merchant account 03
- Drop-in renders at checkout and tokenises the card 04
- Webhooks at /adyen/notifications move the order state 05
Most common mistake Expecting Stripe-style 5-minute self-signup
Five steps from composer install to live webhook
This is the order I follow when I wire Adyen into a Magento 2.4 store, from composer to the first webhook that moves an order to processing.
-
01
Install the official Adyen module with Composer
From the Magento root I run
composer require adyen/module-payment. Adyen maintains this module itself, so it follows new Magento 2.4.x releases closely. I pin a version range incomposer.jsonand check the module’s release notes against the store’s exact Magento and PHP versions before I upgrade anything. If the store runs Hyvä, I also check which Hyvä compatibility package the module version needs. -
02
Run setup:upgrade and flush the cache
Next comes
bin/magento setup:upgrade, thensetup:di:compilein production mode, thenbin/magento cache:flush. The module adds its own admin configuration, a webhook controller, a cron job that processes notifications and the payment method renderers for checkout. On a production deploy I run this inside a maintenance window, never on a busy afternoon. -
03
Enter the API key, HMAC key, Client Key and merchant account
In the admin I open
Stores → Configuration → Sales → Payment Methodsand fill in the Adyen settings with values from the Adyen Customer Area: the API key, theHMAC Keythat signs webhooks, theClient Keyused by the browser-side Drop-in, and theMerchant Accountthat receives the funds. Test and live credentials stay separate. I always finish a full test order in test mode before the live keys go in. -
04
Drop-in renders at checkout and tokenises the card
At checkout the module shows the Adyen Drop-in, a web component that lists the payment methods enabled on your Adyen account for the shopper’s country and currency (iDEAL in the Netherlands, Klarna in Germany, Boleto in Brazil and so on). Card details are entered in Adyen’s fields and tokenised in the browser. Magento only receives the token, which keeps the card data off your server and your PCI scope small.
-
05
Webhooks at /adyen/notifications move the order state
Adyen confirms most results asynchronously. It POSTs events like
AUTHORISATION,CAPTURE,REFUNDandCHARGEBACKto/adyen/notifications. The module checks the HMAC signature, stores the notification, and theadyen_payment_process_notificationcron job updates the Magento order. So Magento cron has to be running. When orders sit in “pending payment” on an Adyen store, cron and the HMAC key are the first two things I check.
Four scenarios where Adyen is the obvious choice
For a small store selling in one country, Stripe or Braintree is usually less work. These are the cases where I tell clients Adyen is worth the contract.
-
High-volume stores where fees add up
Adyen charges interchange-plus: the card network’s interchange fee, which changes by card type and region, plus Adyen’s own fee per transaction. For a small store the difference from a flat-rate provider is often small. For a store with large card volume, paying close to the real interchange cost can lower the total fees. I ask clients to get a quote from Adyen and compare it with their last few months of statements before they decide.
-
Stores selling into many countries
One Adyen contract covers cards and local payment methods through one API: iDEAL in the Netherlands, SEPA Direct Debit across the EU, ACH in the US, Klarna in Germany and Austria, Boleto in Brazil, OXXO in Mexico, GrabPay in South-East Asia. Without it you end up with a separate payment provider, extension and settlement report for each region. Adyen also handles multi-currency settlement.
-
Marketplaces that pay out to sellers
Adyen for Platforms is the marketplace product. It can split a payment between several sellers, handles seller onboarding and KYC, and pays sellers out to their own bank accounts on a schedule. It fills the same role as Stripe Connect. On Magento this always needs custom work on top of the standard module, because the split rules depend on how your marketplace extension stores sellers.
-
Adobe Commerce and B2B stores
Adyen is a common choice on Adobe Commerce projects, and the module is supported on Adobe Commerce and Adobe Commerce Cloud as well as Magento Open Source. For B2B stores the points I check early are stored cards for repeat orders, which payment methods each company account should see, and how purchase orders and card payments live side by side at checkout.
Three mistakes that derail an Adyen-on-Magento launch
Every Adyen-Magento go-live I have rescued ran into at least one of these three. Spot them on day one, not the week before launch.
-
Expecting Stripe-style 5-minute self-signup
Adyen is not a Stripe-clone, you cannot self-signup on adyen.com, paste keys, and be live the same afternoon. Adyen requires a proper merchant agreement signed with their enterprise sales team, KYC documents, audited financials, and a discovery call to scope your transaction profile. Budget 4-8 weeks from first contact to live API keys. Start the Adyen conversation the same week you scope your Magento build, not the week before launch, otherwise you will miss your go-live date waiting on contract.
-
Skipping HMAC configuration for webhooks
Adyen signs every webhook with an HMAC and the module rejects unsigned or wrong-signed payloads silently, nothing in the admin UI tells you. Symptom: shoppers pay successfully on Adyen’s side, see the success page, but the Magento order stays in
pending_paymentforever and never transitions toprocessing. Diagnosis: tailvar/log/system.log, look forNotification HMAC validation failedorNotification rejected. Fix: copy the HMAC key from Adyen Customer Area → Webhooks intoStores → Configuration → Sales → Adyen → Webhook HMAC key. -
Underestimating B2B + recurring complexity
Recurring billing and tokenised B2B card-on-file flows have many edge cases that simply don’t exist on a Stripe-style consumer SMB integration. 3DS exemptions (TRA, low-value, MIT) need correct flagging or the issuer declines. MIT (merchant-initiated) vs CIT (cardholder-initiated) transactions need different shopperInteraction values, mislabel them and your decline rate doubles. Tokenised cards expire when the underlying card expires and you must request account-updater. Budget two extra weeks for a proper B2B Adyen integration.
Adyen for Magento: frequently asked questions
-
Adyen vs Stripe for Magento, when does Adyen win?
Adyen wins above roughly $50M annual GMV, above 10 countries served, and on any marketplace with sub-merchant payouts. Stripe wins on speed-to-launch (5 minutes vs 4-8 weeks), on developer experience (better docs, better dashboard, friendlier SDK), and on flat-rate pricing for stores under $50M GMV. Adyen also wins when you are on Adobe Commerce Cloud at enterprise tier, Adyen is Adobe's recommended PSP and is co-engineered into the platform. As a rule of thumb: if your CFO has to negotiate interchange fees with their bank already, you want Adyen. If your CFO sees credit-card pricing as a flat line item, Stripe is fine. -
How long does Adyen onboarding actually take?
4 to 8 weeks for most merchants, not the 5 minutes you get with Stripe. The path is: (1) sales discovery call where Adyen scopes your transaction profile, countries, average ticket size, and risk profile; (2) commercial agreement negotiation, where you agree the interchange-plus markup; (3) KYC, where you submit audited financials, beneficial-owner identification, and business documentation; (4) test API keys issued so you can build the Magento integration; (5) live API keys issued after Adyen risk-approves your test traffic. Highly-regulated verticals (travel, gambling, marketplaces) add another 2-4 weeks. Start the Adyen conversation the same week you scope your Magento build, not the week before launch. -
What does Adyen actually cost on Magento?
Interchange-plus pricing, you pay the raw card-network interchange fee (which varies by card type, region, and whether the card is consumer or commercial) plus an Adyen markup of typically 5-15¢ per transaction. On EU consumer Visa/MC debit, total all-in cost lands around 0.4-0.6%. On US consumer Visa/MC credit it lands around 2.0-2.4%. On commercial cards it can go up to 3%. The precise markup is negotiated, merchants doing $200M+ GMV regularly negotiate the markup down toward 3-5¢. The thing to know is that Adyen does NOT publish a public price card. Always benchmark against Stripe's 2.9% + 30¢ on your specific transaction mix before signing. -
Does Adyen work with Adobe Commerce Cloud?
Yes, and in fact Adyen is Adobe's explicitly-recommended enterprise PSP on Adobe Commerce Cloud. The Adyen module ships with Adobe Commerce Cloud staging and test environments pre-wired, Adobe Commerce Cloud customers can paste their Adyen test keys into the admin and run an end-to-end test transaction the same hour, with no infrastructure work. Production go-live still requires the standard Adyen merchant agreement, but the technical integration is fully baked in. Adobe Commerce B2B + Adyen is also the canonical enterprise stack for purchase-order workflows, tokenised B2B card-on-file, and ISO 20022 statement reconciliation. -
Does Hyvä Themes work with the Adyen Drop-in?
Yes, Adyen module version 9.x and later ships first-class Hyvä Themes compatibility. Earlier versions (7.x and 8.x) required a third-party Hyvä compatibility module to render the Adyen Drop-in inside a Hyvä checkout, but module 9.x fixed that natively. If you are on Magento 2.4.6+ and Hyvä 1.3+, you can installadyen/module-paymentvia composer and the Drop-in will render correctly inside the Hyvä checkout flow with no theme overrides. Hyvä also speeds up the Drop-in render measurably, the underlying Adyen web component is React-based, and Hyvä's lean Alpine.js shell wastes less time on JS boot than the default Luma checkout. -
Can Adyen handle marketplace split-payments on Magento?
Yes, the product is called Adyen for Platforms (formerly “MarketPay”) and competes directly with Stripe Connect. At authorisation time you specify how a single shopper payment splits across multiple sub-merchant accounts. Adyen handles KYC for the sub-merchants (driver licences, beneficial-owner identification, AML screening), holds funds in escrow, and pays each sub-merchant out on schedule to their own bank account. The Magento side requires a marketplace extension on top of the Adyen module, Marketplacer, Webkul Marketplace, or a custom build, that knows how to compute the split per order line. Strong fit for regulated marketplaces (travel, ticketing, B2B procurement) where Stripe Connect's lighter KYC isn't enough.
Planning an Adyen rollout on Magento?
Send your storefront URL and target launch date, I will scope module install, webhook HMAC, B2B recurring, and Adyen-for-Platforms split-payments if needed, then reply with a fixed-price quote and earliest start date. 24-business-hour turnaround.