From June 19, 2026, EU Directive 2023/2673 requires every online store selling to EU consumers to provide a clear, easily accessible online withdrawal function. Customers must be able to cancel a purchase digitally — just as easily as they placed the order. EU Withdrawal Button for WooCommerce by We
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.0 and PHP 7.4.
SourceWordPress plugins · Nov 7, 2026
01 / Source details
Aboutthistool.
From June 19, 2026, EU Directive 2023/2673 requires every online store selling to EU consumers to provide a clear, easily accessible online withdrawal function. Customers must be able to cancel a purchase digitally — just as easily as they placed the order.
EU Withdrawal Button for WooCommerce by WebToffee makes it straightforward to comply. The plugin adds a withdrawal button to the customer’s My Account orders page, a guided withdrawal form, a two-step confirmation flow, and a dedicated admin dashboard to manage all incoming requests.
No coding required. Works right out of the box.
What the plugin does
For your customers:
A “Request Withdrawal” button appears directly on the My Account orders list — visible only during the active withdrawal period
Customers can select which items to withdraw (full order or individual products)
A simple form collects their name, email, and an optional reason
A confirmation step prevents accidental submissions (“Are you sure you want to submit this withdrawal request?”)
Customers receive an email confirmation once the request is submitted
For you as the store admin:
A clean Withdrawals dashboard under WooCommerce > Withdrawals shows all requests at a glance
At-a-glance stats: open requests and approvals over the last 30 days
Filter requests by status, date range, or search (order # or receipt hash)
View full request details — order info, customer email, request type, reason, and a complete activity log
Approve or reject requests with one click
Configure who receives admin withdrawal notification emails — defaults to your store email, with support for multiple recipients
Key features
Withdrawal button on the orders page — visible to customers within the configured withdrawal window
Partial withdrawal support — customers can withdraw individual items instead of the entire order
Two-step confirmation flow — meets the directive’s requirement to confirm the customer’s intent
Dedicated admin dashboard — manage, filter, approve, or reject all withdrawal requests in one place
Add footer link — optionally embed a withdrawal link in your store footer to meet visibility requirements
Guest withdrawal support — guest users can submit their order number and billing email, which is matched against WooCommerce order history, then confirmed via an email verification step before the request is created
Withdrawal button shortcode — use [wt_eu_order_withdrawal] to place a withdrawal button on any page or post.
Configurable withdrawal period — set the window to 2, 7, 14, or 30 days (EU standard is 14 days), starting from order created or a chosen WooCommerce order status
Product exclusions — exclude by product type, entire categories, or specific individual products
Admin notification recipients — choose one or more email addresses to receive new withdrawal request alerts (store email added by default)
Customer contact email — set the address shown to customers in rejection emails so they know who to reach out to
SHA-256 receipt hash — every withdrawal request gets a unique SHA-256 receipt hash, included in withdrawal notification emails and shown in the request details on the admin dashboard, for easy reference and record-keeping
Order status automation — automatically update order status when a request is submitted or approved
Reason field — optionally require customers to provide a reason when submitting a request
Display scope control — show the withdrawal form globally or limit it to WooCommerce pages only
Data management — optionally delete all plugin data on uninstall
Why this matters
Under EU Directive 2023/2673 , any business that lets EU consumers sign up for or purchase something online must also let them cancel online — through the same website or app. Simply hiding a withdrawal form in a footer PDF or asking customers to email you is no longer sufficient.
The directive specifically requires:
A withdrawal function that is prominently displayed and continuously available during the withdrawal period
The function must be clearly labelled (e.g. “Withdraw from contract here” or similar)
A two-step confirmation to prevent accidental withdrawals
An acknowledgement of receipt sent to the customer on a durable medium (e.g. email)
This plugin implements all of the above.
WebToffee EU Order Withdrawal Plugin for WooCommerce – Premium Features
The free version covers the core legal requirements. The premium version adds automation, targeting, and customization options for stores that want to handle withdrawal requests with less manual effort:
Automatic refund processing : Auto-approve eligible withdrawal requests, issue the WooCommerce refund, and restock inventory without opening the order manually
EU geo-targeting : Show the withdrawal button only to shoppers in EU countries, detected via billing address for logged-in customers and WooCommerce geolocation for guests
Withdrawal Terms & Conditions page generator : Auto-generate a withdrawal policy page built on EU consumer rights requirements, with shortcodes that stay in sync with your exclusion settings
WooCommerce Subscriptions support : Enable order withdrawal for subscription orders and allow customers to request withdrawal on a subscription within the active window
Button style customization : Set separate button text for footer and My Account placements, choose a plain text link or full button, and customize colors to match your theme
Popup modal or dedicated page display Let the withdrawal form open in an accessible popup modal instead of sending customers to a separate page
Google reCAPTCHA v3 support : Filter spam submissions on the public withdrawal form without adding friction for real customers
Refund details collection for offline payments : Add a bank account/IBAN field to the withdrawal form for orders paid via cash on delivery, bank transfer, or cheque
Settings export/import : Move your full plugin configuration between sites as a JSON file, useful when rolling out the same setup across staging, live, or multiple stores
Get the premium version
Supported Languages
The plugin is translated into all 24 official EU languages:
For a complete walkthrough, see the setup guide or watch the video below.
01Install and activate the plugin
02Go to WooCommerce > Withdrawals > Settings to configure your preferences
03Set your withdrawal page, period, and footer link options
04Publish the withdrawal page (created automatically as a draft on installation)
05Test the flow by placing a test order and using the Request Withdrawal button
Support
For questions or assistance, visit our support page .
See it in action
Screenshots & previews.
Withdrawal request formWithdrawal request detailsAdmin withdrawals dashboardEU Withdrawal Button plugin general settingsProduct ExclusionsOrder Status and Email NotificationsEU Withdrawal advanced settings
02 / Source details
Gettingstarted.
Automatic Installation (Recommended)
01Log in to your WordPress admin
02Go to Plugins > Add New
03Search for EU Withdrawal Button for WooCommerce
04Click Install Now , then Activate
05Navigate to WooCommerce > Withdrawals > Settings to configure the plugin
Manual Installation
06Download the plugin zip file
07Go to Plugins > Add New > Upload Plugin
08Upload the zip file and click Install Now
09Activate the plugin
10Navigate to WooCommerce > Withdrawals > Settings to get started
03 / Source details
Frequently asked questions.
Is this plugin required for all WooCommerce stores?
If your store sells to consumers in the EU, yes — from June 19, 2026, EU Directive 2023/2673 requires an accessible online withdrawal function. This applies regardless of where your business is based.
What is the standard withdrawal period?
The EU standard is 14 calendar days from the date of purchase (or from when the customer receives the pre-contractual information, if later). You can configure the withdrawal period in the plugin settings.
Can customers withdraw only part of an order?
Yes. When partial withdrawals are enabled in settings, customers can select individual items from an order to withdraw rather than cancelling the entire order.
Does the plugin work for guest customers?
The withdrawal button on the My Account page is visible to logged-in customers. For guest order support, you can direct customers to the standalone withdrawal page using the footer link or a shortcode.
Where does the withdrawal button appear?
The “Request Withdrawal” button appears on the customer’s My Account > Orders page, next to eligible orders within the active withdrawal window.
How do I add the withdrawal link to my store footer?
Go to WooCommerce > Withdrawals > Settings and enable the Embed footer link option. You can customise the link text (default: “Request Withdrawal”).
Can I exclude certain products from withdrawal?
Yes. Under Exclusions in WooCommerce > Withdrawals > Settings , you can limit withdrawal eligibility in three ways:
Product types — exclude Virtual, Downloadable, Grouped, and External/Affiliate products.
Product categories — exclude one or more WooCommerce categories so every product in those categories is ineligible.
Specific products — search and select individual products to exclude, regardless of type or category.
Does the plugin send a confirmation email to customers?
Yes. Customers receive an email confirmation once their withdrawal request is submitted. This satisfies the directive’s requirement to acknowledge receipt on a durable medium.
Who receives the admin notification when a withdrawal request is submitted?
By default, the store email address receives the admin notification. You can change this under WooCommerce > Withdrawals > Settings > Email notifications . Add multiple recipients as removable chips, remove the default store email if needed, and add custom addresses with the Add button. At least one recipient is required before settings can be saved.
What email address do customers see if their request is rejected?
Set this under WooCommerce > Withdrawals > Settings > Email notifications > Customer contact email . This is the address shown to customers in the rejection email so they know where to follow up. It defaults to your WooCommerce store email but can be changed to any address.
What happens to the data if I uninstall the plugin?
By default, plugin data is retained when you uninstall. If you want all data (settings, withdrawal requests, database tables) removed on uninstall, enable the Delete data on uninstall option in settings. Note: this action is irreversible.
Does this plugin guarantee legal compliance?
The plugin implements the technical requirements of EU Directive 2023/2673 as understood at the time of release. However, it does not constitute legal advice. We recommend consulting a legal professional to ensure your store meets all applicable requirements in your jurisdiction.
Can I show the footer link or withdrawal button only for certain countries?
Yes. Developers can use WordPress filters to control visibility based on the visitor’s country. The plugin resolves the country from the order (when available), the WooCommerce customer session, or IP geolocation.
Available filters:
wbte_ewb_customer_country_code — override the detected ISO country code.
wbte_ewb_show_footer_withdrawal_link — show or hide the automatic footer withdrawal link.
wbte_ewb_show_withdrawal_button_shortcode — show or hide the [wt_eu_order_withdrawal] shortcode output.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati