This module provides a customer-facing form for customers to request withdrawal from an order, often related to consumer rights. It records the withdrawal request, sends a confirmation email to the customer (and optionally the merchant), but does not automatically cancel or refund the order, leaving those actions to staff or custom code.
This module is not stable yet, use with caution!
Commerce Order Withdrawal adds a customer-facing order withdrawal form (the EU right of withdrawal) to Drupal Commerce.
A customer identifies an order, submits the form, and the module records the request on the order and sends a confirmation email (with an optional BCC to the merchant). It is deliberately lightweight: it records and notifies — it does not cancel or refund the order, leaving that to your staff or to custom code reacting to its events.
1. Install
composer require maetva/commerce_order_withdrawal drush en commerce_order_withdrawal -y drush cr
2. Grant the permission
At /admin/people/permissions, give "Use the order withdrawal form" (access commerce order withdrawal form) to the relevant roles.
You may want to prohibit anonymous to use this form on a non-guest-checkout. The user dedicated form stays usable.
3. Enable per order type (opt-in)
At /admin/commerce/config/order-types/{type}/edit → open the Order withdrawal section:
- ☑ Enable order withdrawal for this order type (required — nothing is withdrawable until this is on)
- Withdrawal confirmation subject — token-aware (
[commerce_order:*]); empty = default - Withdrawal confirmation BCC — token-aware; empty = no copy
Email body = the commerce-order-withdrawal-confirmation Twig template → override in your theme to change wording (no message field in config).
4. (Optional) Show the withdrawal link
- Order page: enable the Withdrawal link field at
…/edit/display - Customer orders View: add the Order withdrawal link field