
外掛標籤
開發者團隊
② 後台搜尋「Purchase Contract Withdrawal Button for WooCommerce」→ 直接安裝(推薦)
原文外掛簡介
Purchase Contract Withdrawal Button for WooCommerce adds a clearly-labeled “Withdraw from purchase contract” button to each customer’s order detail page in WooCommerce My Account. It implements the two-step submission process required by EU consumer law: the customer clicks the button, reviews their order details, optionally provides a refund bank account and reason, and then explicitly confirms.
After submission:
The order is moved to a configurable status (default: On hold)
A note is added to the order with the customer’s reason and refund account
The customer receives a confirmation email
The store administrator receives a notification email with all submission details
Both emails are registered as standard WooCommerce email classes and can be customized in WooCommerce → Settings → Emails.
Legal context
This plugin is designed to help merchants comply with EU Directive 2023/2673, which requires online merchants to provide consumers with a direct online function to withdraw from a contract — the same way they could enter into it. In the Czech Republic, this obligation enters into force on 19 June 2026 under § 1830a of the Civil Code (the so-called “button amendment 2.0”). Similar transposition is required across all EU member states.
The plugin is not legal advice. Merchants remain responsible for ensuring their full implementation (including terms and conditions, refund processing, and goods return) complies with applicable law.
Features
Two-step submission — button click → form with details → explicit confirmation
Guest shortcode — optional [pcwb_withdrawal_form] for non-logged-in customers (order number + billing email lookup, rate-limited)
Configurable cooling-off period — default 14 days, adjustable per store
Date of delivery meta box — admin can record when the goods were received; the cooling-off period then runs from that date (legally correct under EU law)
Configurable eligible statuses — choose which order statuses show the button
Configurable post-submission status — typically On hold or Processing
WooCommerce email integration — customer + admin emails as native WC_Email classes
Admin overview — dedicated “Withdrawals” screen under WooCommerce: filter by pending/resolved, search, CSV export, bulk “Mark as resolved”
Order actions — admins can submit a withdrawal on behalf of the customer (e.g. phone request) and mark requests resolved from the order edit screen
Translatable — full text domain, .pot included, all 24 official EU languages bundled (Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish)
Theme-overridable templates — copy templates/withdrawal-form.php or templates/guest-lookup.php into your theme to customize
HPOS-compatible — works with WooCommerce’s High-Performance Order Storage
Filters and actions
pcwb_eligible_statuses — array of statuses where the button is shown
pcwb_period_days — cooling-off period override
pcwb_period_reference_date ($date, $order) — override the cooling-off reference date
pcwb_new_status — order status applied after submission
pcwb_admin_recipient — admin email recipient override
pcwb_after_submit ($order, $reason, $account, $source) — fires after a successful submission (source = customer|guest|admin)
pcwb_after_resolve ($order, $resolved_by_user_id) — fires when an admin marks a withdrawal resolved
