Adyen Plugin — Documentation¶
WooCommerce Adyen is a payment gateway plugin that integrates the Adyen payment platform with WooCommerce. It handles checkout payments (credit card, iDEAL), subscription renewals, and Adyen webhook notifications.
Contents¶
Overview¶
The plugin is structured around the Adyen PHP namespace (inc/) with JavaScript assets in src/.
Key modules¶
| Module / Class | Responsibility |
|---|---|
Gateway\CreditCard | WooCommerce payment gateway for credit card payments |
Gateway\IDEAL | WooCommerce payment gateway for iDEAL |
Modules\SubscriptionsManager | Handles WooCommerce Subscriptions renewal payments |
Modules\NotificationScheduler | Schedules processing of incoming Adyen notifications |
Backend\OrderNotifications | Processes and stores Adyen webhook events on orders |
API\Populator | Builds Adyen API request payloads |
Modules\SettingsPage | Admin settings page for API credentials and options |
Payment flow¶
sequenceDiagram
participant Customer
participant WooCommerce
participant Plugin
participant Adyen
Customer->>WooCommerce: Place order
WooCommerce->>Plugin: process_payment()
Plugin->>Adyen: POST /payments
Adyen-->>Plugin: Payment result
Plugin-->>WooCommerce: Return success/failure
Adyen->>Plugin: Webhook notification (async)
Plugin->>WooCommerce: Update order status Subscription renewals¶
When WooCommerce Subscriptions triggers a renewal, SubscriptionsManager calls the Adyen API using the stored recurring payment token (recurringDetailReference) for the customer.
Webhook notifications¶
Adyen sends signed webhook events to the plugin's REST endpoint. Each notification is:
- Validated using the HMAC signature.
- Stored via
Data\NotificationStore. - Processed asynchronously by
NotificationSchedulervia WP-Cron.
Stack¶
- PHP 7.4+ — PSR-4 autoloading via Composer (
Adyen\namespace →inc/) - WordPress / WooCommerce — hooks, CRUD API, HPOS-compatible
- JavaScript — Laravel Mix (webpack), Vue.js for order notification UI
- Adyen PHP API Library (
adyen/php-api-library ^8.0)