WebToffee EU Order Withdrawal Button for WooCommerce

Description

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 order number
  • 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
  • Automatic footer link — optionally embed a withdrawal link in your store footer to meet visibility requirements
  • Configurable withdrawal period — set the window to 2, 7, 14, or 30 days (EU standard is 14 days)
  • 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)
  • 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.

Getting started

For a complete walkthrough, see the setup guide.

  1. Install and activate the plugin
  2. Go to WooCommerce > Withdrawals > Settings to configure your preferences
  3. Set your withdrawal page, period, and footer link options
  4. Publish the withdrawal page (created automatically as a draft on installation)
  5. Test the flow by placing a test order and using the Request Withdrawal button

Support

For questions or assistance, visit our support page.

Screenshots

Installation

Automatic Installation (Recommended)

  1. Log in to your WordPress admin
  2. Go to Plugins > Add New
  3. Search for EU Withdrawal Button for WooCommerce
  4. Click Install Now, then Activate
  5. Navigate to WooCommerce > Withdrawals > Settings to configure the plugin

Manual Installation

  1. Download the plugin zip file
  2. Go to Plugins > Add New > Upload Plugin
  3. Upload the zip file and click Install Now
  4. Activate the plugin
  5. Navigate to WooCommerce > Withdrawals > Settings to get started

FAQ

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 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.

Reviews

Hunyo 20, 2026
This plugin does exactly what it needs to do in a very simple, user friendly way. Now I’m waiting for the Dutch translation. I hope it will be available soon.
Hunyo 18, 2026 1 reply
Great solution. ✅ Order number is required – useful for multiple orders✅ Cancellation is first confirmed by email✅ Automatic messages to both buyer and webshop administrator at every stepStill needs to be translated, hopefully this follows soon.
Hunyo 16, 2026 1 reply
This plugin is a lifesaver. It came at the right moment and it’s super easy to use. It’s very reliable even if I have many personalized or custom implementations. It just works out of the box
Read all 3 reviews

Contributors & Developers

“WebToffee EU Order Withdrawal Button for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.2 17-06-2026

  • [Add]: Option to configure multiple recipients for admin notifications related to withdrawal requests.
  • [Add]: Product category and specific product exclusion options in the Withdrawals settings dashboard.
  • [Fix]: Error in the email preview section for withdrawal-related settings.

1.0.1 15-06-2026

  • [Add]: [wt_eu_order_withdrawal] shortcode to place the withdrawal request button anywhere on your site.
  • [Add]: WPML and multilingual support for configurable button labels.
  • [Add]: Support and Review links to the plugin row on the Plugins screen.
  • [Add]: Uninstall feedback modal when deactivating the plugin.
  • [Add]: Guest email verification workflow — simplified guest form (order number, billing email, and reason), verification email notification, duplicate request check, and queueing before a withdrawal request is created.
  • [Fix]: Logged-in withdrawal form resetting item selection when clicking other form fields.
  • [Fix]: WooCommerce order status emails no longer sent when restoring order status after rejection; orders with pending or approved withdrawal requests no longer appear in the logged-in withdrawal form.
  • [Update]: Rejection workflow — required note on the WooCommerce order screen, rejection reason shown in the customer email Request Details table, and note included when rejecting from the dashboard or order screen.

1.0.0

  • [Add]: Initial release.
  • [Add]: Customer withdrawal form for logged-in and guest customers.
  • [Add]: React admin dashboard for request management.
  • [Add]: Custom order statuses — Pending Withdrawal and Withdrawn.
  • [Add]: WooCommerce Settings tab integration.
  • [Add]: Product type based exclusions.
  • [Add]: Configurable withdrawal period.
  • [Add]: WooCommerce email notifications.
  • [Add]: HPOS compatibility.
  • [Add]: REST API.
  • [Add]: My Account integration.