VIEW · PROJECT · TAG · PERFECT ·
WooCommerce plugin · Directive (EU) 2023/2673

The EU withdrawal button for WooCommerce.

Since 19 June 2026 every online shop selling to EU consumers must offer an online withdrawal function. TGP EU Withdrawal adds it to WooCommerce exactly as the law describes it — and gives your team a clean workflow for what happens next.

What the law requires

Article 11a of the Consumer Rights Directive, as amended by Directive (EU) 2023/2673 (in Estonia: VÕS §56⁴), obliges every trader who concludes distance contracts through an online interface to let the consumer withdraw through that same interface. The function has to be prominent, permanently available and follow a fixed two-step pattern:

  1. 01A clearly labelled withdrawal button — “withdraw from contract here” — visible throughout the withdrawal period.
  2. 02A form where the consumer states their name, the contract or order identifier and an e-mail address, without being forced to give a reason.
  3. 03A confirmation step — “confirm withdrawal” — after which the statement is submitted.
  4. 04An acknowledgement of receipt on a durable medium, without undue delay, containing the content of the statement and the date and time it was submitted.

What the plugin does

Button and form, by the book

Site-wide button in the footer or a menu, a dedicated page with the two-step form (statement → review → confirm), correct wording in the customer’s language.

Immutable statement + acknowledgement

Every submission is frozen with its UTC timestamp, UUID and reference (WR-000123) and acknowledged by e-mail in the language it was submitted in. Sent, failed and retried e-mails are all logged.

Order matching

Requests are linked to the WooCommerce order automatically — by order number, by e-mail, or by the logged-in account. Logged-in customers can withdraw from selected items only.

Workflow for your team

Requests list, detail page with timeline and a context-aware “next step” box, statuses Submitted → Reviewing → Accepted / Rejected → Refunded → Closed, notes on the order, append-only activity log.

Decision e-mails

Accepted: refund terms, and — if the goods were already shipped — the return address, the return deadline and who pays for the return. Rejected: your reason. Editable texts, sent in the customer’s language.

Refund sync

A refund saved on the WooCommerce order moves the request to Refunded and logs the amount. The plugin never touches money itself.

Multilingual, HPOS, blocks

WPML and Polylang (per-language withdrawal page), High-Performance Order Storage, classic and block checkout. Ships in English, Estonian, Russian and Finnish; any language via a .po file.

Privacy and abuse protection

Configurable retention with automatic anonymisation of closed requests, no third-party services, no tracking. Honeypot and timing checks keep bots out without CAPTCHAs.

How it works

For the customer
  1. Clicks “Withdraw from contract” anywhere on the site.
  2. Fills in name, e-mail and the order number — or picks the order and the items from their account.
  3. Reviews the statement and confirms. Receives the acknowledgement e-mail within seconds.
For the store team
  1. Gets the admin e-mail and a note on the order.
  2. Opens the request: order linked, deadline checked, decision made — Accepted (goods shipped or not) or Rejected (with reason). The decision e-mail goes out automatically.
  3. Refunds in the WooCommerce order — right away if the goods never left, or once they are back. The request closes itself.
19 Jun 2026
Mandatory since
2-step
Statutory flow, built in
4
Languages included
0
External services
Compatible with
WordPress 6.9+WooCommerce 10.8+PHP 8.1+HPOSBlock checkoutWPMLPolylangGDPR

Questions

Does my shop need this?

If you sell goods, services or digital content to consumers in the EU through a website, yes — the online withdrawal function has been mandatory since 19 June 2026 regardless of where your company is registered. It applies to every distance contract, not only to subscriptions.

Does it replace our returns policy?

No. The plugin fulfils the online withdrawal function and documents each statement. Your terms and the model withdrawal instruction still have to be in place; the plugin gives you a shortcode to embed the statutory text on your terms page.

Does it process refunds?

No — and it should not. Refunds are made in the WooCommerce order with the payment gateway you already use. The plugin records the refund on the request and tells the manager when to make it.

What about other shop platforms?

TGP EU Withdrawal is built for WooCommerce. For Shopify, PrestaShop or custom stacks we implement the function as part of a project — ask us.

How is it delivered?

We install and configure the plugin on your store, set up the page, the menu link, the e-mail texts and the return address, run the manual test protocol with you and hand over a one-page guide for the store team. Updates are included.

Get the plugin

Compliant
this week.

Privacy This site collects anonymous usage data to improve your experience.
Analytics This site collects anonymous usage data to improve your experience.