Clearly labelled “Withdraw from contract” button
A visible button or link the customer can find at any time during the 14-day withdrawal window — not buried in a help article or behind a contact form.
EU Withdrawal is a free Magento 2 extension that adds the EU 14-day right-of-withdrawal button your store needs by 19 June 2026. It delivers a clearly labelled withdrawal button, a deliberate two-step confirmation, an automatic email receipt, partial per-item withdrawals, an admin request queue with CSV export, and 22 EU languages - with native Hyvä and Breeze support. Install via Composer and be compliant in about 15 minutes. The optional Pro edition adds a tamper-proof audit log, customer-verifiable receipts, and a single signed evidence file for regulators.
A quick glance at frontend and backend functions.
19 June 2026 — every online seller with EU customers must show a clear “Withdraw from contract” button. Without it, customers can withdraw for up to 12 months and 14 days instead of 14 days, and enforcement is delegated to each EU member state's consumer-protection authority.
Three concrete things. All three have to be in place by 19 June 2026.
A visible button or link the customer can find at any time during the 14-day withdrawal window — not buried in a help article or behind a contact form.
The withdrawal button opens a short guided confirmation form: the customer looks up the order (guests use order number + email), selects the items to withdraw, and confirms. Partial, per-item withdrawals are supported — not just the whole order.
A timestamped email with the withdrawal details and a reference number. A "we'll get back to you" message is not enough — that email itself is the legal record.
If any of these is your store, this law applies — no matter where the business is registered.
Even if your business is registered outside the EU — the law follows the consumer, not the trader.
Any physical product delivered to an address in an EU member state — even just occasionally.
Storefront prices listed in euros — alongside or instead of your home currency.
A drop-in solution
The module adds a “Withdraw from contract” button to every customer-facing place that matters — the order page, the customer account, the footer and order-confirmation emails. Customers complete a short two-click form, as guests or logged in, choosing the whole order or just specific items. A timestamped email confirmation goes out automatically, and every request lands in a dedicated queue inside your Magento admin. Five-minute setup.
Five steps. Two clicks. One email.
Step 01
The button sits on the customer's order page, account area, store footer and order emails — available right through the 14-day window. It opens the EU right to withdraw from the contract — the 14-day right EU shoppers expect.
Step 02
Guests enter their order number and email. Signed-in customers skip that — they just pick the order from their history. Either way it takes seconds.
Step 03
Withdraw from the whole order, or set a quantity for individual items only. Partial withdrawal is handled the same way, in the same form.
Step 04
A separate confirmation page — the second step EU law requires. The customer sees the items and the total refund before they commit.
Step 05
A timestamped withdrawal receipt lands automatically — the durable-medium record EU law requires, carrying the refund total and the legal basis.
A dedicated queue inside your Magento admin. No new tool to learn.
Every technical piece the withdrawal-button requirement needs is in Free. Pro adds proof and forensics on top, not the basics.
Button label, two-step flow, email receipt, partial withdrawal — configured to what Art. 11a describes.
Logged-in shoppers go straight to their orders. Guests look up the order with their order number and email.
Required by the new EU law. We handle the routing and the second-click confirmation page.
Timestamped email with the withdrawal details, items and reference number. Becomes the permanent record.
Customers can withdraw from specific items and quantities, not just the whole order.
Order page, customer account, footer and order confirmation emails — automatically, no template editing needed.
Every EU locale Magento ships with, with verbatim legal text taken straight from EU sources. Override per store view if needed.
Filter by status, date, customer, order. Export to CSV for accounting. Standard Magento admin look and feel.
Sender, subject, layout — edit per store view from the admin. Multistore-aware.
Free Hyvä companion modules ship alongside. Breeze (Swissup) is supported out of the box. Luma just works.
Selling downloads, software or services? The required "I want to start using this now" consent is collected and recorded at checkout, automatically.
Zero data sent to our servers. Customer data stays in your Magento database.
Pro upgrade · optional
Free implements what Art. 11a of Directive 2011/83/EU describes. Pro is for the moment a regulator, a dispute lawyer, or a chargeback adjuster asks for proof — and you want to hand them something solid in one click.
Pro feature · 1 of 5
Every withdrawal request gets a full timeline — who pressed which button, when, and from where. The log is locked: not even your own admin can edit or delete past entries. When a regulator or a lawyer asks "how do you know what happened", you can show them.
Pro feature · 2 of 5
Every withdrawal confirmation email gets a personal verification link. Your customer — or anyone they show it to: a bank, a dispute lawyer, a regulator — clicks the link and instantly sees the receipt wasn't edited after you sent it.
Pro feature · 3 of 5
EU law has two proof requirements. Free's confirmation email proves what you sent after a withdrawal. Pro proves what your customer saw before they paid — the other half of the proof a regulator looks for. Every checkout view of the terms is timestamped, the exact text is saved, and the proof is one tab away on the request page.
Pro feature · 4 of 5
Without Pro, a customer has to find your store, look up the order number, type their email and submit. With Pro, they tap “Withdraw from contract” in their order email and they're already signed in. Less friction means stronger compliance and fewer “how do I withdraw?” support tickets.
Pro feature · 5 of 5
When a customer files a claim, a bank requests evidence, or a regulator opens a case, you need to provide "all the evidence" for one withdrawal. Pro packs everything — order details, withdrawal log, customer's receipt, the terms they were shown — into one signed file. The other side can verify it offline, no access to your store needed.
Free delivers every technical piece the requirement covers. Pro adds proof, forensic-grade records, and one less click for the customer.
| Feature | Free | Pro |
|---|---|---|
| Storefront & customer experience | ||
| “Withdraw from contract” button on order page, account, footer, emails | ✓ | ✓ |
| Two-step confirmation flow | ✓ | ✓ |
| Withdraw from individual items (not just the whole order) | ✓ | ✓ |
| Guest and logged-in customer flows | ✓ | ✓ |
| 22 EU languages | ✓ | ✓ |
| Automatic email confirmation (timestamped) | ✓ | ✓ |
| Digital-content waiver flow at checkout | ✓ | ✓ |
| One-click withdrawal links in customer emails | — | ✓ |
| Admin & operations | ||
| Dedicated queue inside Magento admin | ✓ | ✓ |
| Filters, mass actions, CSV export | ✓ | ✓ |
| Native Magento credit-memo hand-off | ✓ | ✓ |
| Approve / reject with reason and customer email | ✓ | ✓ |
| Records & proof | ||
| Searchable activity log in admin | — | ✓ |
| Tamper-proof activity log | — | ✓ |
| Customer-verifiable email receipts | — | ✓ |
| Proof of pre-purchase disclosure | — | ✓ |
| Signed, single-file evidence pack export | — | ✓ |
Compatibility
Built for current Magento — every edition, modern PHP and the major themes, installed the way your team already works.
Platform
Magento 2.4.4 – 2.4.9
Editions
Open Source & Commerce
Runtime
PHP 8.1 – 8.5
Themes
Hyvä · Breeze · Luma
Checkout
Luma & Hyvä Checkout
Security
CSP-compatible
About compliance
Yes. The new EU law expects a clearly labelled withdrawal button that's visible at all times during the 14-day window. A general returns form does not count — the law is specific about the wording, the placement and the two-step confirmation.
Two things. First, your customer's withdrawal window automatically extends from 14 days to 12 months and 14 days — a full year of extra exposure. Second, enforcement is delegated to each EU member state's consumer-protection authority — penalties and procedures vary by country, but the exposure exists in every member state.
Yes. The law applies to every store selling to consumers in the EU, regardless of where the business is registered. If you ship to the EU or price your products in euros, you are in scope.
No. The module adds only the legal withdrawal step. Your existing RMA, refund and shipping-return workflow stays as it is — your team uses it after the withdrawal request lands in the admin queue. The two systems sit next to each other.
About the extension
No catch. The Free edition is proprietary freeware under the MageMe EULA: free of charge, no trial limit, no tracking. Pro is a separate, optional upgrade for stores that want a tamper-proof activity log, verifiable receipts and signed evidence packs on top.
Free delivers every technical piece the requirement covers: the withdrawal button, two-step confirmation, automatic email confirmation, partial withdrawals, 22 EU languages, admin queue. Pro adds proof: a tamper-proof activity log, customer-verifiable receipts, proof of pre-purchase disclosure, one-click withdrawal links in customer emails, and a single signed evidence file you can hand to a regulator. Free is the implementation. Pro is for stores that want forensic-grade records on top.
Yes. Free Hyvä companion modules ship alongside the main extension (one for the storefront, one for the checkout). Breeze (Swissup) is supported out of the box. Luma works without anything extra. CSP headers, Tailwind classes and the Hyvä asset pipeline are all respected.
Yes. Guests submit a withdrawal by entering their order number plus email. Logged-in customers see their orders directly in their account. Both flows go through the same two-step confirmation and generate the same email confirmation.
Order number, customer email, the items being withdrawn, an optional reason, and timestamps — stored in your own Magento database, never sent to any MageMe server. No tracking, no phone-home. Pro adds an automatic anonymisation schedule so personal details are erased after the retention period you choose (default 365 days).
Support and maintenance
MageMe (ACTEK d.o.o.), a Slovenia-based Magento extension vendor active since 2011. The Free module shares the same code, CI pipeline and release process as our paid products.
Best-effort community support via support@mageme.com. Bug reports are triaged by the same engineers who work on the paid editions. Priority queue with a 24-hour SLA is part of the Pro tier.
Pro is installed as a small set of add-on modules that sit next to your existing Free install. Your data, settings and request history are preserved — no reinstall, no migration. You get a Composer command and a short upgrade guide right after purchase.
Yes. The Free edition is our long-term contribution to the Magento ecosystem. The implementation baseline stays in Free — anything that implements what Art. 11a describes lands in Free, not Pro.
Be the first to leave a review