Dokumentation
Der „WWU Withdrawal Button“ sorgt dafür, dass WooCommerce, FluentCart und Easy Digital Downloads den Anforderungen der Online-Widerrufsschaltfläche gemäß der EU-Richtlinie 2023/2673 (Art. 54-bis des Verbraucherschutzgesetzes). Gesetzlich vorgeschriebene Schaltfläche, zweistufiges Formular, Beleg auf einem dauerhaften Datenträger, unveränderbares Protokoll und Zeitstempel. Kostenlos und Open Source (GPLv3).
So funktioniert es (in der Praxis)
Für den Kunden ist es ganz einfach – vier Schritte:
- Klicken Sie auf die Schaltfläche. Der Kunde öffnet seine Bestellung und klickt auf «Hier vom Vertrag zurücktreten» – entweder im Kundenbereich, über den Link in der Bestell-E-Mail oder auf der öffentlichen Seite (ohne Konto: Suche nach der Bestellung anhand der Nummer und der E-Mail-Adresse). Der Wortlaut lautet wie folgt genau wie gesetzlich vorgesehen für jede Sprache.
- Zweistufiges Modul. Überprüfen Sie, wovon Sie zurücktreten (Sie können nur bestimmte Produkte ankreuzen — teilweiser Rücktritt), dann bestätigen. Kein zwingender Grund, kein „Dark Pattern“.
- Quittung auf einem dauerhaften Datenträger. Sobald die Bestätigung vorliegt, erhält er E-Mail + PDF + überprüfbarer permanenter Link mit Angabe des Grundes für den Rücktritt sowie des genauen Datums und der Uhrzeit. Der Auftrag wechselt in den Status «Rücktritt beantragt» und du erhältst eine Benachrichtigung.
- Unveränderlicher Nachweis. Jeder Schritt wird in einem Protokoll festgehalten nur-Anhängen mit Hash-Chain und Zeitstempel (beglaubigtes Datum). Du verwaltest dann das Rückerstattung wie immer – ebenfalls als Nachweis für die Einhaltung der 14-Tage-Frist registriert.
Der gesamte übrige Teil des Plugins dient dazu, diesen Ablauf zu gestalten richtig, einfach zu handhaben und vertretbar. Zusammenfassend: Was ist darin enthalten (jeder Punkt hat unten einen eigenen Abschnitt):
- Für den Kunden: Mehrsprachige Schaltfläche „Statut“ wo immer es nötig ist (Konto, E-Mail, öffentliche Seite mit Gästesuche, Shortcode, Block), Schritt-für-Schritt-Anleitung zu Fristen und Rückerstattung, Anmerkung: «weil befreit» wenn die Schaltfläche zu Recht fehlt, lesbares Prüfzertifikat auf der Quittung, Teilrücktritt für ein Produkt.
- Für Sie (Händler): Onboarding-Dashboard mit Checkliste auf einen Klick und E-Mail-Zustellungstest, Bearbeitung von Anfragen (bearbeitet/erstattet, Kettenintegritäts-Badge, Quittung erneut gesendet, Erstattung verbucht), Seite Konformität mit Countdown, verwendeten Bezeichnungen und vorgefertigten Klauseln, als echte WooCommerce-E-Mail mit Vorschau bestätigt, Feld Benutzerdefiniertes CSS.
- Intelligentes Rechtsmanagement: Abonnements (nur ein Recht pro Vertrag, Schaltfläche auf der ersten Bestellung), Ausnahmen gemäß Art. 59 mit Einholung der Einwilligung an der Kasse und Bestätigung auf einem dauerhaften Datenträger, Geltungsbereich nach Land (EU/EWR oder weltweit), B2B-Verwaltung.
- Test, Zeitstempel & Integrität: Unveränderliches Protokoll mit Hash-Kette + kostenlose Verankerung OpenTimestamps (Bitcoin) oder eIDAS RFC 3161 qualifiziert (kostenloses Sectigo oder nationale QTSP), automatischer Wiederholungsversuch bei Markierungen, protokollierte Rückerstattung.
- Datenschutz & DSGVO: IP anonymisiert im Hash kann die vollständige IP-Adresse nach einer konfigurierbaren Aufbewahrungsfrist (Standard: 10 Jahre) gelöscht werden, Einverständniserklärung als CSV exportierbar, zwei vorgefertigte Datenschutzklauseln (berechtigtes Interesse).
- Dokumente & Compliance: Generator des Musterformular gemäß Anhang I-B und der Klauseln Für vorvertragliche Vereinbarungen / AGB / Datenschutzerklärung zum Einfügen – mit dem Hinweis, dass es nicht ausreicht, die Schaltfläche einzurichten, sondern auch deine AGB aktualisiert werden müssen.
- Automatisierungen & Entwickler: Schreibgeschützte REST-API + signierter Webhook (HMAC) + 33 dokumentierte Hooks für Zapier/Make/n8n/CRM/Helpdesk, Datenschutz an erster Stelle (die IP-Adresse des Kunden wird niemals offengelegt).
- Plattformen & Kompatibilität: WooCommerce (HPOS + Legacy), FluentCart und Easy Digital Downloads mit einem einzigen Plugin; kompatibel mit Complianz, TranslatePress sowie die Cache-Plugins (WP Rocket / LiteSpeed / W3TC).
Voraussetzungen
| WordPress | 5.6+ (empfohlen: 6.x) |
|---|---|
| PHP | 8.1+ (Build aus dem WordPress.org-Verzeichnis, mit Dompdf 3.x). Immer noch PHP 7.4–8.0? In den GitHub-Veröffentlichung Es gibt eine mit PHP 7.4 kompatible Version (gleiche Funktionen, Dompdf 2.x): Es handelt sich um eine vorübergehende Übergangslösung und wird nicht für immer beibehalten werden — PHP 7.4 ist seit November 2022 nicht mehr unterstützt; es empfiehlt sich, auf PHP 8.1+ umzusteigen (das schneller und sicherer ist). |
| E-Commerce | WooCommerce (HPOS + Legacy), FluentCart oder Easy Digital Downloads (3.0+) |
| Ein SMTP-Plugin (z. B. FluentSMTP) zum Versenden von Bestätigungen |
Installation
- Aus dem Verzeichnis auf WordPress.org (empfohlen): In WordPress gehst du auf Plugins → Neues hinzufügen, suchen «WWU Widerrufsrecht» → Jetzt installieren. Von hier aus erhältst du die automatische Updates. Seite auf WordPress.org →
- Alternativ (manuell erstellte ZIP-Datei): Herunterladen
wwu-withdrawal-button.zipaus GitHub-Veröffentlichung (enthält die PDF-Bibliothek), dann Plugins → Neues hinzufügen → Plugin hochladen → Wähle die ZIP-Datei aus → Jetzt installieren (Falls bereits vorhanden, wähle «Die aktuelle Datei durch die hochgeladene ersetzen»). - Aktivieren. Das Plugin erstellt automatisch die öffentliche Seite «Widerrufsrecht» und die Protokolltabellen.
Konfiguration
Nach oben Schaltfläche „Abbrechen“ → Einstellungen und arbeite dich von oben nach unten vor. Das Dashboard Es gibt eine Checkliste, die komplett grün wird, wenn alles in Ordnung ist.
- Aktivieren das Widerrufsrecht.
- Geltungsbereich — «Nur EU/EWR» (gesetzliche Mindestanforderung) oder «Immer anzeigen»; optionaler Ausschluss von B2B (USt-IdNr.).
- Verbraucherberatung — Widerrufsfrist in Tagen (mindestens 14; du kannst auch eine längere Frist gewähren) und, wenn du möchtest, einen individuellen Hinweistext.
- Quittung & Nachweis — PDF-Anhang, Benachrichtigungs-E-Mail, Zeitstempel (OpenTimestamps kostenlos oder RFC 3161), Aufbewahrungsfrist, Slug der Kontokarte.
- E-Mail-Zustellung — Konfiguriere den SMTP-Server, führe den Test durch, dann «Vorschau der Bestätigungs-E-Mail».
Alle Einstellungen
| Einstellung | Was macht er? |
|---|---|
| Auszahlungsfunktion aktivieren | Zeige die Schaltfläche den berechtigten Verbrauchern an. |
| Anwendungsmodus | Nur EU/EWR · Immer · Benutzerdefinierte Länderliste. + B2B-Schaltfläche. |
| Widerrufsfrist (Tage) | Dem Kunden angezeigtes Fenster. Mindestens 14, erweiterbar. |
| Benutzerdefinierter Hinweistext | Ersetzt den voreingestellten Leitfaden (Basis-HTML). Verantwortung des Händlers. |
| Rechtliche Hinweise 1.2.1 | Passe die Texte der Klauseln (vorvertraglich / AGB / Datenschutzerklärung / Einwilligungen und Ausnahmen) mit deinen eigenen Worten an – sie ersetzen die Standardvorlage überall, einschließlich des Shortcodes [webwakeupwdb_info], und entfernen den Vermerk «Beispieltext». Leeres Feld = die Grundvorlage bleibt erhalten. |
| PDF-Beleg anhängen | Fügen Sie der Quittung eine PDF-Kopie bei (die E-Mail gilt ohnehin als dauerhaftes Medium). |
| Benachrichtigungs-E-Mail | Wo Sie Benachrichtigungen über neue Anfragen erhalten. Sie können Folgendes eingeben: mehrere durch Kommas getrennte Adressen um mehrere Personen zu benachrichtigen; der erste wird dem Kunden auch als Ansprechpartner des Geschäfts angezeigt. |
| Vertrauenswürdiger Zeitstempel | OpenTimestamps · RFC 3161 (Endpunkt + Anmeldedaten) · Keine. |
| Aufbewahrungsfrist für Belege (Jahre) | Wie lange soll das Protokoll aufbewahrt werden (Standard: 10)?. |
| Slug der Registerkarte „Mein Konto“ | Slug der Registerkarte «Widerrufsrecht» im Kundenbereich. |
| CSS-Anpassung | Passen Sie jedes grafische Element an, beginnend mit dem WordPress-Customizer → Zusätzliches CSS, unter Verwendung der im Plugin dokumentierten Klassen/Variablen (Verweis in den Einstellungen enthalten). |
| FluentCart | Auto (Standard) · Immer · Aus. Im Auto-Modus zeigt das Plugin die Schaltfläche an, blendet sie jedoch automatisch aus, wenn es ein natives FluentCart-Add-on zum Abmelden erkennt, sodass der Kunde niemals zwei Schaltflächen sieht. Dies betrifft nur die FluentCart-Benutzeroberflächen für Endkunden; das Anfrage-Dashboard und das Protokoll bleiben unverändert. |
Aktualisiere deine rechtlichen Dokumente (obligatorisch)
Den Knopf installieren Das reicht nicht aus um den gesetzlichen Vorschriften zu entsprechen. Die Richtlinie über Verbraucherrechte (Art. 6) schreibt vor, den Verbraucher über Folgendes zu informieren: wie Widerrufsrecht ausüben: Mit der Einführung der Schaltfläche sind deine Verkaufsbedingungen und die vorvertragliche Informationen müssen im'Artikel zum Widerrufsrecht um den neuen Modus mit Schaltfläche zu aktivieren. Das Plugin fügt die Schaltfläche hinzu, aber Ändere deine veröffentlichten Dokumente nicht.
Um es einfach zu machen, das Plugin Erzeugt vorgefertigte Klauseln zum Einfügen — du findest sie in Schaltfläche „Widerruf“ → Einhaltung der Vorschriften (und per Shortcode [webwakeupwdb_info type="vorvertraglich|Nutzungsbedingungen|Datenschutz"]):
- Vorvertragliche Informationen — die Klausel «Widerrufsrecht», in der ausdrücklich auf die Schaltfläche «Vertrag hier widerrufen» verwiesen wird, sowie das Musterformular (Anhang I-B), das weiterhin verbindlich ist.
- Verkaufsbedingungen — die Klausel «Widerrufsmodalitäten»: Der Verbraucher erklärt seinen Widerruf über die Online-Schaltfläche oder das Musterformular, wobei eine Empfangsbestätigung auf einem dauerhaften Datenträger zu erteilen ist und es untersagt ist, den Widerruf schwieriger zu gestalten als den Kauf.
- Datenschutz — die Bestimmungen zum Rücktrittsregister und zum Nachweis der Zustimmung zu den Ausnahmeregelungen.
Aus der 1.2.1 du kannst diese Texte direkt im Admin-Bereich bearbeiten, ohne Code: Widerrufsschaltfläche → Einstellungen → «Rechtliche Hinweise». Gib deinen Text ein und speichere ihn: Dein Text ersetzt die Vorlage überall (Seite „Konformität“ + Shortcode [webwakeupwdb_info]) und der Hinweis «Beispieltext» verschwindet. Es bleibt ein leeres Feld übrig, um die Grundvorlage beizubehalten (es gibt auch eine Option «Standard anzeigen», mit der du diese als Ausgangspunkt kopieren kannst). Für Entwickler gibt es außerdem den Filter webwakeupwdb_clause_text.
Aus der 1.3.0, zusätzlich zu den einzelnen Klauseln erstellt das Plugin automatisch eine'«Vollständige »Informationen zum Widerrufsrecht“ basierend auf deinen Einstellungen und den ausgewählten Ausnahmen gemäß Art. 59. Du verwaltest dies über Einhaltung der Vorschriften → «Informationen zum Widerrufsrecht»: Vorschau, Seite erstellen/öffnen (mit einem Klick wiederherstellbar), «Einfrieren» in statischem HTML, oder lade sie hier herunter: PDF. Veröffentliche sie auch mit dem Shortcode [webwakeupwdb_policy]. Optional: zwei Umschalter in Einstellungen → Compliance-Dokumente fügen dieselben Klauseln an die Datenschutzerklärung und an die Allgemeine Geschäftsbedingungen verwaltet von Complianz (nur EU, Opt-in, standardmäßig deaktiviert, mit Vorschau). Auch hier: ergänzt — ersetzt nicht deine Texte.
Aus der 1.4.0, der Musterformular (Anhang I-B) füllt die Zeile «Empfänger» automatisch mit den Daten zu deinem Unternehmen — Name, Anschrift und E-Mail-Adresse —, die Sie in Schaltfläche «Widerruf» → Einstellungen → „Verkäuferangaben“. Der Rest des Formulars entspricht dem offiziellen Gesetzestext und kann nicht geändert werden. Wenn Sie ein Feld leer lassen, werden in dieser Zeile standardmäßig der Name der Website und die E-Mail-Adresse des Administrators verwendet; die Anschrift muss eingegeben werden (dies ist laut Gesetz für das Formular vorgeschrieben).
Wo die Schaltfläche angezeigt wird
- WooCommerce — Kundenbereich: Bestellübersicht, Bestelldetails, Registerkarte «Widerrufsrecht»; + Link hinzugefügt automatisch in den WooCommerce-Bestell-E-Mails (für Gäste).
- FluentCart — Kundenportal: Seite «Widerrufsrecht», Menüpunkt, Banner und Schaltfläche in der einzelnen Bestellung. Für E-Mails: FluentCart erlaubt es Plugins nicht, Inhalte automatisch hinzuzufügen, daher Einstellungen → FluentCart zeigt eine Optionale 1-malige Führung um das Merge-Tag einzufügen
{{wwu.recesso_url}}in der Vorlage für die Quittung (3 Schritte). - Easy Digital Downloads — Schaltfläche auf dem Kaufbeleg und in den Zeilen des Kaufverlaufs; + Link hinzugefügt automatisch in der EDD-Bestätigungs-E-Mail.
- Auf jeder Plattform: öffentliche Seite mit der Gästesuche (Auftragsnummer + E-Mail) und überall mit den Shortcode oder das Gutenberg-Block.
Shortcode & Block
| Shortcode | Verwendung |
|---|---|
[webwakeupwdb_form] | Das Zwei-Schritte-Formular / Auftragsauswahl. |
[webwakeupwdb_button order_id="…"] | Die einzige Schaltfläche für eine Bestellung. |
[webwakeupwdb_status order_id="…"] | Der Status einer Bestellung. |
[webwakeupwdb_model_form lang="…"] | Das Formular gemäß Anhang I-B (wobei die Zeile «Empfänger» mit deinen Verkäuferdaten ausgefüllt ist — Einstellungen → Verkäuferdaten). |
[webwakeupwdb_info type="vorvertraglich|Nutzungsbedingungen|Datenschutz"] | Die vorgefertigten rechtlichen Klauseln. |
[webwakeupwdb_policy] | Die vollständige Information zum Widerrufsrecht (zusammengestellt aus den Bestimmungen und Ausnahmen gemäß Art. 59). |
Editor-Block: «Auszahlung – Selbstbedienung» (dynamisch, serverseitig gerendert), um die Fläche an einer beliebigen Stelle im Block-Editor einzufügen.
Kundenerlebnis
- Der Kunde öffnet seine Bestellung und klickt auf die entsprechende Schaltfläche. Im ersten Schritt des Formulars erscheint eine Optionale Checkliste der Artikel der Bestellung: Sie können nur die Produkte auswählen, die Sie zurückgeben möchten (teilweiser Widerruf, gemäß EU-Recht zulässig – Anhang I-B: «der folgenden Waren»). Wenn Sie die Auswahl leer lassen, bezieht sich der Widerruf auf die gesamte Bestellung. Der Widerruf wird durch diese Auswahl niemals blockiert.
- Formular in zwei Schritten (Überprüfung → Bestätigung), keine „Dark Patterns“, keine Angabe eines Grundes erforderlich.
- Nach der Bestätigung erhalten Sie umgehend eine Empfangsbestätigung per E-Mail (+ PDF + überprüfbarer Link) mit der Liste der ausgewählten Artikel; der Bestellstatus wechselt zu «Widerruf beantragt».
Bearbeitung von Anfragen
In Schaltfläche „Abheben“ → Anfragen: Jede Anfrage mit Status (Offen / Bearbeitet / Erstattet), Integritäts-Badge der Kette und Aktionen:
- Mark wurde verarbeitet — als bearbeitet markieren (im Protokoll vermerkt).
- E-Mail erneut senden — Sende die Empfangsbestätigung erneut (nützlich, nachdem du den SMTP-Server konfiguriert hast).
- Rückerstattungsauftrag — Der WooCommerce-Rückerstattungsbildschirm wird geöffnet. Die Rückerstattung wird im Protokoll als Nachweis für die Einhaltung der 14-Tage-Frist erfasst.
Zeitstempel
Wähle aus Empfangsbestätigung & Nachweis → Vertrauenswürdiger Zeitstempel:
| Anbieter | Anmerkungen |
|---|---|
| OpenTimestamps | Kostenlos, an Bitcoin gekoppelt, kein Konto erforderlich (Standard). |
Sectigo /qualifiziert | RFC 3161 eIDAS-zertifiziert, kostenlos, ohne Konto. |
| Nationale QTSP | Aruba/InfoCert (IT), D-Trust (DE), Universign (FR), FNMT (ES), SwissSign (CH) — Endgeräte + Anmeldedaten. |
Ausnahmen (Art. 59)
Für bestimmte Produkte/Dienstleistungen besteht kein Widerrufsrecht (Sonderanfertigungen, verderbliche Waren, versiegelte Waren, deren Versiegelung geöffnet wurde, Tickets für Veranstaltungen mit festem Termin, digitale Inhalte mit sofortigem Zugriff nach Einwilligung, bereits erbrachte Dienstleistungen…). In Einstellungen → Ausnahmen Produkte/Kategorien nach spezifischer satzungsmäßiger Grund, jeweils mit Angabe der gesetzlichen Grundlage und einer Erklärung in verständlicher Sprache. Das Widerrufsrecht gilt weiterhin als Standard (einschließlich digitaler Produkte).
Wenn eine Bestellung vollständig von der Gebühr befreit ist, wird die Schaltfläche „Widerruf“ nicht angezeigt – der Kunde bleibt jedoch nicht ohne Erklärung. Von der 1.0.0-alpha.43, eine kurze und präzise Anmerkung gibt die jeweils angewandte Ausnahmeregelung mit dem entsprechenden Rechtsbezug an (z. B. «Digitaler Inhalt mit sofortigem Zugriff – Art. 16 Abs. 1 Buchstabe m CRD / Art. 59 Abs. 1 Buchstabe o Verbrauchergesetzbuch»). Der Hinweis wird auf dem Widerrufsformular, auf den WooCommerce- und EDD-Kontoseiten sowie im FluentCart-Portal angezeigt. Der Text kann bearbeitet werden in Einstellungen → Verbraucherleitfaden. Er taucht auf nur bei tatsächlich befreiten Bestellungen, niemals bei gewöhnlichen Bestellungen; die Sichtbarkeit der Schaltfläche ändert sich nicht.
webwakeupwdb_consent_text. Die Einholung der Einwilligung ist nun aktiv auf WooCommerce (klassisch + blockbasiert), FluentCart und Easy Digital Downloads, wobei auch Ausnahmen gelten nach Kategorie. Wenn die Erfassung nicht verfügbar ist, bleibt die Schaltfläche sichtbar (Fail-Safe). Die Schaltfläche darf unter keinen Umständen ausgeblendet werden, wenn diese Bedingungen nicht erfüllt sind.Abonnements
Das EU-Recht sieht vor, dass nur ein 14-tägiges Widerrufsrecht vertraglich, die mit dem Vertragsabschluss beginnt (Art. 9 der Richtlinie 2011/83/EU = Art. 52 des Verbraucherschutzgesetzes). Eine Eine Erneuerung bringt ihn nicht wieder in Gang: Es handelt sich um die Fortsetzung desselben Vertrags, nicht um einen neuen Fernabsatzvertrag. Also:
- Die Schaltfläche wird angezeigt nur bei der Erstbestellung des Abonnements (innerhalb des 14-tägigen Zeitfensters).
- Auf den Verlängerungsaufträge Die Schaltfläche ist verborgen — Eine einzige Überprüfung deckt automatisch alle Bereiche ab (Kundenbereich, Portal, E-Mail, Shortcode, Block).
- Kompatibel mit WooCommerce-Abonnements, die Abonnements FluentCart e EDD – Wiederkehrend. Die Erfassung der Verlängerung erfolgt nach dem Vorsichtsprinzip und ausfallsicher: Wenn der Status nicht ermittelt werden kann, die Schaltfläche bleibt sichtbar (niemals versehentlich ausgeblendet).
In Einstellungen → Abonnements Es gibt zwei Schalter, beide deaktiviert Standardmäßig:
| Einstellung | Was macht er? |
|---|---|
| Zeige auch die Verlängerungen an | Nicht empfohlen. Aktivieren Sie diese Option nur, wenn ein Rechtsgutachten besagt, dass eine bestimmte Verlängerung den Anspruch erneut in Kraft setzt. |
| Abonnement kündigen | Deaktiviert. Wenn diese Option aktiviert ist, werden bei Bestätigung des Widerrufs zukünftige Verlängerungen gestoppt. Die Rückerstattung und gegebenenfalls anteilig Für den bereits genutzten Dienst bleiben immer Handbücher. |
FAQ
Reicht es aus, den Knopf anzubringen, um die Vorschriften zu erfüllen? Nein. Du musst aktualisieren. auch Deine Verkaufsbedingungen und die vorvertraglichen Informationen im Abschnitt zum Widerruf, um die neue Vorgehensweise mit Schaltfläche vorzusehen (Art. 6 der Richtlinie über Verbraucherrechte). Das Plugin generiert die Klauseln, die du einfach einfügen kannst – siehe Aktualisiere deine rechtlichen Dokumente.
Kann ich mehr als 14 Tage gewähren? Ja – stellen Sie die «Withdrawal period» nach Belieben ein (≥14). Der angezeigte Text wird aktualisiert.
Wie funktioniert das mit den Abonnements? Die Schaltfläche erscheint auf der'ursprüngliche Bestellung und verschwindet auf den Verlängerungen (nur ein 14-tägiges Widerrufsrecht pro Vertrag). Der Widerruf ist nicht mit einer Kündigung gleichzusetzen: Der Kunde kann zukünftige Verlängerungen jederzeit über sein Konto deaktivieren, während der Widerruf das 14-tägige Recht auf Rückerstattung darstellt. Siehe Abschnitt Abonnements.
Die E-Mail wird nicht versendet? Richte ein SMTP-Plugin ein und klicke auf «Test-E-Mail senden». Es handelt sich nicht um die PDF-Bibliothek.
Funktioniert das mit Block-Themes / FSE? Ja: Die „My Account“-Seite von WooCommerce wird weiterhin über den klassischen Shortcode dargestellt, die Hooks funktionieren; es gibt auch einen Gutenberg-Block.
Gilt das Gesetz für digitale Produkte (Plugins, Software, Downloads)? Ja. Die Verpflichtung zur Verwendung der Schaltfläche betrifft die Profi die online an Verbraucher in der EU verkaufen, nicht das einzelne Produkt – auch ein Shop für Plugins oder digitale Inhalte fällt darunter. Für digitale Produkte gilt die 14-tägige Widerrufsfrist standardmäßig; das Recht erlischt nur mit ausdrücklicher Einwilligung + Kenntnisnahme + Bestätigung auf einem dauerhaften Datenträger (Art. 59 Buchstabe o), die das Plugin beim Bezahlvorgang erfasst. Die Verkäufe B2B (mit Umsatzsteuer-Identifikationsnummer) und an Verbraucher außerhalb der EU Das liegt außerhalb des Geltungsbereichs.
Handelt es sich um eine Rechtsberatung? Nein, es handelt sich um ein technisches Hilfsmittel zur Einhaltung der Vorschriften. Lass deine Unterlagen von einem Anwalt prüfen.
Für Entwickler
Das Plugin stellt Folgendes bereit 34 dokumentierte öffentliche Hooks (Aktionen und Filter), um den Ablauf der Stornierung, die Texte, die Logik für die Sichtbarkeit der Schaltfläche, die Bestätigung und das Protokoll anzupassen – ohne den Kern des Plugins zu verändern.
REST-API & Webhooks (Automatisierungen)
Aus der 1.0.0-alpha.44 Das Plugin bietet eine'REST-API (nur Lesezugriff) (Namensraum webwakeupwdb/v1, Authentifizierung mit Anwendungspasswort (von WordPress), um Widerrufsanträge aufzulisten und den Status einer Bestellung zu überprüfen, sowie ein signierter ausgehender Webhook (HMAC-SHA256), das deinen Endpunkt benachrichtigt, sobald eine Kündigung bestätigt wird – bereit für Zapier, Make, n8n, ein CRM oder einen Helpdesk. Datenschutz an erster Stelle: Die IP-Adresse des Kunden wird nicht niemals dargestellt (nur ein Zeilen-Hash zur Integritätsprüfung). Es gibt – bewusst – keinen Endpunkt für erstellen ein Widerruf (das ist die rechtliche Erklärung des Verbrauchers). Nach Ablauf einer spezielle Sicherheitsüberprüfung vor der Freigabe.
Änderungsprotokoll
Richte diesen Abschnitt an folgendem aus: docs/changelog/wwu-wb-CHANGELOG.md des Repositorys.
- Informationen zum Widerrufsrecht + Konformität mit den Vorgaben von WordPress.org. Neu «Informationen zum Widerrufsrecht» konsolidiert, zusammengestellt aus den Einstellungen + Ausnahmen gemäß Art. 59: Shortcode
[webwakeupwdb_policy], automatisch erstellte Seite (mit einem Klick wiederherstellbar), PDF, und Einspritzung Opt-in in den Complianz-Dokumenten (Datenschutz + Nutzungsbedingungen, nur EU, standardmäßig deaktiviert). Übersetzungen ins Italienische, Deutsche, Spanische, Französische und Schwedische. Auf Wunsch des WordPress.org-Teams, Jede interne Kennung wurde vom kurzen Präfix „wwu“ in „webwakeupwdb“ geändert. (Konstanten, Optionen, Hooks, Shortcodes, Namespace, REST): Bestehende Installationen werden automatisch migriert (Einstellungen, Einwilligungsabfragen, Protokoll-/Zeitstempel-Tabellen und Seiten bleiben erhalten); neue Installationen sind davon nicht betroffen. Entwickler: der Code, der die alten Namen verwendet (wwu_wb_*,[wwu_wb_*]) muss an die neuen angepasst werdenwebwakeupwdb_*.
- WordPress.org-Konformität: Opt-in für Zeitstempel, kein benutzerdefiniertes CSS-Feld, PHP 8.1 + Dompdf 3.1.5. Das Feld «Benutzerdefiniertes CSS» wurde entfernt: Um das Design anzupassen, verwenden Sie das WordPress-Customizer → Zusätzliches CSS (mit Verweis auf die Klassen/Variablen in den Einstellungen). Der garantierte Zeitstempel (OpenTimestamps / RFC 3161) lautet nun Opt-in und standardmäßig deaktiviert: Das Plugin funktioniert nicht keine externer Aufruf, sofern du ihn nicht selbst aktivierst – das Hash-Kettenprotokoll bleibt der grundlegende Nachweis und funktioniert offline. Der Build für das Verzeichnis wechselt zu PHP 8.1 + Dompdf 3.1.5; eine mit PHP 7.4 kompatible Version (Dompdf 2.x) ist weiterhin auf GitHub verfügbar. Versionshinweise →
- Die Seite «Consent Records» ist nun plattformübergreifend (behebt #41). Die Admin-Seite für Einwilligungen (und der CSV-Export) hat bisher nur WooCommerce-Bestellungen berücksichtigt, sodass in einem Easy Digital Downloads- oder FluentCart-Shop die Meldung «WooCommerce nicht aktiv» angezeigt wurde, obwohl die Einwilligung erfasst worden war. Jetzt greift sie auf die unveränderliches und plattformübergreifendes Testprotokoll (wo WooCommerce – klassisch und blockbasiert –, EDD und FluentCart zum Zeitpunkt der Erfassung Daten schreiben), sodass die Einwilligungen jeder Plattform angezeigt werden; Die vollständigen Einträge (mit IP) werden bei Vorliegen einer Bestellung erneut gelesen und bleiben als PII-freie Datensätze erhalten, wenn die Bestellung storniert wurde. Neue Spalte «Plattform». Nur-Lese-Bearbeitung: Das manipulationssichere Protokoll wird niemals verändert. Versionshinweise →
- WordPress.org-Konformität (Plugin-Prüfung) – nur echte Korrekturen. Hinzugefügt
wp_unslash()an die Eingaben für die Speicherung der Einstellungen (die Werte waren bereits bereinigt: Das ist der übliche Schritt, den das Tool «Plugin Check» erwartet) und ein Fehlalarm „unvorbereitete Abfrage“ bei der Integritätsprüfung unterdrückt (keine Benutzereingabe: Tabellenname aus$wpdb->Präfix, LIMIT mit Ganzzahl-Cast). Einige zu lange Update-Meldungen wurden gekürzt. Keine Änderungen am Verhalten. Versionshinweise →
- «Type-aware»-Widerrufsfrist (digital = Bestelldatum, physisch = Lieferdatum). Die dem Kunden angezeigte 14-Tage-Frist wird nun je nach Produktart berechnet: die Bestellungen alles digital beginnen bei der Bestelldatum (Vertragsabschluss, Art. 9 der Richtlinie 2011/83 / Art. 52 des Verbraucherschutzgesetzes), während Bestellungen mit Produkten physikalisch bleiben unverändert (Lieferdatum / «abgeschlossen»). Dies dient lediglich zu Informationszwecken: Die Schaltfläche wird bei diesem Wert niemals ausgeblendet. Keine Änderungen bei physischen Produkten. Versionshinweise →
- Korrekte Gastabreise auf allen Flächen. Ergänzung zu 1.2.7: auch der Shortcode
[webwakeupwdb_button]und der Link «Bestellvorgang» (der bei einigen Designs auf der Bestellbestätigungsseite angezeigt wird) führt Gäste nun zur öffentlichen Widerrufsseite und nicht mehr zum Anmeldebildschirm. Ein gemeinsamer Helper baut die URL überall auf die gleiche Weise auf. Angemeldete Kunden bleiben davon unberührt. Versionshinweise →
- Die Schaltfläche „Abmelden“ fordert Gäste nicht mehr zur Anmeldung auf. In der Bestellübersicht leitete die Schaltfläche Kunden ohne Konto zur Anmeldeseite weiter, da sie auf den Bereich «Mein Konto» verwies. Jetzt werden Gäste auf die öffentliche Widerrufsseite weitergeleitet (mit Bestellnummer und Schlüssel – derselbe vorab authentifizierte Link wie in der Bestell-E-Mail), sodass sie auch ohne Konto widerrufen können. Für angemeldete Kunden bleibt alles unverändert. Versionshinweise →
- Umfassende Übersetzungen für alle Sprachen sind enthalten. Einige Admin-Strings der letzten Releases (Editor «Rechtliche Hinweise», Feld «Benachrichtigungs-E-Mail», Hinweis zu den rechtlichen Texten auf der Seite „Konformität“, E-Mail-Helper von FluentCart) wurden auf Englisch angezeigt, da sie noch nicht übersetzt waren. Die fünf Sprachdateien (Italienisch, Deutsch, Französisch, Spanisch, Schwedisch) sind nun für diese Zeichenfolgen vollständig. (Die schwedische Version wurde maschinell übersetzt und wartet noch auf die Überprüfung durch einen Muttersprachler.) Versionshinweise →
- PHP 7.4-Kompatibilität wiederhergestellt + Benachrichtigungen an mehrere Empfänger + automatische Koexistenz mit FluentCart. Die PDF-Bibliothek (Dompdf) wurde auf eine Version aktualisiert, die PHP 8.1 erfordert, was auf Websites mit PHP 7.4 zu einem «Platform»-Fehler von Composer im Zusammenhang mit der PDF-Option führte: Nun wurde sie wieder auf die mit 7.4 kompatible 2.x-Version zurückgesetzt (die PDF-Dateien blieben unverändert, was durch ein Render-Audit überprüft wurde). Das Feld Einstellungen → Benachrichtigungs-E-Mails Jetzt akzeptieren mehrere durch Kommas getrennte Adressen (Der erste ist auch der Kontakt, der dem Kunden angezeigt wird). Und mit der FluentCart-Verwaltung auf Auto, das Plugin erkennt automatisch das Add-on «Customer Rights» von FluentCart und schaltet sich von selbst aus – keine doppelte Schaltfläche. Versionshinweise →
- PHP 7.4-Kompatibilität wiederhergestellt + Benachrichtigungen an mehrere Empfänger + automatische Koexistenz mit FluentCart. Die PDF-Bibliothek (Dompdf) wurde auf eine Version aktualisiert, die PHP 8.1 erfordert, was auf Websites mit PHP 7.4 zu einem «Platform»-Fehler von Composer im Zusammenhang mit der PDF-Option führte: Nun wurde sie wieder auf die mit 7.4 kompatible 2.x-Version zurückgesetzt (die PDF-Dateien blieben unverändert, was durch ein Render-Audit überprüft wurde). Das Feld Einstellungen → Benachrichtigungs-E-Mails Jetzt akzeptieren mehrere durch Kommas getrennte Adressen (Der erste ist auch der Kontakt, der dem Kunden angezeigt wird). Und mit der FluentCart-Verwaltung auf Auto, das Plugin erkennt automatisch das Add-on «Customer Rights» von FluentCart und schaltet sich von selbst aus – keine doppelte Schaltfläche. Versionshinweise →
- WordPress.org-Konformität und kleine Sicherheitsmaßnahmen. Der Name des Plugins wurde unverwechselbarer gestaltet und von Markenzeichen Dritter befreit, zusätzliche Bereinigung der Eingaben für den Rate-Limiter, URL-Escaping in E-Mails im Klartext, explizite REST-Permission-Callbacks an öffentlichen Endpunkten und Entfernung des nicht mehr benötigten Übersetzungs-Loaders (WordPress lädt die Übersetzungen seit Version 4.6 selbstständig). Es wurden keine Änderungen am Kündigungsablauf oder an Ihren Daten vorgenommen. Versionshinweise →
- WordPress.org-Konformität und kleine Sicherheitsmaßnahmen. Der Name des Plugins wurde unverwechselbarer gestaltet und von Markenzeichen Dritter befreit, zusätzliche Bereinigung der Eingaben für den Rate-Limiter, URL-Escaping in E-Mails im Klartext, explizite REST-Permission-Callbacks an öffentlichen Endpunkten und Entfernung des nicht mehr benötigten Übersetzungs-Loaders (WordPress lädt die Übersetzungen seit Version 4.6 selbstständig). Es wurden keine Änderungen am Kündigungsablauf oder an Ihren Daten vorgenommen. Versionshinweise →
- Der Fehler beim Versenden von E-Mails zeigt nun den genauen Grund an, nicht mehr nur eine allgemeine Meldung. Fortsetzung von 1.2.2: Wenn die Bestätigungs-E-Mail nicht versendet wird, erfasst das Plugin den konkreten Grund aus dem Versandsystem – den Fehler des SMTP-Plugins (z. B. «Could not authenticate» oder «Could not connect to host…») oder die Ausnahmemeldung – und zeigt diese in der Admin-Meldung «E-Mail nicht gesendet» sowie im manipulationssicheren Protokoll an, anstatt eines allgemeinen «E-Mail fehlgeschlagen». Die Diagnose einer fehlerhaften SMTP-Konfiguration (WP Mail SMTP, FluentSMTP) erfolgt sofort, ohne dass man im PHP-Log stöbern muss. Der Vorgang wird stets protokolliert und der Kunde gelangt immer auf die Bestätigungsseite. Versionshinweise →
- Der Fehler beim Versenden von E-Mails zeigt nun den genauen Grund an, nicht mehr nur eine allgemeine Meldung. Fortsetzung von 1.2.2: Wenn die Bestätigungs-E-Mail nicht versendet wird, erfasst das Plugin den konkreten Grund aus dem Versandsystem – den Fehler des SMTP-Plugins (z. B. «Could not authenticate» oder «Could not connect to host…») oder die Ausnahmemeldung – und zeigt diese in der Admin-Meldung «E-Mail nicht gesendet» sowie im manipulationssicheren Protokoll an, anstatt eines allgemeinen «E-Mail fehlgeschlagen». Die Diagnose einer fehlerhaften SMTP-Konfiguration (WP Mail SMTP, FluentSMTP) erfolgt sofort, ohne dass man im PHP-Log stöbern muss. Der Vorgang wird stets protokolliert und der Kunde gelangt immer auf die Bestätigungsseite. Versionshinweise →
- Kritischer Fehler behoben: Es tritt kein «kritischer Fehler» mehr beim Versenden der Bestätigungs-E-Mail auf. Auf einigen Websites (mit WP Mail SMTP gekennzeichnet) wird bei der Bestätigung des Widerrufs und beim Klicken auf «E-Mail erneut senden» eine Ausnahme ausgelöst. drinnen
wp_mail()Durch das SMTP-Plugin – oder einen PDF-Fehler unter PHP 8 – konnte dies übersehen werden und die Seite in den Status «kritischer Fehler» versetzen, obwohl der Widerruf bereits registriert war. Nun ist der gesamte Versandprozess ausnahmesicher (Mailer, WooCommerce-E-Mails und optionales PDF): Ein fehlgeschlagener Versand wird gemeldet und kann erneut versendet werden, ohne dass die Seite abstürzt. Außerdem: Leitfaden für das Zusammenleben, jetzt, da FluentCart 1.4.2 enthält ein eigenes, integriertes Widerrufsformular (Einstellungen → FluentCart: Setze es auf «Aus», wenn du das von FluentCart verwendest). Versionshinweise →
- Kritischer Fehler behoben: Es tritt kein «kritischer Fehler» mehr beim Versenden der Bestätigungs-E-Mail auf. Auf einigen Websites (mit WP Mail SMTP gekennzeichnet) wird bei der Bestätigung des Widerrufs und beim Klicken auf «E-Mail erneut senden» eine Ausnahme ausgelöst. drinnen
wp_mail()Durch das SMTP-Plugin – oder einen PDF-Fehler unter PHP 8 – konnte dies übersehen werden und die Seite in den Status «kritischer Fehler» versetzen, obwohl der Widerruf bereits registriert war. Nun ist der gesamte Versandprozess ausnahmesicher (Mailer, WooCommerce-E-Mails und optionales PDF): Ein fehlgeschlagener Versand wird gemeldet und kann erneut versendet werden, ohne dass die Seite abstürzt. Außerdem: Leitfaden für das Zusammenleben, jetzt, da FluentCart 1.4.2 enthält ein eigenes, integriertes Widerrufsformular (Einstellungen → FluentCart: Setze es auf «Aus», wenn du das von FluentCart verwendest). Versionshinweise →
- Behebung: Die Registerkarte «Widerrufsrecht» führt bei einer Neuinstallation nicht mehr zu einem 404-Fehler + vom Administrator bearbeitbare rechtliche Hinweise. Die Registerkarte im WooCommerce-Kundenbereich ist eine Endpunkt (keine Seite): Die Rewrite-Regeln wurden bei der Aktivierung nicht neu generiert, was zu einem 404-Fehler führte, bis die Permalinks erneut gespeichert wurden. Jetzt generiert das Plugin sie beim ersten Laden nach der Aktivierung automatisch neu (manuelle Abhilfe: Einstellungen → Permalink → Speichern). Außerdem gibt es einen neuen Abschnitt Einstellungen → «Rechtliche Hinweise» ermöglicht es dir, die Texte der Klauseln (vorvertraglich / AGB / Datenschutzerklärung / Einwilligung) mit deinen eigenen Worten anzupassen, ohne Code — ersetzen das Modell überall, auch im Shortcode
[webwakeupwdb_info](plus der Filterwebwakeupwdb_clause_text(für Entwickler). Versionshinweise →
- Behebung: Die Registerkarte «Widerrufsrecht» führt bei einer Neuinstallation nicht mehr zu einem 404-Fehler + vom Administrator bearbeitbare rechtliche Hinweise. Die Registerkarte im WooCommerce-Kundenbereich ist eine Endpunkt (keine Seite): Die Rewrite-Regeln wurden bei der Aktivierung nicht neu generiert, was zu einem 404-Fehler führte, bis die Permalinks erneut gespeichert wurden. Jetzt generiert das Plugin sie beim ersten Laden nach der Aktivierung automatisch neu (manuelle Abhilfe: Einstellungen → Permalink → Speichern). Außerdem gibt es einen neuen Abschnitt Einstellungen → «Rechtliche Hinweise» ermöglicht es dir, die Texte der Klauseln (vorvertraglich / AGB / Datenschutzerklärung / Einwilligung) mit deinen eigenen Worten anzupassen, ohne Code — ersetzen das Modell überall, auch im Shortcode
[webwakeupwdb_info](plus der Filterwwu_wb_clause_text(für Entwickler). Versionshinweise →
- Zur Erinnerung: Aktualisiere auch deine rechtlichen Dokumente. Durch das Einfügen der Schaltfläche werden die Dokumente Ihres Shops nicht aktualisiert. Das Gesetz (Art. 6 der Richtlinie über Verbraucherrechte) schreibt vor, dass die Verkaufsbedingungen und die vorvertragliche Informationen beschreiben wie Der Verbraucher widerruft den Vertrag – und dazu gehört nun auch die neue Online-Schaltfläche. Das Plugin weist nun deutlich darauf hin im Armaturenbrett und auf der Seite Konformität, öffnet standardmäßig die beiden einzufügenden Klauseln (vorvertragliche Bestimmungen + Geschäftsbedingungen), und in der Klausel «Kündigungsmodalitäten» wird die Schaltfläche nun ausdrücklich genannt. Keine Änderungen am Kündigungsablauf. Siehe Aktualisiere deine rechtlichen Dokumente.
- Zur Erinnerung: Aktualisiere auch deine rechtlichen Dokumente. Durch das Einfügen der Schaltfläche werden die Dokumente Ihres Shops nicht aktualisiert. Das Gesetz (Art. 6 der Richtlinie über Verbraucherrechte) schreibt vor, dass die Verkaufsbedingungen und die vorvertragliche Informationen beschreiben wie Der Verbraucher widerruft den Vertrag – und dazu gehört nun auch die neue Online-Schaltfläche. Das Plugin weist nun deutlich darauf hin im Armaturenbrett und auf der Seite Konformität, öffnet standardmäßig die beiden einzufügenden Klauseln (vorvertragliche Bestimmungen + Geschäftsbedingungen), und in der Klausel «Kündigungsmodalitäten» wird die Schaltfläche nun ausdrücklich genannt. Keine Änderungen am Kündigungsablauf. Siehe Aktualisiere deine rechtlichen Dokumente.
- Widerrufslinks in Bestell-E-Mails – auf allen Plattformen. Der Link wird hinzugefügt automatisch zu den Kunden-E-Mails von WooCommerce und zur Bestätigungs-E-Mail von Easy Digital Downloads (damit der Kunde direkt aus der E-Mail heraus zum Widerruf gelangt, wie in Erwägungsgrund 37 empfohlen). FluentCart erlaubt es den Plugins nicht, automatisch Inhalte zu seinen E-Mails hinzuzufügen: Daher Einstellungen → FluentCart Zeigt nun eine kurze, optionale Anleitung (3 Schritte) zum Einfügen des Shortcodes an
{{wwu.recesso_url}}in der Vorlage der Quittung. Nichts Aufdringliches und nichts Obligatorisches: Das Widerrufsrecht ist jederzeit über den Kundenbereich/das Portal und die öffentliche Seite zugänglich. Versionshinweise →
- Widerrufslinks in Bestell-E-Mails – auf allen Plattformen. Der Link wird hinzugefügt automatisch zu den Kunden-E-Mails von WooCommerce und zur Bestätigungs-E-Mail von Easy Digital Downloads (damit der Kunde direkt aus der E-Mail heraus zum Widerruf gelangt, wie in Erwägungsgrund 37 empfohlen). FluentCart erlaubt es den Plugins nicht, automatisch Inhalte zu seinen E-Mails hinzuzufügen: Daher Einstellungen → FluentCart Zeigt nun eine kurze, optionale Anleitung (3 Schritte) zum Einfügen des Shortcodes an
{{wwu.recesso_url}}in der Vorlage der Quittung. Nichts Aufdringliches und nichts Obligatorisches: Das Widerrufsrecht ist jederzeit über den Kundenbereich/das Portal und die öffentliche Seite zugänglich. Versionshinweise →
- Automatisierungen: schreibgeschützte REST-API + signierter Webhook. Neuer Abschnitt Einstellungen → Integrationen um Stornierungsanfragen mit externen Systemen (Zapier, Make, n8n, CRM, Helpdesk) zu verknüpfen. (1) Ein'REST-API (nur Lesezugriff) (
webwakeupwdb/v1), um Anfragen aufzulisten und den Status einer Bestellung zu überprüfen, authentifiziert mit einem Anwendungspasswort von WordPress. (2) Ein Webhook optional, das eine Benachrichtigung sendet mit HMAC-SHA256 signiert an deinen Endpunkt, sobald ein Widerruf bestätigt wird. Datenschutz an erster Stelle: Die IP-Adresse des Verbrauchers wird nicht niemals offengelegt (nur ein Prüf-Hash). Kein Endpunkt für erstellen Ein Rücktritt aufgrund einer rechtlichen Entscheidung. Nach Abschluss einer speziellen Sicherheitsüberprüfung. Keine Änderungen am Rücktrittsablauf. Versionshinweise →
- Automatisierungen: schreibgeschützte REST-API + signierter Webhook. Neuer Abschnitt Einstellungen → Integrationen um Stornierungsanfragen mit externen Systemen (Zapier, Make, n8n, CRM, Helpdesk) zu verknüpfen. (1) Ein'REST-API (nur Lesezugriff) (
wwu-wb/v1), um Anfragen aufzulisten und den Status einer Bestellung zu überprüfen, authentifiziert mit einem Anwendungspasswort von WordPress. (2) Ein Webhook optional, das eine Benachrichtigung sendet mit HMAC-SHA256 signiert an deinen Endpunkt, sobald ein Widerruf bestätigt wird. Datenschutz an erster Stelle: Die IP-Adresse des Verbrauchers wird nicht niemals offengelegt (nur ein Prüf-Hash). Kein Endpunkt für erstellen Ein Rücktritt aufgrund einer rechtlichen Entscheidung. Nach Abschluss einer speziellen Sicherheitsüberprüfung. Keine Änderungen am Rücktrittsablauf. Versionshinweise →
- Vermerk «da befreit» auf der Verbraucherseite. Wenn alle Artikel einer Bestellung unter eine Ausnahme gemäß Art. 59 fallen (z. B. digitale Inhalte mit sofortigem Zugriff oder vollständig erbrachte Dienstleistungen, bei denen die Einwilligung jeweils an der Kasse eingeholt wurde), fehlt die Schaltfläche zum Widerruf. Der Kunde sieht nun einen kurzen und präzisen Hinweis, der die spezifische Ausnahme mit dem entsprechenden Rechtsverweis angibt (z. B. «Digitale Inhalte mit sofortigem Zugriff – Art. 16(1)(m) CRD / Art. 59(1)(o) Verbrauchergesetzbuch»). Diese wird im Widerrufsformular, auf den WooCommerce- und EDD-Kontoseiten sowie im FluentCart-Portal angezeigt. Der Text kann bearbeitet werden in Einstellungen → Verbraucherleitfaden. Er erscheint nur bei tatsächlich steuerbefreiten Bestellungen – niemals bei gewöhnlichen Bestellungen; die Sichtbarkeit der Schaltfläche ändert sich nicht. Versionshinweise →
- Vermerk «da befreit» auf der Verbraucherseite. Wenn alle Artikel einer Bestellung unter eine Ausnahme gemäß Art. 59 fallen (z. B. digitale Inhalte mit sofortigem Zugriff oder vollständig erbrachte Dienstleistungen, bei denen die Einwilligung jeweils an der Kasse eingeholt wurde), fehlt die Schaltfläche zum Widerruf. Der Kunde sieht nun einen kurzen und präzisen Hinweis, der die spezifische Ausnahme mit dem entsprechenden Rechtsverweis angibt (z. B. «Digitale Inhalte mit sofortigem Zugriff – Art. 16(1)(m) CRD / Art. 59(1)(o) Verbrauchergesetzbuch»). Diese wird im Widerrufsformular, auf den WooCommerce- und EDD-Kontoseiten sowie im FluentCart-Portal angezeigt. Der Text kann bearbeitet werden in Einstellungen → Verbraucherleitfaden. Er erscheint nur bei tatsächlich steuerbefreiten Bestellungen – niemals bei gewöhnlichen Bestellungen; die Sichtbarkeit der Schaltfläche ändert sich nicht. Versionshinweise →
- Teilweiser Widerruf für ein Produkt (für Endverbraucher). Das EU-Recht ermöglicht es, auch von einzelnen Artikeln einer Bestellung zurückzutreten (Anhang I-B: «der folgenden Waren»). Der erste Schritt des Formulars zeigt nun eine Optionale Checkliste: Der Verbraucher wählt die zurückzusendenden Produkte aus; lässt er das Feld leer, widerruft er die gesamte Bestellung. Die Auswahl erscheint auf der Quittung auf einem dauerhaften Datenträger und im Bereich „Anfragen“. Die Rückerstattung (vollständig oder teilweise) erfolgt stets manuell. Der Widerruf wird niemals gesperrt. Versionshinweise →
- Teilweiser Widerruf für ein Produkt (für Endverbraucher). Das EU-Recht ermöglicht es, auch von einzelnen Artikeln einer Bestellung zurückzutreten (Anhang I-B: «der folgenden Waren»). Der erste Schritt des Formulars zeigt nun eine Optionale Checkliste: Der Verbraucher wählt die zurückzusendenden Produkte aus; lässt er das Feld leer, widerruft er die gesamte Bestellung. Die Auswahl erscheint auf der Quittung auf einem dauerhaften Datenträger und im Bereich „Anfragen“. Die Rückerstattung (vollständig oder teilweise) erfolgt stets manuell. Der Widerruf wird niemals gesperrt. Versionshinweise →
- Konfigurierbare FluentCart-Verwaltung. Neuer Ansatz Einstellungen → FluentCart in drei Modi: Auto (Standard) — zeigt die Schaltfläche an, wird jedoch automatisch ausgeblendet, sobald das native Rücktritts-Add-on von FluentCart erkannt wird, sodass der Kunde niemals zwei Schaltflächen sieht; Immer — behält unsere Schaltfläche immer bei; Aus — Deaktiviert die FluentCart-Verwaltung. Dies betrifft nur die Consumer-Oberflächen; Admin-Bereiche und bestehende Anfragen bleiben davon unberührt. Versionshinweise →
- Konfigurierbare FluentCart-Verwaltung. Neuer Ansatz Einstellungen → FluentCart in drei Modi: Auto (Standard) — zeigt die Schaltfläche an, wird jedoch automatisch ausgeblendet, sobald das native Rücktritts-Add-on von FluentCart erkannt wird, sodass der Kunde niemals zwei Schaltflächen sieht; Immer — behält unsere Schaltfläche immer bei; Aus — Deaktiviert die FluentCart-Verwaltung. Dies betrifft nur die Consumer-Oberflächen; Admin-Bereiche und bestehende Anfragen bleiben davon unberührt. Versionshinweise →
- Korrekt verwaltete Abonnements (WooCommerce Subscriptions, FluentCart, EDD Recurring). Das EU-Recht sieht ein einziges Widerrufsrecht von 14 Tagen vor vertraglich, Fazit: Ein Neustart bringt ihn nicht wieder zum Laufen. Die Schaltfläche wird nun angezeigt nur bei der Erstbestellung und ist in den Verlängerungsaufträgen versteckt (eine einzige Überprüfung deckt alle Flächen ab). Zwei Opt-in-Schalter in Einstellungen → Abonnements (zeigt auch Verlängerungen an · Abonnement bei Kündigung stornieren), beide standardmäßig deaktiviert — Rückerstattung und anteilige Abrechnung erfolgen weiterhin manuell. Das Anforderungs-Dashboard kennzeichnet Abonnementbestellungen mit einer Erinnerung. Vorsichtige und ausfallsichere Erkennung von Verlängerungen (im Zweifelsfall bleibt die Schaltfläche erhalten). Mit einem aktiven Abonnement-Plugin zu testen. Siehe Abonnements.
- Korrekt verwaltete Abonnements (WooCommerce Subscriptions, FluentCart, EDD Recurring). Das EU-Recht sieht ein einziges Widerrufsrecht von 14 Tagen vor vertraglich, Fazit: Ein Neustart bringt ihn nicht wieder zum Laufen. Die Schaltfläche wird nun angezeigt nur bei der Erstbestellung und ist in den Verlängerungsaufträgen versteckt (eine einzige Überprüfung deckt alle Flächen ab). Zwei Opt-in-Schalter in Einstellungen → Abonnements (zeigt auch Verlängerungen an · Abonnement bei Kündigung stornieren), beide standardmäßig deaktiviert — Rückerstattung und anteilige Abrechnung erfolgen weiterhin manuell. Das Anforderungs-Dashboard kennzeichnet Abonnementbestellungen mit einer Erinnerung. Vorsichtige und ausfallsichere Erkennung von Verlängerungen (im Zweifelsfall bleibt die Schaltfläche erhalten). Mit einem aktiven Abonnement-Plugin zu testen. Siehe Abonnements.
- FluentCart-E-Mail-Merge-Tags. . Fügen Sie den Widerrufslink für die jeweilige Bestellung in die Transaktions-E-Mails ein nativ von FluentCart (z. B. Bestellbestätigung). Das FluentCart-Team hat den Hook-Vertrag bestätigt; das Tag ist im Selektor des E-Mail-Editors registriert und wird sicher aufgelöst (leer, wenn im Kontext keine Bestellung vorliegt). Muss auf einer echten FluentCart-Instanz getestet werden. Anmerkung: FluentCart hat angekündigt, dass in Kürze eine native EU-Widerrufsfunktion eingeführt wird.
- E-Mail-Merge-Tags von FluentCart
{{wwu.recesso_url}}. Fügen Sie den Widerrufslink für die jeweilige Bestellung in die Transaktions-E-Mails ein nativ von FluentCart (z. B. Bestellbestätigung). Das FluentCart-Team hat den Hook-Vertrag bestätigt; das Tag ist im Selektor des E-Mail-Editors registriert und wird sicher aufgelöst (leer, wenn im Kontext keine Bestellung vorliegt). Muss auf einer echten FluentCart-Instanz getestet werden. Anmerkung: FluentCart hat angekündigt, dass in Kürze eine native EU-Widerrufsfunktion eingeführt wird.
- Umfassendes Sicherheitsaudit des gesamten Plugins — 0 kritische, 0 hohe Sicherheitsrisiken. SQLi, XSS, CSRF, Zugriffskontrolle/IDOR, Datei/Deserialisierung, Verschlüsselung/Integrität der Nachweise und Dompdf-Abhängigkeit – alles in Ordnung. Behebung: SSRF-Schutz am konfigurierbaren RFC 3161-Endpunkt (blockiert interne Ziele / Cloud-Metadaten / IPv6-Loopback / CGNAT), Ratenbegrenzung an Rücktritts-Endpunkten, Längenbegrenzung für Eingaben, strengere Debug-Maskierung, Cron-Bereinigung bei Deinstallation. Keine Änderungen für den Kunden.
- Umfassendes Sicherheitsaudit des gesamten Plugins — 0 kritische, 0 hohe Sicherheitsrisiken. SQLi, XSS, CSRF, Zugriffskontrolle/IDOR, Datei/Deserialisierung, Verschlüsselung/Integrität der Nachweise und Dompdf-Abhängigkeit – alles in Ordnung. Behebung: SSRF-Schutz am konfigurierbaren RFC 3161-Endpunkt (blockiert interne Ziele / Cloud-Metadaten / IPv6-Loopback / CGNAT), Ratenbegrenzung an Rücktritts-Endpunkten, Längenbegrenzung für Eingaben, strengere Debug-Maskierung, Cron-Bereinigung bei Deinstallation. Keine Änderungen für den Kunden.
- EDD: Die Schaltfläche „Widerruf“ wird nun auf den Kundenseiten angezeigt. Bei Easy Digital Downloads erscheint die Schaltfläche auf der Kaufbeleg und in jeder Zeile der Kaufhistorie, und der Link wird zum'EDD-Bestätigungs-E-Mail — Vollständige Kompatibilität mit WooCommerce und FluentCart (zuvor nutzte EDD nur die öffentliche Seite). Basiert auf EDD 3.x-Hooks, die anhand des offiziellen Quellcodes überprüft wurden. Muss noch in einem echten EDD-Shop getestet werden.
- EDD: Die Schaltfläche „Widerruf“ wird nun auf den Kundenseiten angezeigt. Bei Easy Digital Downloads erscheint die Schaltfläche auf der Kaufbeleg und in jeder Zeile der Kaufhistorie, und der Link wird zum'EDD-Bestätigungs-E-Mail — Vollständige Kompatibilität mit WooCommerce und FluentCart (zuvor nutzte EDD nur die öffentliche Seite). Basiert auf EDD 3.x-Hooks, die anhand des offiziellen Quellcodes überprüft wurden. Muss noch in einem echten EDD-Shop getestet werden.
- Mit dem Team abgestimmte Verbesserungen an FluentCart. Das Einwilligungsfeld wird nun angezeigt unter
Zahlungsmethoden vor der Bestellung(gilt für den Standard-Checkout und den modalen Checkout und in Blöcken); die Ausnahmen bei FluentCart sind nach Kategorie (TaxonomieProduktkategorien, wie WooCommerce und EDD); die Hinweise zum Widerruf/zur Rückerstattung erscheinen in der Aktivitätszeitleiste der Bestellung bei FluentCart.
- Mit dem Team abgestimmte Verbesserungen an FluentCart. Das Einwilligungsfeld wird nun angezeigt unter
Zahlungsmethoden vor der Bestellung(gilt für den Standard-Checkout und den modalen Checkout und in Blöcken); die Ausnahmen bei FluentCart sind nach Kategorie (TaxonomieProduktkategorien, wie WooCommerce und EDD); die Hinweise zum Widerruf/zur Rückerstattung erscheinen in der Aktivitätszeitleiste der Bestellung bei FluentCart.
- Easy Digital Downloads (EDD 3.0+) wird unterstützt. Dritte Plattform nach WooCommerce und FluentCart: Widerrufsschaltfläche, Testablauf und Ausnahmen mit Einwilligungserfassung funktionieren in EDD-Shops, mit Ausnahmen nach Kategorie (download_category). Muss in einem echten EDD-Shop getestet werden.
- Easy Digital Downloads (EDD 3.0+) wird unterstützt. Dritte Plattform nach WooCommerce und FluentCart: Widerrufsschaltfläche, Testablauf und Ausnahmen mit Einwilligungserfassung funktionieren in EDD-Shops, mit Ausnahmen nach Kategorie (download_category). Muss in einem echten EDD-Shop getestet werden.
- Einwilligung auch beim blockweisen Checkout von WooCommerce einholen (über die offizielle „Additional Checkout Fields“-API, WooCommerce 9.9+), kompatibel mit dem klassischen Checkout und mit FluentCart. Reines PHP, kein Build. + Spezifikation für die zukünftige EDD-Integration.
- Einwilligung auch beim blockweisen Checkout von WooCommerce einholen (über die offizielle „Additional Checkout Fields“-API, WooCommerce 9.9+), kompatibel mit dem klassischen Checkout und mit FluentCart. Reines PHP, kein Build. + Spezifikation für die zukünftige EDD-Integration.
- Überarbeitete Einstellungen für Ausnahmen (WWU UI Kit): Gruppierte Motive (mit Bedingungen / ohne Bedingungen / Siegel) mit Tooltip, Beispielen, dem Hilfsfeld «Was verkaufen Sie?», einer Vorschau auf das, was der Kunde sieht (Eingabefeld + E-Mail), und einem Statusfeld. Die Übersetzungen für IT/FR/ES/DE sind fertiggestellt, einschließlich der Bezeichnungen für die Ausnahmen, die zuvor auf Englisch angegeben waren.
- Überarbeitete Einstellungen für Ausnahmen (WWU UI Kit): Gruppierte Motive (mit Bedingungen / ohne Bedingungen / Siegel) mit Tooltip, Beispielen, dem Hilfsfeld «Was verkaufen Sie?», einer Vorschau auf das, was der Kunde sieht (Eingabefeld + E-Mail), und einem Statusfeld. Die Übersetzungen für IT/FR/ES/DE sind fertiggestellt, einschließlich der Bezeichnungen für die Ausnahmen, die zuvor auf Englisch angegeben waren.
- Erfassung der Zustimmung auf FluentCart. Die bedingten Ausnahmen (sofortige digitale Bereitstellung / erbrachte Dienstleistung) erfordern nun auch an der FluentCart-Kasse eine Einwilligung, mit einer Bestätigungs-E-Mail auf einem dauerhaften Datenträger – basierend auf Hooks, die anhand der offiziellen Dokumente überprüft wurden. Link «Bestellung öffnen» im Admin-Bereich über die native FluentCart-URL.
- Erfassung der Zustimmung auf FluentCart. Die bedingten Ausnahmen (sofortige digitale Bereitstellung / erbrachte Dienstleistung) erfordern nun auch an der FluentCart-Kasse eine Einwilligung, mit einer Bestätigungs-E-Mail auf einem dauerhaften Datenträger – basierend auf Hooks, die anhand der offiziellen Dokumente überprüft wurden. Link «Bestellung öffnen» im Admin-Bereich über die native FluentCart-URL.
- Ausnahmen (Art. 59) – Bestätigung auf einem dauerhaften Datenträger + Nachweis, Aufbewahrung, DSGVO. Bei bedingten Einwilligungen sendet das Plugin dem Kunden nun eine Bestätigungs-E-Mail auf einem dauerhaften Datenträger, die den Wortlaut der erteilten Einwilligung wiedergibt (für den digitalen Bereich verbindlich, Art. 59 Abs. 1 Buchstabe o), und protokolliert den Versand separat. Die gespeicherten Einwilligungen haben eine konfigurierbare Aufbewahrungsfrist (Standard: 10 Jahre) mit einer täglichen Routine, die anschließend die IP-Adresse anonymisiert; die IP-Adresse ist konfigurierbar und gelangt niemals in das unveränderliche Protokoll. Es wurden eine GDPR-konforme Datenschutzklausel (berechtigtes Interesse) sowie eine Seite "Einwilligungsaufzeichnungen" mit CSV-Export hinzugefügt. Überall klarere Formulierungen: Für physische Produkte ist niemals eine Einwilligung erforderlich; die Schaltfläche wird erst nach der Erfassung ausgeblendet (Fail-Safe).
- Ausnahmen (Art. 59) – Bestätigung auf einem dauerhaften Datenträger + Nachweis, Aufbewahrung, DSGVO. Bei bedingten Einwilligungen sendet das Plugin dem Kunden nun eine Bestätigungs-E-Mail auf einem dauerhaften Datenträger, die den Wortlaut der erteilten Einwilligung wiedergibt (für den digitalen Bereich verbindlich, Art. 59 Abs. 1 Buchstabe o), und protokolliert den Versand separat. Die gespeicherten Einwilligungen haben eine konfigurierbare Aufbewahrungsfrist (Standard: 10 Jahre) mit einer täglichen Routine, die anschließend die IP-Adresse anonymisiert; die IP-Adresse ist konfigurierbar und gelangt niemals in das unveränderliche Protokoll. Es wurden eine GDPR-konforme Datenschutzklausel (berechtigtes Interesse) sowie eine Seite "Einwilligungsaufzeichnungen" mit CSV-Export hinzugefügt. Überall klarere Formulierungen: Für physische Produkte ist niemals eine Einwilligung erforderlich; die Schaltfläche wird erst nach der Erfassung ausgeblendet (Fail-Safe).
- Ausnahmen (Art. 59) – Einholung der Einwilligung an der Kasse. In den beiden bedingten Fällen (digitaler Inhalt mit sofortigem Zugriff; bereits erbrachte Dienstleistung) zeigt der WooCommerce-Checkout ein obligatorisches Bestätigungsfeld an und speichert den akzeptierten Text (mit SHA-256-Hash, Datum/Uhrzeit und IP-Adresse) als Nachweis in der Bestellung: Die Schaltfläche wird für diese Artikel erst nach der rechtmäßigen Einwilligung ausgeblendet. Text anpassbar über
webwakeupwdb_consent_text. Klassischer WooCommerce-Checkout; Checkout in Blöcken und FluentCart folgen in Kürze.
- Ausnahmen (Art. 59) – Einholung der Einwilligung an der Kasse. In den beiden bedingten Fällen (digitaler Inhalt mit sofortigem Zugriff; bereits erbrachte Dienstleistung) zeigt der WooCommerce-Checkout ein obligatorisches Bestätigungsfeld an und speichert den akzeptierten Text (mit SHA-256-Hash, Datum/Uhrzeit und IP-Adresse) als Nachweis in der Bestellung: Die Schaltfläche wird für diese Artikel erst nach der rechtmäßigen Einwilligung ausgeblendet. Text anpassbar über
webwakeupwdb_consent_text. Klassischer WooCommerce-Checkout; Checkout in Blöcken und FluentCart folgen in Kürze.
- Ausnahmen (Art. 59) – Kennzeichnung nach Grund. Kennzeichnen Sie Produkte oder Kategorien als ausgenommen aus einem bestimmten gesetzlichen Grund (Maßanfertigung, verderbliche Ware, hygienisch versiegelte Ware, Dienstleistungen mit festem Termin, sofortige digitale Bereitstellung, bereits erbrachte Dienstleistung …), jeweils mit Verweis auf die gesetzliche Grundlage und einer Anleitung in leicht verständlicher Sprache. Das Widerrufsrecht bleibt die Standardeinstellung – auch für digitale Produkte –, und bei den bedingten Gründen bleibt die Schaltfläche sichtbar, bis die Einwilligung eingeholt wurde.
- Ausnahmen (Art. 59) – Kennzeichnung nach Grund. Kennzeichnen Sie Produkte oder Kategorien als ausgenommen aus einem bestimmten gesetzlichen Grund (Maßanfertigung, verderbliche Ware, hygienisch versiegelte Ware, Dienstleistungen mit festem Termin, sofortige digitale Bereitstellung, bereits erbrachte Dienstleistung …), jeweils mit Verweis auf die gesetzliche Grundlage und einer Anleitung in leicht verständlicher Sprache. Das Widerrufsrecht bleibt die Standardeinstellung – auch für digitale Produkte –, und bei den bedingten Gründen bleibt die Schaltfläche sichtbar, bis die Einwilligung eingeholt wurde.
- Kundenportal FluentCart Funktionsfähig: Seite «Widerrufsrecht» im Konto, Eintrag im Seitenmenü, Schaltfläche in der einzelnen Bestellung und Banner. Jeder Hook wurde gemäß dem offiziellen FluentCart-Vertrag (überprüft auf dev.fluentcart.com) korrigiert, und die Bestellliste liest die Daten über die korrekten Beziehungen (Kunde, Adresse) aus. Behebt das Problem der leeren Seite und der fehlenden Schaltfläche, die in den Live-Tests aufgetreten sind.
- Kundenportal FluentCart Funktionsfähig: Seite «Widerrufsrecht» im Konto, Eintrag im Seitenmenü, Schaltfläche in der einzelnen Bestellung und Banner. Jeder Hook wurde gemäß dem offiziellen FluentCart-Vertrag (überprüft auf dev.fluentcart.com) korrigiert, und die Bestellliste liest die Daten über die korrekten Beziehungen (Kunde, Adresse) aus. Behebt das Problem der leeren Seite und der fehlenden Schaltfläche, die in den Live-Tests aufgetreten sind.
- Erste Integration des FluentCart-Kundenportals + Liste der geeigneten Bestellungen, die sowohl für WooCommerce als auch für FluentCart gilt.
- Erste Integration des FluentCart-Kundenportals + Liste der geeigneten Bestellungen, die sowohl für WooCommerce als auch für FluentCart gilt.
- Anleitung für Verbraucher (Schritt für Schritt, überall) + Angabe des Zeitstempel-Anbieters in den Einstellungen.
- Anleitung für Verbraucher (Schritt für Schritt, überall) + Angabe des Zeitstempel-Anbieters in den Einstellungen.
- Zeitstempel-Anbieter RFC 3161 / eIDAS (Kostenloses Sectigo-Zertifikat + nationale QTSPs).
- Zeitstempel-Anbieter RFC 3161 / eIDAS (Kostenloses Sectigo-Zertifikat + nationale QTSPs).
- Die Rückerstattung wurde als Nachweis im Protokoll vermerkt; siehe Leitfaden «Was ist nach einer Anfrage zu tun?».
- Die Rückerstattung wurde als Nachweis im Protokoll vermerkt; siehe Leitfaden «Was ist nach einer Anfrage zu tun?».
- Workflow zur Bearbeitung von Anfragen (Status, als bearbeitet markieren, erneut senden, Rückerstattung) + Korrektur der CSS-Liste.
- Workflow zur Bearbeitung von Anfragen (Status, als bearbeitet markieren, erneut senden, Rückerstattung) + Korrektur der CSS-Liste.
- Liste der berechtigten Bestellungen, lesbare Überprüfungsseite, E-Mail-Vorschau, Gutenberg-Block.
- Liste der berechtigten Bestellungen, lesbare Überprüfungsseite, E-Mail-Vorschau, Gutenberg-Block.
- Onboarding-Dashboard, WooCommerce-E-Mail-Integration, Diagnose der E-Mail-Zustellung, Behebung von Rendering-Fehlern.
- Onboarding-Dashboard, WooCommerce-E-Mail-Integration, Diagnose der E-Mail-Zustellung, Behebung von Rendering-Fehlern.
- MVP: gesetzlich vorgeschriebene Schaltfläche, Zwei-Schritte-Verfahren, dauerhafter Beleg, unveränderbares Protokoll + OpenTimestamps, länderspezifische Anwendbarkeit, mehrsprachig (IT/EN/DE/FR/ES), rechtsgültige Dokumente, anpassbares CSS.
- MVP: gesetzlich vorgeschriebene Schaltfläche, Zwei-Schritte-Verfahren, dauerhafter Beleg, unveränderbares Protokoll + OpenTimestamps, länderspezifische Anwendbarkeit, mehrsprachig (IT/EN/DE/FR/ES), rechtsgültige Dokumente, anpassbares CSS.