Why Connect Adyen to Odoo?
Adyen is an enterprise payment platform supporting online payments, in-person POS terminals, and mobile payments — all through a single integration. For Odoo businesses, Adyen provides global payment method coverage (credit cards, digital wallets, local payment methods), unified reporting, and advanced fraud protection. Odoo 17+ includes a native Adyen payment provider integration, making setup straightforward.
What Adyen Handles
| Payment Type | Methods | Odoo Context |
|---|---|---|
| Online | Cards, Apple Pay, Google Pay, iDEAL, Bancontact | eCommerce, customer portal |
| In-Person | Terminal (tap, chip, swipe) | Odoo POS |
| Recurring | Tokenized cards, SEPA Direct Debit | Subscriptions |
| Mobile | Mobile wallets, QR codes | Mobile POS |
Setup Steps
1. Adyen Account Configuration
- Sign up for an Adyen account at adyen.com
- Complete merchant onboarding (business verification, bank account)
- Create a merchant account in Adyen dashboard
- Configure payment methods (enable cards, wallets, local methods)
- Generate API credentials (API key, Client key, HMAC key)
2. Odoo Payment Provider Setup
- Go to Invoicing/Accounting → Configuration → Payment Providers
- Select Adyen from the list
- Enter your Adyen Merchant Account name
- Add API Key, Client Key, and HMAC Key
- Set environment (Test/Live)
- Configure supported payment methods and currencies
3. Webhook Configuration
- In Adyen dashboard, configure a Standard webhook
- Set the URL to your Odoo instance: https://yourodoo.com/payment/adyen/notification
- Enable relevant event types (AUTHORISATION, CAPTURE, REFUND, CANCEL)
- Generate HMAC key and add it to Odoo configuration
- Test the webhook with Adyen's test notification feature
4. POS Terminal Integration
For in-person payments:
- Order Adyen payment terminals (S1F2, S1E, or cloud-connected)
- Assign terminals to your Adyen merchant account
- Configure terminal in Odoo POS settings
- Map terminal to specific POS sessions
- Test card payments in Adyen test mode
5. Multi-Currency Configuration
- Enable desired currencies in Adyen dashboard
- Configure Odoo multi-currency settings
- Set up Adyen's Dynamic Currency Conversion if needed
- Handle settlement currency configuration
- Review exchange rate handling between systems
Payment Flow
Online Payment Flow
- Customer clicks "Pay Now" on Odoo invoice or checkout
- Odoo creates a payment session via Adyen API
- Adyen Drop-in component renders payment form
- Customer enters payment details and confirms
- Adyen processes and sends webhook notification
- Odoo records payment and marks invoice as paid
Refund Handling
- Initiate refund from Odoo credit note or payment reversal
- Odoo sends refund request to Adyen API
- Adyen processes refund (original payment method)
- Webhook confirms refund completion
- Odoo records refund in accounting
Common Pitfalls
- HMAC verification — Always verify webhook HMAC signatures. Unverified webhooks are a security risk.
- Idempotency — Adyen may send duplicate webhooks. Your Odoo handler must be idempotent.
- Capture timing — Configure auto-capture or manual capture based on your business (pre-auth for hotels, auto-capture for eCommerce).
- Test vs. Live — Always test thoroughly in Adyen's test environment before switching to live. Use Adyen's test card numbers.
Getting Started
Deploy Odoo on DeployMonkey with the Accounting or eCommerce module. Create an Adyen account, configure the payment provider in Odoo, and process your first test transaction. The native integration handles most use cases without custom development.