This project is not covered by Drupal’s security advisory policy.

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
Supporting organizations: 

Project information

Releases