Products>EU Withdrawal Button for WooCommerce

EU Withdrawal Button for WooCommerce

Add a legally compliant EU withdrawal button to your WooCommerce store. Covers the entire flow, from the customer-facing request form to the admin dashboard for managing withdrawal requests.

Request Withdrawal Button

Request
Withdrawal Button

Two Step Confirmation

Two Step
Confirmation

Admin Dashboard

Admin
Dashboard

Automatic Refund Processing

Automatic Refund
Processing

EU Geo Targeting

EU Geo
Targeting

30 Days Money Back Guarantee

99% Customer Satisfaction Rating

A subscription entitles you to 1 year of updates and support from the date of purchase. Cancel renewal anytime.

All the prices shown are in USD

Trusted by 1.8+ Million Websites

5.0

Rated 5 out of 5
version

1.0.0

Plugin Version

version

1,000+

Downloads

version

18-08-2026

Last Updated

Ensure Compliance With EU Right of
Withdrawal for WooCommerce Stores

Add Withdrawal Request Button on Orders Page

A "Request Withdrawal" button appears directly on the customer's My Account orders list, visible only within the active withdrawal window.

Guided Withdrawal Form with Two-Step Confirmation

Customers fill in a simple form, select the items they want to withdraw, and confirm their intent in a second step.

Support Partial Withdrawal Requests

Customers can partially withdraw individual items from an order rather than canceling the whole order.

Dedicated Admin Withdrawals Dashboard

View all withdrawal requests, approval stats, and order details from a single, dedicated WooCommerce Withdrawals dashboard.

Approve Requests and Issue Refunds Automatically

Auto-approve eligible withdrawal requests, issue the WooCommerce refund, and restock inventory without touching the order manually.

Restrict the Withdrawal Button to EU Shoppers

Show the withdrawal button only to customers in EU countries, using billing address for logged-in users and WooCommerce geolocation for guests.

Generate a Withdrawal Terms and Conditions Page

Create a withdrawal T&C page built on EU consumer rights directives, with shortcodes that stay in sync with your exclusion settings.

Set Withdrawal Period for WooCommerce Orders

Set the window to 2, 7, 14, or 30 days and choose which order statuses start the countdown. The EU standard is 14 days.

Customize WooCommerce Withdrawal Button

Add the button to your footer, My Account pages, or any post via shortcode, then match its text and colors to your theme.

Exclude Products from Withdrawal Requests

Exclude virtual, downloadable, grouped, or external/affiliate products, entire categories, or individual products from eligibility for withdrawal.

Update Order Statuses Automatically

Automatically update order status when a withdrawal request is submitted or approved.

Send Withdrawal Request Notification Email

Automatically email customers when a request is submitted, and alert one or more admin addresses on every new withdrawal.

Respect Your Customers’ Right of Withdrawal

Enable legally compliant withdrawal requests, support partial withdrawals, automate approvals and refunds, and manage everything from one dashboard.

Get Plugin Now

Try with Confidence

icon

99% Satisfaction Rating

We make every effort to make sure our customers are happy.

Average 4.9 out of 5 Stars Rating

Our plugins are highly regarded in WordPress forums and review platforms.

icon

100% Money-Back Guarantee

Our 30-day No-Risk Money Back Policy assures 100% money back.

Add an EU-Compliant Order Withdrawal Button to WooCommerce

This plugin adds a “Request Withdrawal” button on the customer's My Account page, next to every eligible order that is still within the active withdrawal window.

When a customer clicks the button, a structured withdrawal form opens. They can select the full order or individual items to withdraw, enter their name and email, and optionally provide a reason. A two-step confirmation screen follows before the request is submitted. This two-step flow is specifically required by EU Directive 2023/2673 to prevent accidental withdrawals.

Once submitted, the customer receives an automatic confirmation email. That email satisfies the directive's requirement to acknowledge receipt on a durable medium.

Add an EU-Compliant Order Withdrawal Button to WooCommerce

Manage All Withdrawal Requests from One WooCommerce Dashboard

Every incoming withdrawal request lands in WooCommerce > Withdrawals. The dashboard shows open request counts, approvals over the last 30 days, and a filterable list of all requests by status, date range, or order number.

Opening a request gives you the full picture, including the order number, customer email, request type (full or partial), the reason (if provided), and a complete activity log showing every status change. You can approve or reject withdrawal requests directly from this view.

Manage All Withdrawal Requests from One WooCommerce Dashboard

Support Partial Withdrawals for Individual Order Items

