EU Withdrawal Button & Widerruf Form for WooCommerce

From 19 June 2026, every EU store must let customers withdraw as easily as they bought. Most WooCommerce stores still cannot.

How the customer withdrawal flow works

The customer flow is a short, three-step process that works in any theme and even without JavaScript. This article walks through each step so you know exactly what your customers experience.

Step 1: Find the order

A guest enters their email address and order number to locate the order. A logged-in customer has their details prefilled and can pick from their recent orders instead. For security, a lookup only succeeds when the email matches the order, and failed lookups return a generic message so order details are never revealed.

Withdrawal form step one: find order by email and order number
Step 1: the customer finds their order.

Step 2: Choose items and an optional reason

The customer confirms their name, selects which items to withdraw (the whole order by default), and may add a reason and a message. By law you cannot require a reason, so both fields are clearly marked optional, with a note reminding the customer they do not have to give one.

Withdrawal form step two: choose items with an optional reason and message
Step 2: choose items; the reason is always optional.

Step 3: Confirm

The final step shows a summary of the declaration and a separate, clearly labelled Confirm withdrawal control. This separate confirmation is a requirement of the rule: the withdrawal is only submitted when the customer actively confirms on this step.

Withdrawal form step three: the separate confirm withdrawal step
Step 3: a separate, labelled confirmation control.

The receipt

Immediately after confirming, the customer sees an on-screen receipt and receives the same receipt by email on a durable medium. It records the items, the exact date and time in GMT, the order, and a receipt fingerprint that both the customer and the store can verify later.

On-screen withdrawal receipt with request ID, exact timestamp and receipt hash
The durable receipt with the exact time and a receipt fingerprint.

Every completed request then appears in your admin queue, ready for review.