Linux 软件免费装
Banner图

BeziWorld Withdrawal for WooCommerce

开发者 beziworld
更新时间 2026年6月2日 04:53
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

woocommerce withdrawal zwroty odstąpienie od umowy prawo konsumenckie

下载

1.0.2 1.1.0 1.2.0 2.15.4 2.15.5 2.16.0

详情介绍:

BeziWorld Withdrawal for WooCommerce is a free, GPL-licensed compliance toolkit that prepares your shop for the EU Modernisation Directive (Directive (EU) 2023/2673) which takes effect on 19 June 2026. The directive forces every online shop selling to EU consumers to expose a dedicated, one-click withdrawal function inside the shop interface. This plugin delivers that function — and goes well beyond the minimum. What this plugin gives you Built-in features (no premium upgrade required) Theme overrides Every customer-facing template can be overridden by your theme. Drop a copy of any file from templates/ into your-theme/beziworld-withdrawal-for-woocommerce/<same-path>.php and the plugin will use your version. External services This plugin performs no analytics, telemetry or remote downloads, and phones nothing home. Everything runs inside your WordPress installation. The single exception is entirely optional and off by default: if you enter a notification Webhook URL in the settings (for Slack, Discord or your own endpoint), the plugin sends a small JSON payload to that URL when a withdrawal is submitted. The payload contains the event name and the withdrawal and order identifiers (and the order number). No webhook is configured by default and nothing is sent unless you set a URL; the destination is the address you choose.

安装:

  1. Activate WooCommerce 8.0 or newer if it is not already active.
  2. Upload the plugin via Plugins → Add New → Upload Plugin, or unzip into /wp-content/plugins/.
  3. Activate the plugin through the Plugins screen.
  4. A Withdraw from contract page is created automatically — link it from your terms of sale.
  5. Go to WooCommerce → Withdrawal Settings to review the defaults (button labels, refund policy, eligibility rules, storefront notices).
  6. The plugin is now live. Logged-in customers see the Withdrawal tab inside My Account; guests can use the public page with the [bzww_withdrawal_form] shortcode.

屏幕截图:

  • Item-level partial withdrawal form — pick which items and how many units to return.
  • Admin list of withdrawal statements with bulk actions and CSV export.
  • Settings page — customer-facing labels, refund policy and eligibility rules.

升级注意事项:

2.16.0 Adds an optional expiry for guest withdrawal links (off by default). No action needed unless you want to enable it. 2.15.5 Polishes the settings-screen layout. No configuration needed. 2.15.4 Lets shop managers (not just administrators) save the plugin settings. No configuration needed. 2.15.3 Improves personal-data erasure so in-progress withdrawals are retained until finalised. No configuration needed. 2.15.2 Corrects the timezone handling of recorded delivery dates in the deadline calculation. No configuration needed. 2.15.1 Security fix for the acknowledgement-certificate feature. Updating is recommended. 2.15.0 Documentation-only release: inline developer hook reference. No code changes. 2.14.0 Adds an overdue-refund count to the stats CLI command and REST endpoint. No configuration needed. 2.13.0 Surfaces overdue-reimbursement warnings on the main dashboard widget. No configuration needed. 2.12.0 Corrects Polish plural forms for counted strings. No configuration needed. 2.11.0 Adds a reimbursement-deadline warning on the Withdrawals screen. No configuration needed. 2.10.0 Adds per-status counts to the Withdrawals admin list filters. No configuration needed. 2.9.0 Adds a read-only /wp-json/bzww/v1/stats REST endpoint for monitoring. No configuration needed. 2.8.0 Adds a "Top reasons" breakdown to the dashboard widget. Reasons are recorded from this version onward. 2.7.0 Adds a wp bzww stats WP-CLI command. No configuration needed. 2.6.0 Adds a withdrawal-rate figure to the dashboard widget. No configuration needed. 2.5.0 Adds average refund and average time-to-refund to the dashboard widget. No configuration needed. 2.4.0 Adds a "Record delivery date" order action that sets the start of the withdrawal window. Optional; no change to existing behaviour. 2.3.0 Adds a configurable deadline basis (completed / order / payment date) and optional grace days. Default behaviour (order completed date) is unchanged. 2.2.0 Adds optional Slack/Discord/generic webhook notifications on withdrawal submission. Off by default. 2.1.0 Adds optional Article 16(m) digital-content consent capture at the classic checkout. Off by default; no change unless enabled. 2.0.0 Milestone release consolidating the 1.x compliance toolkit and adding an onboarding Help tab. No breaking changes — safe to upgrade; your settings and records are preserved. 1.5.0 Adds a compliance readiness checklist to the settings screen and refines frontend styling for default themes. 1.4.0 Adds a printable/PDF-ready acknowledgement certificate linked from the confirmation email and the consumer's confirmation screen. 1.3.0 Adds a one-click Annex I.A/I.B legal-text generator and an optional two-step confirmation screen, plus default-theme styling refinements. 1.2.0 Adds always-visible withdrawal access (footer link + optional sticky bar), an optional validated IBAN refund field, and WCAG 2.1 AA accessibility improvements. 1.1.0 Adds a tamper-evident SHA-256 receipt code to the withdrawal acknowledgement, clearer receipt-only wording, and spam/rate-limit hardening on the public forms. Recommended for all sites. 1.0.2 Follow-up maintenance release addressing the PHPCS escape-output finding on the settings page reported during WordPress.org review. 1.0.1 Maintenance release addressing WordPress.org plugin-directory review feedback (escaping discipline, no inline scripts). 1.0.0 Initial release.

