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

1.8 KiB

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.