Free & open-source: an EU "withdrawal button" plugin with FluentCart support out of the box
Heads-up for everyone selling to EU consumers: from 19 June 2026 every online shop must show a dedicated online withdrawal button β a one-click way for customers to withdraw from a contract (new Art. 11a of the Consumer Rights Directive, EU 2023/2673). It has to be prominent, lead to a simple two-step confirmation, and the customer must get an acknowledgement on a durable medium. No dark patterns allowed.
I couldn't find anything that did this properly for FluentCart, so I built one β and I'm giving it away for free, open source.
WWU Withdrawal Button supports FluentCart on day one (and WooCommerce), through a shared adapter layer. It gives you:
- the withdrawal button with the exact statutory wording per language (IT/EN/DE/FR/ES);
- a clean two-step statement β confirmation flow;
- an automatic acknowledgement email + PDF + a permanent verifiable link;
- a tamper-evident, append-only log with a free trusted timestamp (OpenTimestamps), and automatic logging of the refund so you can prove you reimbursed within the 14-day deadline;
- a Gutenberg block + shortcodes, and full CSS theming;
- a merchant dashboard that explains exactly what to do when a request comes in.
It's genuinely free, GPL, no upsell, no tracking. I'd love feedback from FluentCart users β especially edge cases in your setups β so I can harden the FluentCart adapter before the deadline.
π GitHub: https://github.com/An-Idea-For-Business/wwu-withdrawal-button
It's a technical compliance aid, not legal advice β have your setup reviewed by a lawyer.
This is great! Exactly what we need! Is it possible to exempt certain products/services? For example, digital products that people have immediate access to or services that have already been carried out?
Shani CiproΒ Great question; and yes, you can. The law (Art. 16 CRD / Art. 59 Codice del Consumo) lets you exempt certain products/services, and the plugin supports it.
Two things to keep in mind:
- Services already performedΒ andΒ immediate-access digital contentΒ areΒ conditionalΒ exemptions: they only apply if you captured the customer'sΒ prior express consent + acknowledgementΒ that they lose the right (for digital, plus your confirmation on a durable medium). If you didn't capture that, the right survives - and for digital the customer owes nothing. So the correct approach is toΒ capture that consent at checkout, not just hide the button.
- Other items are exemptΒ by natureΒ (no consent needed): made-to-order, perishable, sealed hygiene goods once opened,Β event tickets for a specific date, etc.
Today you can already exempt products/categories (setting + filter). A dedicatedΒ admin UI + checkout consent capture + auditable Art. 59 reasonsΒ is on the roadmap - happy to share the design. (Not legal advice - have your setup reviewed by a lawyer.)
Nice job Edoardo !