常见问题:

Is this plugin enough to make my shop compliant with EU 2023/2673?

The plugin covers the technical requirements: a dedicated withdrawal function, a clearly labelled button, immediate confirmation on a durable medium, item-level selection, and a refund mechanism within 14 days. You still need to update your terms of sale, your privacy policy and the order summary copy. The plugin does not provide legal advice. Consult a lawyer for the specifics of your jurisdiction.

How do guests (logged-out customers) submit a withdrawal?

The plugin auto-creates a public page on activation with the [bzww_withdrawal_form] shortcode. Guests visit that page, enter their order number and the email used at checkout. After verification, the plugin issues a single-use token and shows the same withdrawal form a logged-in customer would see. The link is also embedded in the order confirmation email for one-click access.

Does it support multi-shipment orders?

Yes. The 14-day clock starts after the last parcel is delivered. Because WooCommerce core does not track shipment-level delivery, the plugin uses the order completion timestamp by default and exposes a bzww/order/delivered_at filter so a shipping/tracking plugin can override it.

How are digital products handled?

Per Article 16(m) CRD, sealed digital products and downloadable software are excluded by default. Products flagged as Virtual + Downloadable in WooCommerce are skipped automatically.

Can a customer cancel a pending withdrawal?

Yes. While a statement is in the pending state the customer sees a "Cancel this withdrawal" button on the success page in My Account.

Does it work with HPOS / custom order tables?

Yes. The plugin declares full HPOS compatibility on activation.

Where are records stored?

In a private custom post type, bzww_withdrawal. Each statement is one post with meta fields holding order id, items, amount, IP and user-agent.

How do I add public holidays for a country other than Poland?

Use the bzww/eligibility/holidays filter to return an array of Y-m-d strings. The plugin will roll the 14-day deadline forward when it lands on one of those dates.

Can I customise the withdrawal period?

Yes. WooCommerce → Withdrawal Settings → Withdrawal period (days) — set anywhere between 14 and 60 days. The default is the 14 days mandated by EU law; the minimum cannot go below the statutory 14.

Can the admin adjust the refund amount before issuing?

Yes. Each withdrawal detail page has an editable Refund amount input pre-filled with the calculated value. Override it to deduct a restocking fee or to account for the condition of returned goods.

Where can I learn about the available hooks?

The plugin is built to be extended. The main filters and actions are listed below; all pass the relevant order or withdrawal so you can tailor behaviour without touching plugin files. Eligibility & deadlines (filters)

  • bzww/eligibility/excluded_statuses — order statuses excluded from withdrawal.
  • bzww/eligibility/deadline — the computed withdrawal deadline (DateTime).
  • bzww/eligibility/holidays — extra non-working days for weekend/holiday roll-over.
  • bzww/order/delivered_at — override the delivery date the deadline is based on.
  • bzww/rules/order, bzww/rules/item — allow or deny a specific order or line item.
  • bzww/withdrawal/deny_duplicate — whether to block a second statement for the same order.
Refunds (filters)
  • bzww/refund/deadline_days — statutory reimbursement deadline in days (default 14).
  • bzww/refund/args — arguments passed to the WooCommerce refund.
  • bzww/refund/cheapest_shipping — override the cheapest-delivery amount (Art. 13(2)).
Lifecycle (actions)
  • bzww/withdrawal/submitted ( $withdrawal_id, $request, $order )
  • bzww/withdrawal/cancelled ( $withdrawal_id )
  • bzww/withdrawal/status_changed ( $withdrawal_id, $previous, $current )
  • bzww/withdrawal/transition_to_{status} ( $withdrawal_id, $previous )
  • bzww/refund/before, bzww/refund/after, bzww/refund/failed
  • bzww/plugin/booted ( $plugin )
Security, presentation & integration (filters)
  • bzww/submit/rate_limit, bzww/submit/rate_window, bzww/lookup/rate_limit, bzww/lookup/rate_window — throttling.
  • bzww/request/client_ip — resolved client IP behind proxies.
  • bzww/lookup/resolve_order — custom guest order lookup.
  • bzww/csv/columns, bzww/csv/row — admin CSV export shape.
  • bzww/webhook/payload — outbound webhook body.
  • bzww/templates/theme_directory, bzww/templates/located — template overrides.
  • bzww/placement/html, bzww/placement/tokens, bzww/access/label, bzww/access/url — front-end placement.
  • bzww/checkout/digital_consent_text, bzww/assets/should_enqueue, bzww/model_form/policy_html, bzww/model_form/model_form_html.
A REST endpoint GET /wp-json/bzww/v1/stats (capability manage_woocommerce) and the wp bzww CLI commands are also available for monitoring and automation.

更新日志:

2.16.0 2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.0 2.13.0 2.12.0 2.11.0 2.10.0 2.9.0 2.8.0 2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.0 2.0.0 1.5.0 1.4.0 1.3.0 1.2.0 1.1.0 1.0.2 1.0.1 1.0.0