mollie/laravel-cashier-mollie
Laravel Cashier for Mollie provides an expressive, fluent interface for Mollie payments and subscriptions in Laravel. Manage billing, invoices, refunds, and recurring payments with ease using familiar Cashier-style APIs.
Architecture fit
mollie/laravel-cashier-mollie is not a driver bolted onto laravel/cashier; it is a parallel reimplementation of the Cashier API surface backed by Mollie's Payments/Subscriptions/Customers/Mandates APIs. It ships its own Billable trait, its own migrations (customers, subscriptions, subscription_items, orders/payments-style tables), and its own service provider.laravel/cashier (Stripe) and this package on the same billable model — namespace and trait collisions make them mutually exclusive. This must be confirmed in a spike before any planning commitments.Integration feasibility
MOLLIE_KEY. A working subscription checkout is typically days, not weeks.Technical risk
Key questions to resolve before commitment
Stack fit
config/services.php credentials, .env-driven.User or Team). Multi-tenant or multi-billable-model designs need explicit validation — the package's relationship assumptions are opinionated.Migration path
laravel/cashier/Stripe: treat as a re-platforming, not a package swap. Recommended pattern: introduce an internal BillingGateway interface first, back it with the existing Stripe implementation, then build the Mollie implementation behind the same interface. Run both in parallel by cohort (new signups on Mollie, existing on Stripe until natural renewal or forced re-mandate). Do not attempt dual-write on the same billable row.Compatibility
laravel/cashier (same-namespace collision is likely). If both must exist during transition, they need separate billable models or separate applications, not the same model.Sequencing (suggested)
Maintenance
Support
Scaling
payments will need attention past low millions of rows.Failure modes to design for
Ramp-up
TPM bottom line: a defensible, low-friction bet for an EU-focused Laravel product with EUR subscriptions and a tolerance for a thinner feature surface; a poor fit for global, multi-currency, or invoice/tax-heavy billing, and an expensive migration for existing Stripe subscribers. Approve conditional on a one-week spike that closes the parity checklist and confirms the laravel/cashier coexistence question.
How can I help you explore Laravel packages today?