Widerrufsbutton provides a structured, two-step electronic withdrawal (right of revocation) process for WooCommerce shops — compliant with § 356a BGB and EU Directive 2011/83/EU. All submissions are logged in the WordPress backend for full audit traceability.
Free version features:
- Withdrawal button via shortcode
- Withdrawal form via shortcode (place it anywhere)
- Optional modal mode or dedicated form page
- Two-step process: submission and confirmation
- WooCommerce order verification (order ID + email + withdrawal period)
- Email confirmation for customer and merchant
- Dedicated database table for audit logging
- Admin overview and detail view of all withdrawals
- Fully configurable texts, labels, error messages, and email content
- Theme-neutral base styling
Pro version add-ons:
- Partial withdrawal (select individual items and quantities)
- Elementor & Gutenberg block widgets
- PDF proof with integrity hash
- CSV export (bulk and individual download)
- HTML email templates
- Shortcode for WooCommerce email templates (order confirmation etc.)
- Advanced backend features
Security & abuse protection:
- Honeypot field (bots are silently rejected)
- Per-IP rate limiting (transients, IP stored as hash only)
- IP addresses are never stored in plain text
- Two-step confirmation with time-limited cryptographic token
Privacy:
The plugin stores only the data required to process and document a withdrawal: name, email address, order or contract reference, optional reason and remark, and timestamps. No data is transmitted to external servers. Emails are sent via the WordPress/WooCommerce mail system.
Data retention & uninstall:
Withdrawal records are retained until the shop operator deletes them. By default, plugin data is not removed on uninstall. Optionally, all plugin options and the withdrawal table can be deleted on uninstall (opt-in setting).
Legal notice:
This plugin provides a technical solution and does not replace individual legal advice.
Shortcodes
Widerrufsbutton:
[widerrufsbutton url=”/widerruf”]
Optional als Modal:
[widerrufsbutton target=”modal” layout=”multi”]
Widerrufsformular:
[widerrufsformular]
Layout-Option (mehrstufig):
[widerrufsformular layout=”multi”]
Settings
Admin location: Withdrawal Button → Settings
Form tab:
- withdrawal period in days
- merchant email (optional)
- target URL for the withdrawal button
- optional data deletion on uninstall
Text tab:
- headings and helper texts
- form labels
- button texts
- validation and error messages
- email subject lines and email body templates
Email placeholders
- {customer_name}
- {customer_email}
- {contract_ref}
- {remark_line}
- {confirmed_at}
- {withdrawal_id}
- {admin_link}
- {statement}