Search by

mahocommerce / module-mollie

fballiano

Mollie payment gateway integration for Maho

Package info

github.com/MahoCommerce/module-mollie

Type:maho-module

pkg:composer/mahocommerce/module-mollie

Statistics

Installs: 525

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v2.0.0 2026-10-22 20:30 UTC

This package is auto-updated.

Last update: 2026-10-22 20:37:08 UTC


README

Maho Commerce License PHP PHPStan Level

Mollie payment gateway integration for Maho Commerce.

Accept payments through Mollie, one of Europe's leading payment service providers — offering 40+ payment methods across the Payments API and the Orders API (for Klarna and other Buy Now Pay Later methods).

Status: Beta — redirect flow + Mollie Components verified against the Mollie sandbox. Core payment flow (create → redirect → webhook → return → cron) is implemented against the Mollie Payments API, plus online refunds and admin-configurable order statuses. 29 method blocks are configurable in admin and all of them work end-to-end via redirect (the generic Mollie selector plus the per-method blocks listed below). For credit cards there's an opt-in PCI-SAQ-A flow via Mollie Components: the card-number / expiry / CVC / cardholder fields render inline in your checkout (cross-origin iframes hosted by Mollie), the customer stays on your site through to the success page, and the redirect-to-Mollie fallback still triggers if Components isn't configured or JS fails. Apple Pay's express-checkout button (cart/PDP) is not yet implemented, though Apple Pay via redirect works. Translations ship for Dutch, German, French, Italian, and Spanish.

Known gap: the webhook re-fetches the payment from Mollie's API for verification, but there is no DB-level lock around the capture path; concurrent webhook redeliveries could race.

Requirements

  • PHP >= 8.5
  • Maho Commerce >= 26.9
  • A Mollie merchant account

Installation

composer require mahocommerce/module-mollie

Clear the cache after installation:

./maho cache:flush

Configuration

Navigate to System > Configuration > Payment Methods in the Maho admin panel.

General Settings (Mollie - General Settings)

Setting Description Default
Test Mode Use the Mollie test API key to process mock payments Yes
Live API Key Your Mollie live API key (starts with live_) —
Test API Key Your Mollie test API key (starts with test_) —
Test API Key (button) One-click check that the configured key can reach the Mollie API —
Debug Logging When enabled, writes verbose reconcile/refund events to var/log/mollie.log No

Find your API keys in the Mollie dashboard under Developers.

Method-specific groups

Each of the 29 bundled methods has its own admin group with the usual active / title / country / sort-order controls plus per-method pending / processing order statuses.

Wero

Wero is in beta at Mollie. Ask your Mollie account manager to activate it before you enable the method.

  • Mollie supports Wero in Belgium and Germany, in EUR only. France and the Netherlands follow in October 2026, and Luxembourg in January 2027. The method ships with "Payment from Specific Countries" set to Belgium and Germany. Add a country when Mollie supports it.
  • Wero is not a guaranteed payment. A customer can open a chargeback for 120 days (540 days for some merchant categories).
  • Mollie sends you an activation email for the EPI dispute portal. Activate the account within 7 days. EPI cannot send the link again.

See the Mollie Wero documentation.

Roadmap

API layer

  • Payments API integration (create, webhook, return, cron reconciliation, refunds)
  • Orders API integration (Klarna line items, in3, Billie, Alma, Riverty, Voucher categorisation)
  • Apple Pay express checkout (domain association + JS button)

Payment methods

Working end-to-end via redirect (Mollie hosts the actual UI):

  • Generic Mollie gateway (Mollie's full method picker)
  • iDEAL
  • Bancontact
  • Credit card (redirect by default; PCI-SAQ-A inline checkout via Mollie Components — toggle "Use Mollie Components" + Profile ID in the admin section)
  • PayPal
  • Apple Pay (redirect only — express button on cart/PDP not yet)
  • Bank Transfer
  • SEPA Direct Debit
  • Gift Card
  • Google Pay
  • Trustly
  • TWINT (Switzerland)
  • BLIK (Poland)
  • Przelewy24 (Poland)
  • EPS (Austria)
  • Belfius (Belgium)
  • Bizum (Spain)
  • MyBank (Italy / Spain)
  • Satispay (Italy)
  • BANCOMAT Pay (Italy)
  • Multibanco (Portugal)
  • MB WAY (Portugal)
  • Payconiq (Belgium / NL / Lux)
  • MobilePay (Denmark / Finland)
  • Swish (Sweden)
  • Vipps (Norway)
  • Pay by Bank (UK)
  • paysafecard
  • Wero (Belgium / Germany, see Wero)

Not bundled at all (Mollie supports them; this module has no method block, model, or config):

  • Klarna Pay Later / Pay Now / Slice It — need the Orders API to send orderLines
  • iDEAL in3 — needs Orders API
  • Riverty — needs Orders API
  • KBC / CBC (Belgium) — needs issuer selection
  • Voucher (meal-voucher schemes — Edenred, Sodexo, etc.) — needs per-product category mapping
  • Alma, Billie — BNPL, need the Orders API
  • POS (point-of-sale) — needs terminal picker
  • SOFORT Banking (deprecated by Mollie — listed for completeness)

Features

  • Online refunds from admin via Mollie API (full + partial)
  • Webhook-driven payment status reconciliation (all mollie_* method codes, not just the generic gateway)
  • Cron-based safety net for missed webhooks (5-minute interval, 24-hour lookback)
  • Admin-configurable pending / processing order statuses, per payment method
  • External-refund and chargeback reconciliation (creditmemo from Mollie dashboard refunds; chargeback order comments only)
  • Multi-store API key scoping
  • Admin "Test API Key" button (one-click connectivity check)
  • Debug logging toggle (gates info-level entries in var/log/mollie.log)
  • Translations for Dutch, German, French, Italian, and Spanish
  • DB-level idempotency lock on the capture path (today only an in-memory hasInvoices() check)
  • Multi-currency support (code paths present but not verified end-to-end)
  • Second-chance payment email
  • Vault / stored cards
  • Mollie Components (hosted card fields) — opt-in per store via admin
  • Payment-link generation from admin
  • Shipment push to Mollie (Orders API)

Acknowledgements

Architecture and feature set informed by the official mollie/magento2 module by Magmodules (OSL-3.0). This module is an independent Maho implementation; no code is copied, but the integration shape and feature surface follow the upstream as a reference.

License

This module is licensed under the Open Software License v3.0.

Links