Add simple_withdrawalbutton PrestaShop module

This commit is contained in:
Arne Weiss
2026-06-01 08:08:31 +02:00
commit 0691fa7f22
33 changed files with 1679 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
# simple_withdrawalbutton
Minimales PrestaShop-Modul für eine elektronische Widerrufsfunktion (Widerrufsrecht nach § 312k / § 356 BGB).
**[→ Aktuelle Version herunterladen](https://git.arne-weiss.de/arne/simple-withdrawalbutton/releases/latest)**
## Enthaltene Funktionen
- Footer-Link **„Vertrag widerrufen"** über `displayFooter`
- zusätzlicher Link im Kundenkonto über `displayCustomerAccount`
- öffentliches Formular ohne Login-Zwang
- vollständiger Widerruf oder Teilwiderruf per Freitext
- zweistufiger Ablauf: Angaben prüfen → **„Widerruf bestätigen"**
- Speicherung in eigener Tabelle `ps_simple_withdrawal_request`
- automatische Eingangsbestätigung per E-Mail an den Verbraucher
- interne Benachrichtigung per E-Mail an den Shopbetreiber
- einfache Backoffice-Liste unter **Bestellungen → Widerrufe**
- Statusverwaltung: `new`, `processing`, `closed`
- CSRF-Token, Honeypot und konfigurierbares Rate-Limit
## Installation
1. ZIP-Datei von der [Releases-Seite](https://git.arne-weiss.de/arne/simple-withdrawalbutton/releases/latest) herunterladen.
2. In PrestaShop unter **Module → Module Manager → Modul hochladen** hochladen.
3. Modul installieren und aktivieren.
## Konfiguration
Nach der Installation unter **Module → Module Manager → simple_withdrawalbutton → Konfigurieren**:
| Einstellung | Beschreibung |
|-------------|--------------|
| Shop-Benachrichtigungs-E-Mail | Adresse, an die neue Widerrufe gemeldet werden |
| Rate-Limit pro Stunde | Max. Einreichungen pro E-Mail oder IP-Hash (Standard: 5) |
| Datenschutzerklärung URL | Link zur Datenschutzerklärung im Formular (DSGVO Art. 13) |
| Widerrufsbelehrung URL | Link zur Widerrufsbelehrung oberhalb des Formulars |
| Aufbewahrungsfrist (Monate) | Ältere Einträge können manuell gelöscht werden (0 = unbegrenzt) |
## Test nach der Installation
1. Frontend-Link im Footer oder im Kundenkonto öffnen.
2. Testwiderruf ausfüllen und bestätigen.
3. Prüfen, ob Kunden-E-Mail und Shop-Benachrichtigung ankommen.
4. Im Backoffice unter **Bestellungen → Widerrufe** prüfen, ob der Datensatz sichtbar ist.
## Wichtige Hinweise
- Das Modul bestätigt nur den **Eingang** des Widerrufs, nicht dessen rechtliche Wirksamkeit.
- Die Widerrufsbelehrung, Datenschutzerklärung und AGB müssen separat gepflegt werden.
- Beim Deinstallieren löscht das Modul die gespeicherten Widerrufe **nicht** — diese können rechtlich relevant sein.
- Das Modul erzeugt keine Retourenlabels und führt keine automatische Erstattung aus.
## Kompatibilität
Klassisches PrestaShop-Legacy-Modul für PrestaShop 1.7.8+ / 8 / 9, PHP 7.2+. Vor Live-Nutzung in einer Staging-Umgebung testen.