Skip to main content

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.

Shani Cipro

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?

Edoardo Guzzi

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.)

Nicolas D

Nice job Edoardo !