plugin-icon

ErreD EU Order Withdrawal for WooCommerce

لصاحبه Dany Ray·
Digital withdrawal function for WooCommerce — the EU "easy withdrawal" duty (Directive 2023/2673), in force from 19 June 2026.
النسخة
0.5.4
آخر تحديث
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

مجانيعلى الخطط المدفوعة
إذا أتممت بالتثبيت، فإنك توافق على شروط خدمة ووردبريس.كوم ووشروط إضافات الأطراف الثالثة.
تم اختباره حتى
WordPress 7.0
تتوفّر هذه الإضافة للتنزيل لتُستخدم في عملية التثبيت لديك.