Ein OpenMage-Modul für die gesetzeskonforme Online-Widerrufserklärung im deutschen E-Commerce. Kunden können ihr Widerrufsrecht direkt im Shop ausüben; Händler erhalten eine strukturierte Übersicht in der Administration.
Das Modul ist für OpenMage entwickelt und getestet. Eine Verwendung unter Magento 1.x ist grundsätzlich möglich, wird aber nicht offiziell unterstützt.
- Online-Widerrufsformular für Kunden (Frontend-Route
/revocation) - Automatische Vorausfüllung für eingeloggte Kunden inkl. Bestellhistorie
- Konfigurierbare Widerrufsfrist (Standard: 14 Tage ab Versand)
- Statusworkflow in der Admin-Oberfläche: Neu → In Bearbeitung → Abgeschlossen
- Bestätigungs-E-Mail an den Kunden
- Optionale interne Benachrichtigungs-E-Mail
- Zweisprachige E-Mail-Vorlagen (Deutsch & Englisch)
- Schutz vor Missbrauch: Rate Limiting, Honeypot, CAPTCHA-Integration
- Unterstützung von
Mage_CaptchaundEgovs_Captcha
| Anforderung | Version |
|---|---|
| OpenMage | LTS |
| PHP | ^8.0 |
| Composer | ≥ 1.x |
composer require b3it/revocationAnschließend den OpenMage-Cache leeren und ggf. den Installations-Setup-Prozess anstoßen:
php -f shell/indexer.php -- --reindexInhalt des Verzeichnisses src/ in das Magento-Root-Verzeichnis kopieren.
Danach Cache leeren und die Datenbank-Migration ausführen (wird beim ersten Seitenaufruf automatisch durch OpenMage ausgelöst).
Die Modulkonfiguration ist erreichbar unter:
System → Konfiguration → Verkäufe → Widerruf
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Aktiviert | Modul ein-/ausschalten | Ja |
| Widerrufsfrist (Tage) | Anzahl der Tage ab Versand | 14 |
| Honeypot aktivieren | Einfacher Bot-Schutz | Ja |
| Rate Limit (Anfragen) | Max. Anfragen pro Zeitfenster | 10 |
| Rate Limit (Sekunden) | Zeitfenster für Rate Limiting | 3600 |
| Einstellung | Beschreibung |
|---|---|
| Absender | OpenMage-Store-Identität |
| Bestätigungs-Vorlage | Transaktionale E-Mail-Vorlage für den Kunden |
| Bestätigungstext | Individueller Text in der Bestätigungs-E-Mail |
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Interne Benachrichtigung | Mitarbeiter-E-Mail aktivieren | Nein |
| Empfänger-E-Mail | E-Mail-Adresse des Sachbearbeiters | – |
| Empfänger-Name | Name des Sachbearbeiters | – |
| Benachrichtigungs-Vorlage | Vorlage für die interne Benachrichtigung | – |
Kunden rufen das Widerrufsformular über /revocation auf. Eingeloggte Kunden sehen ihre Bestellungen zur direkten Auswahl. Zur Verifikation werden E-Mail-Adresse und Postleitzahl der Rechnungsadresse abgefragt.
Nicht widerrufbar sind:
- Stornierte oder abgeschlossene Bestellungen
- Bestellungen gewerblicher Kunden
- Bestellungen, bei denen die Widerrufsfrist abgelaufen ist
Die Widerrufs-Übersicht ist erreichbar unter:
Verkäufe → Widerruf
Die Grid-Ansicht bietet Filterung nach ID, Bestellnummer, E-Mail, PLZ, Status und Datum. Der Detailbereich zeigt alle eingereichten Daten und erlaubt die Statusänderung.
Die Vorlagen liegen unter:
src/app/locale/
├── de_DE/template/email/b3it/revocation/ # Deutsche Vorlagen
└── en_US/template/email/b3it/revocation/ # Englische Vorlagen
Die Vorlagen können über System → Transaktionale E-Mails in OpenMage angepasst werden.
Das Modul setzt mehrere Schutzmaßnahmen ein:
- CSRF-Schutz: OpenMage Form-Key-Validierung bei jeder Übermittlung
- Rate Limiting: IP-basierte Begrenzung konfigurierbarer Anfragen pro Zeitfenster
- Honeypot: Verstecktes Formularfeld zur Bot-Erkennung; bei Auslösung stilles Fehlschlagen (kein Hinweis auf Erkennung)
- CAPTCHA: Optionale Integration von
Mage_CaptchaoderEgovs_Captcha - Verifikation: Abgleich von E-Mail-Adresse und Postleitzahl gegen die Bestelldaten – verhindert unbefugten Widerruf
Dieses Projekt steht unter der Open Software License 3.0 (OSL-3.0).