Title: gRDV Cancellation &amp; Contract Termination
Author: grdv
Published: <strong>August 24, 2026</strong>
Last modified: August 24, 2026

---

Search plugins

![](https://ps.w.org/grdv-widerruf/assets/banner-772x250.png?rev=3662838)

![](https://ps.w.org/grdv-widerruf/assets/icon-256x256.png?rev=3662838)

# gRDV Cancellation & Contract Termination

 By [grdv](https://profiles.wordpress.org/grdv/)

[Download](https://downloads.wordpress.org/plugin/grdv-widerruf.2.2.1.zip)

 * [Details](https://wordpress.org/plugins/grdv-widerruf/#description)
 * [Reviews](https://wordpress.org/plugins/grdv-widerruf/#reviews)
 *  [Installation](https://wordpress.org/plugins/grdv-widerruf/#installation)
 * [Development](https://wordpress.org/plugins/grdv-widerruf/#developers)

 [Support](https://wordpress.org/support/plugin/grdv-widerruf/)

## Description

gRDV Cancellation & Contract Termination provides two separate public workflows 
without requiring WooCommerce or another shop system:

 * an electronic cancellation function with popup or standalone form;
 * a public contract termination button and direct confirmation page.

Cancellation shortcodes:

 * `[grdv_widerruf_button]` follows the globally configured popup or page behavior;
 * `[grdv_widerruf_button mode="popup"]` explicitly opens the accessible popup;
 * `[grdv_widerruf_button mode="page"]` explicitly links to the configured cancellation
   page;
 * `[grdv_widerruf_form]` renders the cancellation form on a page.

Contract termination shortcodes:

 * `[grdv_kuendigung_button]` renders the configurable public cancellation link;
 * `[grdv_kuendigung_form]` renders the complete confirmation form on one public
   page.

The contract termination form captures the termination type, reason for an extraordinary
termination, identifying data, contract identification, and requested end date. 
The public `Verträge hier kündigen` and final `jetzt kündigen` labels remain fixed.
After submission, the plugin stores the declaration with a reference and server-
side timestamp, immediately shows a receipt, offers a permanent text download, and
sends receipt emails to the consumer and operator.

The Stripe customer portal is not required for submitting a cancellation. Operators
can match and process the recorded declaration manually or add a separate server-
side Stripe integration later.

This plugin is only a technical aid, not legal advice. Its supplied texts and workflows
are general suggestions and carry no guarantee of completeness, currency, fitness
for a particular business model, or legal compliance. Have the complete production
setup reviewed by qualified counsel before use and after relevant legal changes.
The website operator remains responsible for configuration, placement, privacy information,
delivery monitoring, retention, deletion, and processing. This notice does not limit
liability that cannot legally be excluded.

#### Privacy and data handling

Submitted declarations are stored in dedicated tables in the site’s own WordPress
database. Depending on the form, this includes the name, email address, contract
information, optional message or cancellation reason, requested end date, submission
time, receipt content, and mail-transport status. Version 2.2 and later do not record
the submitting IP address or browser user-agent for new declarations.

The plugin sends confirmation messages through the site’s configured WordPress mail
transport to the submitting person and the configured operator address. It does 
not contact a gRDV service, analytics provider, CDN, payment provider, or other 
external API. Website operators remain responsible for documenting this processing,
defining retention and deletion procedures, securing WordPress and email delivery,
and responding to data-subject requests.

Uninstalling the plugin permanently deletes its settings and both custom database
tables, including all stored cancellation and contract termination records. Export
any records that must be retained before uninstalling.

## Screenshots

[⌊The administration overview combines workflow statistics, integration shortcodes,
and the legal-use notice.⌉⌊The administration overview combines workflow statistics,
integration shortcodes, and the legal-use notice.⌉[

The administration overview combines workflow statistics, integration shortcodes,
and the legal-use notice.

[⌊Language-specific cancellation settings keep content separate while design and
delivery settings remain shared.⌉⌊Language-specific cancellation settings keep content
separate while design and delivery settings remain shared.⌉[

Language-specific cancellation settings keep content separate while design and delivery
settings remain shared.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`.
 2. Activate the plugin in WordPress.
 3. Open `gRDV Cancellation & Contract Termination` in the WordPress admin.
 4. Choose popup or standalone-page behavior in the cancellation settings. For a standalone
    page, create and publish a public page with `[grdv_widerruf_form]`.
 5. Create and publish a public cancellation page with `[grdv_kuendigung_form]`.
 6. Enter both public page URLs in the respective settings.
 7. Place `[grdv_kuendigung_button]` in a permanently available location such as the
    global footer.
 8. Test storage, browser receipts, downloads, and email delivery.

## FAQ

### Does this require WooCommerce?

No. The plugin is intentionally independent from shop and payment systems.

### Does cancellation require a WordPress or Stripe login?

No. The cancellation button and confirmation page are designed to be publicly accessible.

### Does the plugin cancel subscriptions automatically in Stripe?

No. Version 2.0 records the cancellation independently from Stripe so a failed customer
match cannot prevent receipt of the declaration. A server-side Stripe processing
integration can be added separately.

### Which cancellation button labels can I edit?

The public label `Verträge hier kündigen` and final confirmation label `jetzt kündigen`
are fixed to prevent accidental non-compliant wording.

### Is this legally compliant by itself?

No plugin can guarantee legal compliance for every contract and business model. 
Have the final setup and processing procedure reviewed by qualified counsel.

### Is it translatable?

Yes. Interface strings use the `grdv-widerruf` text domain. Configurable text and
page URLs can be maintained separately for German (informal and formal), English(
US and UK), and every additional language enabled in WPML directly in the plugin
settings. Design, delivery, and technical settings remain shared across languages;
WPML String Translation is not required for these fields. Additional languages initially
use the English source defaults until their content is customized.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“gRDV Cancellation & Contract Termination” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ grdv ](https://profiles.wordpress.org/grdv/)

“gRDV Cancellation & Contract Termination” has been translated into 2 locales. Thank
you to [the translators](https://translate.wordpress.org/projects/wp-plugins/grdv-widerruf/contributors)
for their contributions.

[Translate “gRDV Cancellation & Contract Termination” into your language.](https://translate.wordpress.org/projects/wp-plugins/grdv-widerruf)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/grdv-widerruf/), check
out the [SVN repository](https://plugins.svn.wordpress.org/grdv-widerruf/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/grdv-widerruf/) 
by [RSS](https://plugins.trac.wordpress.org/log/grdv-widerruf/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.2.1

 * Declared and verified compatibility with WordPress 7.1.

#### 2.2.0

 * Added language-specific content settings for German (informal and formal), English(
   US and UK), and additional active WPML languages, including automatic migration
   of existing values.
 * Added prominent legal-review and no-guarantee notices to the WordPress administration.
 * Locked the public and confirmation labels to the statutory German wording.
 * Made the consumer withdrawal receipt mandatory.
 * Added the privacy-policy link to the cancellation form.
 * Stopped recording IP hashes and browser user-agent strings for new declarations.
 * Limited frontend assets to pages that actually render a plugin shortcode.
 * Removed obsolete manual translation loading for WordPress.org language packs.
 * Redesigned the administration lists and record details for clearer review and
   management of declarations and cancellations.

#### 2.1.0

 * Added a global setting that lets the withdrawal button open the popup or link
   to the standalone withdrawal page.
 * Kept `mode="popup"` and `mode="page"` as per-shortcode overrides.
 * Shows the standalone withdrawal page URL only when page behavior is selected.
 * Added configurable outline width, color, and offset for the public and confirmation
   buttons in both workflows; a width of `0` disables the outline.
 * Added optional CSS classes and native hover movement controls for all public 
   and confirmation buttons without overriding external theme transitions by default.

#### 2.0.4

 * Fixed a fatal error on the overview page caused by an inaccessible cancellation
   table-name method.

#### 2.0.3

 * Removed manual translation loading in favor of the WordPress.org language-pack
   mechanism.
 * Clarified scanner annotations for protected public receipt links and hardened
   settings request handling.
 * Normalized internal database table handling for repository checks.
 * Replaced stored withdrawal IP addresses with salted one-way hashes and documented
   all submitted data.

#### 2.0.2

 * Added complete required-field markings and a compact required-fields note.
 * Restricted specifically requested end dates to today or the future in browser
   and server validation.
 * Clarified that the admin email status records acceptance by the WordPress mail
   transport, not recipient delivery.

#### 2.0.1

 * Added independent styling controls for the public cancellation and final confirmation
   buttons.
 * Added a one-click action to copy both button styles from the withdrawal settings.
 * Changed the default public label to `Vertrag kündigen`.
 * Hardened the standalone cancellation form layout against Divi theme overrides
   and improved conditional-field UX.
 * Removed the duplicate Settings menu entry and renamed the main admin menu to 
   match the plugin.

#### 2.0.0

 * Renamed the plugin to gRDV Widerruf & Kündigung.
 * Added public cancellation button and standalone confirmation form shortcodes.
 * Added ordinary and extraordinary cancellation data, contract identification, 
   and requested end date.
 * Added a separate cancellation table, admin list, and settings page.
 * Added immediate browser receipt, protected permanent text download, and mandatory
   customer receipt email.
 * Added hashed IP storage instead of storing a raw address for cancellations.
 * Added a standalone withdrawal form and page-link mode while retaining the popup
   mode.
 * Added a combined admin overview and preserved existing withdrawal data and shortcodes.

#### 1.0.0

 * Renamed the plugin to gRDV Widerruf and introduced the canonical withdrawal shortcode.
 * Redesigned the settings screen and retained previous options and records.

#### 0.1.0

 * Initial draft with withdrawal shortcode, settings, storage, and email notifications.

## Meta

 *  Version **2.2.1**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (UK)](https://en-gb.wordpress.org/plugins/grdv-widerruf/), [English (US)](https://wordpress.org/plugins/grdv-widerruf/),
   and [German](https://de.wordpress.org/plugins/grdv-widerruf/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/grdv-widerruf)
 * Tags
 * [cancellation](https://wordpress.org/plugins/tags/cancellation/)[consumer rights](https://wordpress.org/plugins/tags/consumer-rights/)
   [kündigung](https://wordpress.org/plugins/tags/kundigung/)[widerruf](https://wordpress.org/plugins/tags/widerruf/)
   [withdrawal](https://wordpress.org/plugins/tags/withdrawal/)
 *  [Advanced View](https://wordpress.org/plugins/grdv-widerruf/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/grdv-widerruf/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/grdv-widerruf/reviews/)

## Contributors

 *   [ grdv ](https://profiles.wordpress.org/grdv/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/grdv-widerruf/)