plugin-icon

ErreD EU Order Withdrawal for WooCommerce

Por Dany Ray·
Digital withdrawal function for WooCommerce — the EU "easy withdrawal" duty (Directive 2023/2673), in force from 19 June 2026.
Versão
0.5.4
Última atualização
Jul 7, 2026
ErreD EU Order Withdrawal for WooCommerce

From 19 June 2026, EU Directive 2023/2673 requires online stores across the European Union to provide a digital withdrawal function: a way to cancel a distance contract online that is at least as easy to use as the purchase flow itself. A single “cancel” button is not enough. The law requires a clearly labelled, continuously available function, a two-step confirmation, and an acknowledgement on a durable medium whose timestamp fixes the legal moment of communication.

ErreD EU Order Withdrawal for WooCommerce implements that function end to end — not just the button, but the declaration flow, the two-step confirmation, the durable-medium receipt, the eligibility rules and the merchant review tools needed to actually comply.

It ships the Italian transposition out of the box (art. 54-bis of the Codice del Consumo, introduced by D.Lgs. 209/2025) with the legally-fixed label «recedere dal contratto qui», and it is fully translatable for other EU markets.

The plugin does not create a right of withdrawal: it provides the online channel to exercise an existing one, honouring the legal exceptions (e.g. art. 59 in Italy). It is built security-first, is WooCommerce High-Performance Order Storage (HPOS) native, and works fully offline (no external service calls).

For consumers

  • A clearly labelled, continuously available withdrawal function on the My Account orders screen.
  • A two-step declaration and confirmation flow (“conferma recesso”), server-rendered so it works even with JavaScript disabled.
  • An acknowledgement on a durable medium (email plus a stored PDF receipt) whose timestamp fixes the moment of communication — the legal start date (dies a quo) for refund deadlines.
  • Reachable by guest-checkout customers through a per-order signed link in their order emails and on the order-received page, with no order enumeration.

For merchants

  • A React admin screen to review requests, filter by status, search by order, name or email, view the audit timeline, view/regenerate the durable receipt and mark requests refunded or rejected.
  • A menu badge counting the requests awaiting action.
  • A conservative, configurable eligibility engine (withdrawal window, start trigger, per-product and per-category exclusions) that fails closed when configuration is missing.
  • Optional WooCommerce Subscriptions support: a confirmed withdrawal cancels the subscription (status transition only — subscription data is never deleted).
  • An append-only audit trail and tamper-evident receipts (SHA-256 of the receipt payload).

Built to standard

  • Security-first: capability + nonce/REST permission checks and input sanitisation / output escaping on every privileged path; signed, rate-limited guest access.
  • Accessibility: WCAG 2.2 AA, verified with automated axe checks.
  • Fully translatable; ships a complete Italian (it_IT) translation.

This plugin encodes legal and security intent; it is not legal advice. The mapping of the art. 59 exceptions to your catalogue and the durable-medium content must be validated by a qualified legal professional before relying on them.

Source code and build process

This plugin ships its complete, human-readable source. The compiled assets in build/ are generated from the React/JS/CSS source in assets/ with @wordpress/scripts.

  • JS/CSS source: assets/admin/ and assets/frontend/
  • Generated bundles: build/admin/ and build/frontend/
  • Rebuild the bundles: composer install && npm ci && npm run build
  • Runtime PHP dependencies (Dompdf) are managed with Composer.

Development repository: https://github.com/erred74/ErreD-EU-Order-Withdrawal-for-WooCommerce

Freeem planos pagos
Ao instalar, você concorda com os Termos de Serviço do WordPress.com e com os Termos do plugin de terceiros.
Testado até
WordPress 7.0
Esse plugin está disponível para download para o seu .