Documentation

Right of Withdrawal for WooCommerce — installation, configuration, and daily use.

Requirements

RequirementVersion
WordPress6.0 or later
WooCommerce7.0 or later
PHP8.0 or later

HPOS (High-Performance Order Storage) is fully supported. The plugin works on any permalink structure, including "Plain".

Installation

  1. Download the zip file from your license email or the customer portal.
  2. Go to Plugins → Add New → Upload Plugin in the WordPress admin and select the zip file.
  3. Activate the plugin. On activation it automatically creates:
    • a database table for withdrawal cases
    • a "Withdraw purchase" page with the guest form (shortcode [arw_guest_form])
  4. Go to WooCommerce → Settings (Withdrawal) and fill in your contact details.

License activation

A license screen is shown on first activation. Paste the license key from your purchase confirmation email and click Activate License. The license and account are then managed via the menu under WooCommerce.

During the 14-day trial, all features work without a license key. If the license later becomes inactive, the customer-facing flow is paused — but all cases and settings remain and resume as soon as the license is activated again.

Settings

Everything is configured under WooCommerce → Settings (Withdrawal):

SectionDescription
LanguageLanguage for customer-facing pages and admin. Default: site language.
Notification addressEmail address that receives notifications about new withdrawal cases.
Customer contactContact person, email, phone, and opening hours — shown to customers in forms and emails (the EU human-contact requirement).
Withdrawal periodsCategory slug for PEPP products (30-day period).
Automatic order handlingWhich order status an order receives when a case is approved (e.g. Cancelled or Refunded). Note: the status change does not move any money — the actual refund is made on the order page through your payment provider.
SMS notificationsProvider (46elks/Twilio), sender, country code, and when to send SMS.

Customer flow

Logged-in customer

  1. A "Withdraw purchase" button appears on each eligible order under My Account → Orders.
  2. The customer reviews the order summary (products, dates, withdrawal deadline) and confirms.
  3. A receipt is sent immediately by email (and SMS if enabled). Status is shown under My Account → Withdrawal requests.

Guest

  1. The customer opens the "Withdraw purchase" page and enters their email address + order number.
  2. The order is shown for review, the customer confirms, and receives the receipt instantly.

Withdrawal deadlines

TypePeriodCondition
Standard14 daysMost products
PEPP30 daysProduct in the configured PEPP category
Extended12 months + 14 daysEnabled manually per order

The period is counted from the delivery date (order completed), or the order date if no delivery date exists. The extended period is toggled in the order's Right of withdrawal meta box.

Case management

Manage all cases under WooCommerce → Right of withdrawal. Status flow: Received → In progress → Approved / Rejected → Closed.

  • Status changes automatically notify the customer by email (and optionally SMS).
  • On Approved, the order can automatically receive a chosen WooCommerce status, with an order note.
  • On Approved, a shortcut is also shown — "Open the order to issue the refund" — taking you straight to the order in WooCommerce.
  • CSV export is available at the bottom of the case list.
Important about the refund: approving a case (or the automatic order status) does not move any money. The refund to the customer's payment method is made on the order page in WooCommerce via the Refund button, which sends the money back through your payment provider. Under the EU consumer rules, the refund must be made within 14 days of the withdrawal request.

SMS notifications

SMS is an accepted durable medium under the directive and can complement the email receipt. Two providers are supported:

  • 46elks — API username + password, alphanumeric sender (max 11 characters).
  • Twilio — Account SID + Auth Token + sender.

A default country code (e.g. +46) converts national numbers to international format. Test your credentials with the "Send test SMS" button in the settings.

Shortcodes

ShortcodeDescription
[arw_guest_form]The withdrawal form — guest flow for logged-out visitors, account flow for logged-in customers. Added automatically to the "Withdraw purchase" page on installation.
[arw_angra_kop_link text="..."]Link to the withdrawal page, with optional link text.

Languages

The plugin follows the site language (Settings → General). English is the source language, and ready-made translations are included for Swedish, French, German, and Spanish. Logged-in customers' emails and SMS are sent in the customer's profile language; guest messages follow the site language.

Need help? Contact us at info@ed1.se.