plugin-icon

DrSmart Withdrawal & Cancellation Requests for WooCommerce

제작자: drsmartmodules·
Handle withdrawal and cancellation requests in WooCommerce: a structured form, deadlines, evidence numbers and six languages.
버전
1.0.0
최근 업데이트일
Aug 17, 2026
DrSmart Withdrawal & Cancellation Requests for WooCommerce

Since 19 June 2026, Article 11a of the Consumer Rights Directive requires an online withdrawal function that is prominently displayed, easy to find and continuously available throughout the withdrawal period. Withdrawing must not be harder than buying was.

This plugin adds that function to your store, records every declaration as dated evidence with its own reference number, and gives you a back office to work through the requests.

A declaration is accepted even when no order can be matched. That is deliberate: the consumer’s right does not depend on your shop finding their record.

Six languages, and two separate language settings

The plugin ships with complete Dutch, German, French, Spanish and Italian translations alongside English as the source language, using the legal terminology each country actually uses rather than a literal rendering of the English.

There are two language settings, not one: what your customers see and what your own back office shows. A Dutch shop run from an English admin sends Dutch customers Dutch notices, which is impossible when a plugin simply follows the site language.

Every string is translation-ready and the .pot file is included, so any further locale can be added through translate.wordpress.org.

What your customers get

  • A clear two-step form: identify the purchase, then declare the withdrawal
  • Works for guests and for logged-in customers alike
  • Partial withdrawal: select which order lines and which quantities
  • No reason required, because the directive does not oblige consumers to give one
  • A confirmation e-mail with their reference number
  • A printable confirmation document behind a signed link, valid for two years, which they can save as PDF as proof they declared in time

What you get

  • Requests list with search, status filters, sorting and a deadline column that flags what is expiring
  • Detail screen with four independent statuses: declaration, return, exchange and refund, each with its own permitted transitions
  • Full history of every status change, with internal notes
  • Sequential reference numbers, generated atomically so two customers submitting in the same second can never share one
  • Deadlines calculated from the delivery date, not the order date, as the directive requires
  • A panel on the WooCommerce order screen showing any linked request, so nobody processes a refund without seeing it
  • Every e-mail logged, sent or failed, so you can answer a customer who says they never received their confirmation

Privacy and retention

  • Nothing is sent to any external service. All data stays in your own database.
  • IP addresses and user agents are not stored unless you switch that on, and are hashed where they are used at all.
  • Optional automatic anonymisation once your retention period ends: personal data is overwritten, the dated record of the declaration is kept.
  • Native integration with Tools then Export and Erase Personal Data, plus suggested privacy policy wording.
  • Data is preserved on uninstall by default, because declarations are evidence you may be required to produce.

WooCommerce

WooCommerce is not required, but without it a declaration cannot be matched to an order. With it you get order matching on number plus e-mail address, order lines with already-refunded quantities deducted, delivery-date deadlines and the order screen panel.

Compatible with High-Performance Order Storage and with legacy order storage: all order access goes through the WooCommerce CRUD layer, so no query touches the posts tables directly.

For developers

Filters and actions throughout: drs_wd_registered_features, drs_wd_settings_schema, drs_wd_status_transitions, drs_wd_resolve_order_number, drs_wd_delivery_date, drs_wd_client_ip, drs_wd_reason_options, drs_wd_evidence_number, drs_wd_mail, drs_wd_declaration_created, drs_wd_status_changed, drs_wd_request_anonymised.

Templates can be overridden from your theme by copying them to yourtheme/eu-withdrawal/.

No Composer dependencies, no bundled libraries, PHP 7.4 baseline.

무료유료 요금제에서
설치하면 WordPress.com 서비스 약관서드파티 플러그인 약관에 동의하게 됩니다.
테스트된 버전
WordPress 7.0.4
이 플러그인은 다운로드할 수 있으며 에서 사용할 수 있습니다.