When partial withdrawals are enabled in settings, customers can select specific items from an order rather than canceling the entire order. This matters for stores that sell bundles or multi-item orders, where a customer may only want to return one product.

The withdrawal form displays all items in the selected order, each with a checkbox. The customer selects what they want to withdraw, and the request captures exactly those items. The rest of the order stays intact. This reduces unnecessary full-order cancellations and gives customers a more precise way to exercise their rights.

Support Partial Withdrawals for Individual Order Items

Approve Withdrawal Requests, Issue Refunds, and Restock Automatically

Reviewing every withdrawal request by hand gets old fast, especially once volume picks up. Auto-processing handles the routine ones for you. Turn on auto-approve, and eligible requests get approved the moment they come in.

You control the scope. Approve everything that qualifies, or set custom criteria so only requests that match your rules go through automatically, and the rest wait for a manual review.

Two more toggles sit alongside it. Automatic refunds issue the WooCommerce refund as soon as a request is approved, and restock items put the returned products back into inventory. Between them, an approved withdrawal can move from request to refunded and restocked without anyone opening the order.

Approve Withdrawal Requests, Issue Refunds, and Restock Automatically

Configure the Withdrawal Period and Withdrawal Form Display Scope

The settings panel gives you full control over how and when the withdrawal option appears to your customers. Set the withdrawal window to 2, 7, 14, or 30 days. The EU standard is 14 calendar days from the date of delivery, and the field accepts any custom value if your store policy differs.

You also choose which order statuses start the countdown. Select one or more, and the clock begins on the earliest date the order reaches any of them, so the window opens exactly when it should for your fulfillment workflow.

Display scope lets you decide whether the withdrawal form appears globally across your site or only on WooCommerce pages. There is also a reason required toggle if you want customers to explain why they are withdrawing, which is useful for spotting product or fulfillment issues in your own data.

You are not limited to showing the withdrawal button only on order pages. The plugin includes a shortcode that lets you place the button on any page or post, with options to customize the button label and apply additional CSS classes to match your theme.

Configure the Withdrawal Period and Withdrawal Form Display Scope

Show the Withdrawal Option Only to EU Customers

The right of withdrawal applies to EU consumers. If you sell worldwide, there is no reason to surface a withdrawal button to shoppers in markets where the directive does not apply.

Geo-targeting handles the detection for you. For logged-in customers, it reads the billing address on file. For guests, it falls back to WooCommerce geolocation.

From there you decide what gets hidden. Three separate toggles control the footer withdrawal link, the shortcode button, and the My Account withdrawal button, so you can hide all three for non-EU visitors or keep some visible if your own policy is more generous than the directive requires.

Show the Withdrawal Option Only to EU Customers

Exclude Products, Categories, and Product Types from Withdrawal

Not every product in your store needs to be eligible for withdrawal. The plugin lets you define exclusions at multiple levels, by product type, category, or individual product, giving you precise control over what can and cannot be withdrawn.

Virtual, downloadable, grouped, and external/affiliate products can each be excluded independently. Under EU law, certain digital goods are exempt from the right of withdrawal once downloaded, so this keeps your store compliant without extra configuration.

Whatever you exclude here also flows through to your withdrawal terms and conditions page. The shortcodes on that page pull directly from these settings, so your published policy and your actual configuration never drift apart.

Exclude Products, Categories, and Product Types from Withdrawal

Automate Order Status Updates on Withdrawal

No need to manually update orders every time a withdrawal request comes in. The plugin can automatically update the order status when a request is submitted and when it is approved, keeping your WooCommerce order management in sync.

Automate Order Status Updates on Withdrawal

Set Up Email Notifications for Withdrawal Requests

Stay on top of every withdrawal request without checking your dashboard constantly. Add one or more admin email addresses to receive notifications whenever a new request is submitted. You can also set a customer-facing contact email that gets shown when a withdrawal request is rejected, giving customers a direct point of contact instead of leaving them without next steps.

Set Up Email Notifications for Withdrawal Requests

Generate a Withdrawal Terms and Conditions Page

Writing a withdrawal policy from scratch means reading the directive, translating it into plain language, and then keeping it accurate every time you change a setting. The plugin does the first draft for you. Click generate and you get a withdrawal terms and conditions page built on EU consumer rights requirements, ready to review and publish. The page uses dynamic shortcodes for your excluded products, categories, and product types, so it updates itself whenever your exclusion settings change. You can then surface it wherever it makes sense. A toggle adds a T&C link directly to the withdrawal form, and the [wbte_ewb_terms_link] shortcode lets you drop the link anywhere else, with optional custom link text.

Generate a Withdrawal Terms and Conditions Page

Customize the Withdrawal Button Text, Style, and Colors

A compliance button that clashes with your theme looks like an afterthought. The appearance settings let you style the withdrawal button so it reads as part of your store. Footer and My Account placements are configured separately, each with its own button text, so you can say Request Withdrawal in one spot and something more specific in the other. Display each one as a plain text link or a full button, depending on how much attention you want it to draw. Colors follow your theme by default. Switch to custom and you get hex controls for background, text, hover background, and hover text, with a live preview so you can check the result before saving.

Customize the Withdrawal Button Text, Style, and Colors

Show the Withdrawal Form on a Page or in a Popup Modal

Some stores prefer sending customers to a dedicated withdrawal page. Others would rather keep them where they are. The form display setting supports both. Choose separate page and the withdrawal button links through to your configured withdrawal page. Choose popup modal and the form opens in place, in an accessible modal, so customers do not lose their spot in their order history. Either way, the form is a public entry point, which means bots will find it. Google reCAPTCHA v3 support is built in. Add your site key and secret key, and spam submissions get filtered out before they reach your withdrawals dashboard, without making real customers solve a puzzle.

Show the Withdrawal Form on a Page or in a Popup Modal

Collect Refund Details for Offline Payment Orders

Refunding a card payment is easy. WooCommerce sends it back to the original method. Orders paid by cash on delivery, bank transfer, or cheque are a different story, because there is no payment method to refund to.

For those orders, the plugin adds a refund details field to the withdrawal form. Customers enter the bank account or IBAN where they want the money sent, so you are not chasing them over email after the request comes in.

The field label is yours to set. Leave it blank for the default, or use wording that matches how your customers actually talk about their bank details in your market.

Collect Refund Details for Offline Payment Orders

Manage Plugin Data and Move Settings Between Sites

If you ever remove the plugin, you decide what happens to your data. The delete data on uninstall option is off by default to prevent accidental data loss. Enable it only when you are certain you no longer need the stored withdrawal requests, settings, and database tables.

Settings can also travel between sites. Export your full plugin configuration as a JSON file and import it elsewhere, saving you from rebuilding everything by hand when you move from staging to live or roll the same setup out across multiple stores.

Manage Plugin Data and Move Settings Between Sites

Manage EU Withdrawal Law Compliance for
Your WooCommerce Store

Add a legally compliant withdrawal button to your WooCommerce store and handle every withdrawal request digitally, from submission through approval and refund, exactly as EU law requires.

Get Plugin Now

Technical info PHP WordPress WooCommerce
Minimum Version 7.4 or higher 6.0 or higher 7.0 or higher
Tested upto 8.2 7.0 10.8.1

You may also like these plugins

Featured image of WooCommerce PDF Invoices, Packing Slips and Credit Notes

WooCommerce PDF Invoices, Packing Slips and Credit Notes

Rating 4.94

-

217 reviews

-

$69 - $199

Customize, auto-generate, and print WooCommerce PDF invoices, packing slips, and credit notes using a single plugin. You can send these documents to customers by attaching them to the order emails.

Featured image of GDPR Cookie Consent Plugin for WordPress

GDPR Cookie Consent Plugin for WordPress

Rating 4.83

-

145 reviews

-

$69 - $1199

The plugin enables compliance with GDPR, CCPA, and other major cookie laws. You can use it to create and customize cookie consent banners, scan and manage website cookies, and integrate Google Consent Mode, Microsoft Clarity Consent Mode, and UET Consent Mode.

Frequently Asked Questions

If you sell to consumers in the EU, yes. From June 19, 2026, EU Directive 2023/2673 requires an accessible online withdrawal function for any online store serving EU consumers. This applies regardless of where your business is registered.

The plugin provides the online withdrawal function required under EU Directive 2023/2673. Store owners remain responsible for ensuring their overall legal and business processes comply with applicable regulations.

No. WooCommerce does not include a dedicated EU-compliant withdrawal button, withdrawal request workflow, customer acknowledgments, or withdrawal management dashboard. This plugin adds those features.

Yes. Guest customers can access the withdrawal form without creating an account. Orders are verified using the customer's order details and email verification before a withdrawal request can be submitted.

Yes. Customers can withdraw selected items and quantities from an order instead of withdrawing the entire purchase. Multiple partial withdrawal requests are also supported.

Yes. You can exclude products by product type, category, or individual product.

Yes. The plugin is compatible with WooCommerce HPOS.

14 calendar days from the date of delivery, or from when the customer receives the pre-contractual information if that is later. The plugin defaults to 14 days, and you can adjust it in settings.