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
Compatible Plugins
- Sequential Order Number plugins
- Product Bundles by WooCommerce
- WebToffee eCommerce Marketing Automation
- WPML
Getting started
For a complete walkthrough, see the
setup guide or watch the video below.
[youtube
https://www.youtube.com/watch?v=hXjS5bEtIJY]
- Install and activate the plugin
- Go to WooCommerce > Withdrawals > Settings to configure your preferences
- Set your withdrawal page, period, and footer link options
- Publish the withdrawal page (created automatically as a draft on installation)
- Test the flow by placing a test order and using the Request Withdrawal button
Support
For questions or assistance, visit our
support page.
Automatic Installation (Recommended)
- Log in to your WordPress admin
- Go to Plugins > Add New
- Search for EU Withdrawal Button for WooCommerce
- Click Install Now, then Activate
- Navigate to WooCommerce > Withdrawals > Settings to configure the plugin
Manual Installation
- Download the plugin zip file
- Go to Plugins > Add New > Upload Plugin
- Upload the zip file and click Install Now
- Activate the plugin
- Navigate to WooCommerce > Withdrawals > Settings to get started