WP Manifestindependent plugin directory
manifest / ecommerce / plogins-withdraw

Withdraw - EU Right of Withdrawal & Returns for WooCommerce

Plogins Withdraw - EU right-of-withdrawal button & form for WooCommerce (Directive 2023/2673)

by WPPoland · github.com/wppoland/plogins-withdraw · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/wppoland/plogins-withdraw/archive/refs/heads/main.zip

EU right-of-withdrawal button and form for WooCommerce (Directive 2023/2673, Art. 11a). Lets customers declare a full or partial withdrawal from a distance contract, logs it in the admin, and emails the customer and the shop. Request-and-log only, the merchant refunds in the normal order screen.

Features

  • [withdraw_form] shortcode: two-step form, order lookup (number + billing email, guest-safe) → item/quantity selection + withdrawal declaration.
  • Full or partial (per-item) withdrawal.
  • "Withdraw from this order" button under My Account order details (the visible withdrawal button), pre-fills the order.
  • Configurable withdrawal period (default 14 days) from delivery/completion; eligible order statuses.
  • Admin log (WooCommerce → Withdrawal Requests) with statuses: pending / accepted / rejected / processed.
  • Customer confirmation + shop notification emails.
  • Editable model withdrawal text (Annex I.B).
  • HPOS + Cart/Checkout Blocks compatible.

Architecture

Family kit pattern (namespace Withdraw\): Plugin singleton + Container, Migrator (creates {prefix}_withdraw_requests, version-gated, multisite-safe), Service\WithdrawalService (shortcode + flow + emails), Service\RequestRepository (prepared CRUD), Frontend\MyAccount (order button), Admin\Settings + Admin\RequestsAdmin. Fires withdraw/booted for a future PRO.

Development

composer install
composer cs        # PHPCS
composer analyse   # PHPStan level 6
npx @wordpress/env start