
內容簡介
Purchase Contract Withdrawal Button for WooCommerce 外掛為 WooCommerce 的訂單詳細頁面新增一個「撤回購買合約」按鈕,協助商家遵循歐盟消費者法規,提供消費者撤回合約的功能。
【主要功能】
• 兩步驟提交流程:按鈕點擊 → 詳細表單 → 明確確認
• 訪客短碼:提供非登入用戶使用的撤回表單
• 可調整的冷卻期:預設為 14 天,可依商店調整
• 訂單狀態配置:選擇顯示按鈕的訂單狀態
• WooCommerce 郵件整合:客戶及管理員郵件可自訂
• 管理員概覽:專用「撤回」畫面,支援篩選與匯出
外掛標籤
開發者團隊
② 後台搜尋「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, date range, CSV export, per-row and bulk “Mark as resolved”, and per-row and bulk delete of a withdrawal record (removes the withdrawal data from the order without deleting the order itself)
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
pcwb_after_delete ($order) — fires after an admin removes a withdrawal record from an order
