Files
simple-withdrawalbutton/README.md
T
Arne Weiss 346ee7b616 Initial commit with all bug and compliance fixes
- Remove double pSQL() escaping in Db::insert/update calls (data corruption fix)
- Rename honeypot field from 'website' to 'cyp_hp_v1' to prevent browser autofill false positives
- Wrap Mail::Send() in try/catch; capture shop notification result to detect failures
- Scope order lookup to current shop (multi-shop fix)
- Translate scope_label and email subjects per language (de/en)
- Make formatDateTimeForMail() language-aware
- Add GDPR Art. 13 privacy notice to withdrawal form
- Add configurable privacy policy URL and Widerrufsbelehrung link
- Add configurable retention period and manual purge button in admin settings
- Show full submitted data on success page as proper receipt
- Fix admin redirect URL format in processStatusUpdate()
- Remove IP/UA hash display from admin detail view (GDPR data minimization)
2026-06-01 07:30:29 +02:00

40 lines
1.8 KiB
Markdown

# cyp_withdrawalbutton
Minimales PrestaShop-Modul für eine elektronische Widerrufsfunktion.
## 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:
- Schritt 1: Angaben prüfen
- Schritt 2: **„Widerruf bestätigen“**
- Speicherung in eigener Tabelle `ps_cyp_withdrawal_request`
- automatische Eingangsbestätigung per E-Mail an den Verbraucher
- interne Benachrichtigung per E-Mail an den Shopbetreiber
- einfache Backoffice-Liste **Widerrufe**
- Statusverwaltung: `new`, `processing`, `closed`
- CSRF-Token, Honeypot und simples Rate-Limit
## Installation
1. ZIP-Datei in PrestaShop unter **Module > Module Manager > Modul hochladen** hochladen.
2. Modul installieren.
3. In der Modulkonfiguration die Benachrichtigungs-E-Mail prüfen.
4. Frontend-Link öffnen und Testwiderruf ausführen.
5. Prüfen, ob Kunden-E-Mail und Shop-E-Mail ankommen.
6. 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 normale Widerrufsbelehrung, Datenschutzerklärung und ggf. AGB müssen separat aktualisiert werden.
- Beim Deinstallieren löscht das Modul die gespeicherten Widerrufe **nicht**, weil diese rechtlich relevant sein können.
- Die Version ist bewusst minimal. Sie erzeugt keine Retourenlabels und führt keine automatische Erstattung aus.
## Kompatibilität
Entwickelt als klassisches PrestaShop-Legacy-Modul für PrestaShop 1.7.8+ / 8 / 9. Getestet wurde hier nur syntaktisch außerhalb eines echten PrestaShop-Systems. Vor Live-Nutzung unbedingt in einer Staging-Umgebung testen.