xpay✦ Commerce
Directory
WooCommerce plugins
W3S EU Withdrawal Request for WooCommerce
W3S EU Withdrawal Request for WooCommerce
EU consumer right-of-withdrawal for WooCommerce: a guest withdrawal form, admin request workflow, custom order statuses and privacy tools.
Will this break my store?
What the WordPress.org registry says about keeping W3S EU Withdrawal Request for WooCommerce running.
Tested to 7.1
Tested against the WordPress branch in use today.23 days ago
7.4
Your host must be running at least this version.6.2
woocommerce
These must be installed and active first.1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how W3S EU Withdrawal Request for WooCommerce is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
7 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
Implements the withdrawal (“cancellation”) function required by Directive (EU) 2023/2673, on top of the consumer right of withdrawal in Directive 2011/83/EU: 14 calendar days from receipt, a guest-accessible withdrawal form, and a complete admin workflow.
- Guest-accessible public form — order number + email or phone lookup (rate-limited; orders of registered customers also match their account email), line items shown with thumbnail / SKU / variation attributes, EU Annex I.B fields, an optional reason, a refund IBAN asked only on bank-transfer orders (stored encrypted, masked in the UI), a two-step confirmation, an acknowledgment email to the customer (durable medium), a merchant notification (with configurable recipients) and an order note.
- My Account — a “Withdrawal / Order Cancellation” action on eligible orders opens the pre-filled withdrawal form.
- Admin panel — a list of all requests with status / type / date filters; an approve / reject / close workflow with order notes and status-specific customer emails (accepted / rejected / completed); an optional decision reasoning that is stored, shown to the customer and available in emails via
{admin_reason}; a CSV export honoring the active filters (masked IBANs); custom order statuses “Withdrawal requested” / “Withdrawal completed”; refunds via the native WooCommerce refund UI. - Configurable withdrawal window — start point is the completion date (falling back to paid, then created) or the order creation date.
- Configurable eligible statuses — the withdrawal action appears only on the order statuses you choose (Completed by default).
- Emails with product tables — the
{items_table}placeholder renders thumbnails + SKU in WooCommerce-styled emails;{items}stays plain text. - Styling — a Styling tab sets the colours of the form’s submit button (background / text and their hover state) with a colour picker and a live preview, so the form matches your theme.
- Requests stored in dedicated custom tables (dbDelta), not post meta.
- English source, translation-ready — every string uses the
w3s-eu-withdrawal-request-for-woocommercetext domain and ships with an up-to-date.pottemplate; locales are served by translate.wordpress.org. - HPOS-compatible — declares
custom_order_tablescompatibility and uses the WooCommerce order CRUD exclusively. - Privacy tools — a personal-data exporter and eraser for stored request data.
Note: the encrypted IBAN key derives from the site’s AUTH salts; rotating the salts makes previously stored IBANs unreadable.
Pro edition
The Pro edition adds a product exclusion engine for made-to-order / personalised goods (Article 16(c) of Directive 2011/83/EU):
- exclusion rules by attribute / brand / category / tag or by individual product ID (parent categories cascade to their children);
- a per-product “Exclude from withdrawal” checkbox on the product edit screen;
- a checkout consent gate that appears only when the cart contains an excluded item, blocks checkout (classic and block / Store API) until the customer accepts, and stores proof of consent on the order (UTC timestamp, the exact text and a SHA-256 hash);
- excluded-item handling on the withdrawal form and multilingual (WPML / Polylang) term and product coverage.
The free and Pro editions share the same stored data, so installing Pro keeps all of your settings, texts, requests and consent records and simply unlocks the exclusions feature. Contact sales@w3specialists.com.
Excluding made-to-order / personalised products (Article 16(c) of Directive 2011/83/EU) is a feature of the Pro edition. The free edition treats every product as covered by the right of withdrawal. See the “Exclusion (PRO Feature)” tab on the settings screen, or contact sales@w3specialists.com.
Yes. Customers look up their order by its order number and their email or phone; registered customers can also use their account email. Lookups are rate-limited.
Yes. W3Specialists → EU Withdrawal Request → Styling sets the submit button’s background and text colour and their hover state, as a hex code or an rgb / rgba value, with a live preview. Everything else can be styled from your theme’s custom CSS — the form markup uses w3s-ewr- prefixed classes, and the templates can be overridden in {theme}/w3s-eu-withdrawal-request-for-woocommerce/.
Yes. The plugin declares custom_order_tables compatibility and uses the WooCommerce order CRUD exclusively.
The source language is English. Translations are served by translate.wordpress.org and install automatically — a Greek translation is available there. You can contribute your own language at https://translate.wordpress.org/projects/wp-plugins/w3s-eu-withdrawal-request-for-woocommerce/, or by translating the bundled languages/w3s-eu-withdrawal-request-for-woocommerce.pot template.
Plugin details
Tags on WordPress.org
