Skip to content

Settings

Go to module settings: WPify → WPify Woo → Withdrawal & Claim.

The settings are split into three tabs.

Page where the withdrawal form is rendered (via shortcode [wpify_woo_withdrawal_form] or the Withdrawal form Gutenberg block).

Empty = withdrawal functions are disabled — no button in My Account, no email, no link injection.

How many days the customer has to withdraw, counted from the period start (see below). Statutory minimum in CZ/SK is 14 days. Higher values are allowed (consumer-friendly).

Default: 14

When the order first reaches any of these statuses, both the withdrawal countdown and the warranty countdown (Claim tab) start. Default “Completed” works for most shops. If you have a custom status like “Delivered”, select that instead — if multiple are selected, the earliest transition wins.

Default: Completed

Texts on the buttons:

  • Button text — opens the form (My Account, transactional emails). Default: “Withdraw from contract”
  • Confirm button text — final submission inside the form. Default: “Confirm withdrawal”
Section titled “Inject withdrawal link into these WC emails”

Selected WooCommerce emails will get a section with a link to the withdrawal form. The link is rendered only if the period is still running, the page is assigned, and the order is in an eligible status.

Default: Completed order (customer email)

Page where the claim form is rendered (via shortcode [wpify_woo_claim_form] or the Claim form Gutenberg block). Both forms can share a single page — see the Developers section.

Empty = claim functions are disabled.

How many months the warranty lasts, counted from the period start (configured on the Withdrawal tab — same start point applies). Statutory minimum in CZ/SK is 24 months.

Default: 24

  • Button text — opens the form. Default: “File a claim”
  • Confirm button text — final submission. Default: “Submit claim”

Two independent layers protect against abuse.

Layer A — Submission count (DB-based)

Counts only successfully stored requests for an order.

SettingDefaultDescription
Max requests per order5Maximum number of stored requests on the same order, regardless of type.
Min seconds between requests60Minimum gap between two stored requests on the same order.

Layer B — Attempts counter (transient-based)

Counts all submission attempts per IP per hour, including failed validations (email mismatch, expired period, etc.). Throttles brute-force attempts.

SettingDefaultDescription
Max attempts per IP per hour10Maximum number of submission attempts per IP per hour.

In the WooCommerce product editor, the Withdrawal & Claim tab adds four per-product overrides:

SettingTypeDescription
Excluded from withdrawalCheckboxCustomer cannot withdraw from contract for this product (custom-made, hygiene, perishable…).
Excluded from warranty/claimCheckboxCustomer cannot file a claim for this product.
Withdrawal period override (days)NumberPer-product override of the global withdrawal period. Leave empty to use the global value.
Warranty months overrideNumberPer-product override of the global warranty period. Useful for extended warranties.

For variable products, set the meta on the parent product — variations inherit.

Orders in the following statuses are blocked from new withdrawal/claim requests:

  • refunded — Refunded
  • cancelled — Cancelled
  • failed — Failed
  • checkout-draft, auto-draft — Draft

For these orders, the plugin doesn’t show buttons in My Account, doesn’t inject email links, and rejects form submissions. Existing submitted requests remain visible for transparency (so the customer can see “I requested withdrawal on date X, the order is now refunded — request resolved”).

The status list is filterable — see the Developers section.

After making all adjustments, save the settings using the button at the bottom of the page.