Mollie
Mollie handles one-time payments, subscriptions, plan changes, and refunds. It supports a wide range of European payment methods including iDEAL, Bancontact, SOFORT, and credit cards.
Setup
- Create a Mollie account
- In the Mollie Dashboard → Developers → API keys, copy your test and live API keys
- In Joomla admin → Components → LicenseDock → Gateways → Mollie
- Enter:
- Test API Key (
test_...) - Live API Key (
live_...)
- Test API Key (
- Set the mode to Test or Live
- Save
API keys are encrypted at rest with AES-256-CBC.
Webhook Setup
LicenseDock passes a webhook URL with each Mollie payment, so there's no separate webhook configuration in the Mollie Dashboard. Mollie hits:
https://yoursite.com/api/index.php/v1/licensedock/webhooks/mollieFor local development, set Webhook Base URL in Settings → Gateways to your tunnel URL (ngrok, Cloudflare Tunnel) – Mollie can't reach localhost.
Unlike Stripe and PayPal, Mollie webhooks don't carry a signature. LicenseDock verifies each notification by re-fetching the payment status from Mollie's API, so a forged webhook can't fake a paid status.
Events Handled
| Notification | Status | Action |
|---|---|---|
| Payment | paid | Completes the one-time order or records a subscription renewal |
| Payment | paid (with refund/chargeback) | Applies the refund or chargeback |
| Payment | failed | Marks the order failed (one-time) or records a dunning failure (subscription) |
| Payment | expired / canceled | Marks the order terminal |
Webhook handlers are idempotent – Mollie may send the same payment ID multiple times as the status changes, and LicenseDock handles that safely.
Plan Changes
| Mode | Behaviour |
|---|---|
| Immediate (net > 0) | PATCH the Mollie subscription, create a one-off payment using the existing mandate – no redirect |
| Immediate (net < 0) | PATCH the subscription, refund the difference on a refundable past payment |
| Scheduled | PATCH the subscription amount, takes effect on the next renewal |
Mollie has no native mid-cycle proration – LicenseDock handles deltas through one-off payments and refunds.
See Plan Change Behaviour for the full matrix.
Testing
- Use test keys (
test_...) and Mollie's test cards from the Mollie test mode docs - Mollie's free test mode accepts test cards without real charges
Supported Payment Methods
Mollie automatically displays available payment methods based on the customer's location:
- Credit and debit cards (Visa, Mastercard, Amex)
- iDEAL (Netherlands)
- Bancontact (Belgium)
- SOFORT / Klarna
- PayPal (via Mollie)
- SEPA Direct Debit
- Bank transfer
How Payments Work
- One-time – customer pays on Mollie's hosted page, returns, webhook completes the order
- Recurring – first payment uses
sequenceType=firstto create a mandate. Mollie's subscription API charges automatically on each cycle using the mandate. No customer redirect on renewals - Refunds – issued from LicenseDock admin → Mollie processes → webhook applies the refund locally