Order Withdrawal — EU-Widerrufs-Button für Magento 2
Ein-Klick-Widerruf für Magento 2 — pflichtkonform mit EU-Richtlinie 2023/2673 ab 19.06.2026.
- Ein-Klick-Widerruf aus der Bestellhistorie
- Public Form mit Double-Opt-In für Gast-Bestellungen
- Status-Lifecycle: Pending → Confirmed/Rejected
- Privacy-Boundary: keine Order-Daten vor Verifikation
- Konfigurierbare Frist + Grace Period
- EU 2023/2673-konform ab Stichtag 19.06.2026
# Customer-Repository hinzufügen composer config repositories.copex \ composer https://packages.copex.io/ # Modul installieren composer require copex/module-order-withdrawal # Magento registrieren bin/magento setup:upgrade bin/magento cache:flush
Was das Modul kann.
6 Kern-Features aus dem produktiven Einsatz.
Ein-Klick-Widerruf für eingeloggte Kunden
In der Bestellhistorie steht neben jeder fristgerechten Bestellung ein Widerruf-Button. Optional konfigurierbarer Grund + Kommentar-Feld. Sofortige Bestätigung per E-Mail — der Kunde ist bereits authentifiziert, kein Datenleak-Pfad.
Gast-Widerruf mit Token-Verifikation
Gäste widerrufen über ein eigenes Formular im Frontend. Die erste E-Mail enthält nur einen Token-Link, keine Bestelldaten — erst nach Klick wird die eigentliche Erklärung verarbeitet. reCAPTCHA v3 serverseitig validiert plus Request-Throttling, damit der Endpoint nicht zum Brute-Force-/DoS-Vektor wird. Tippfehler in der E-Mail-Adresse führen nicht zum Datenleak.
Admin-Grid mit Status-Workflow
Alle Anträge in einem eigenen Grid unter Sales → Withdrawals. Inline-Status-Edit, Autocomplete für Anträge ohne automatisch erkannte Bestellung, Order-History-Notiz bei jeder Status-Änderung. Audit-fest dokumentiert, wer wann was entschieden hat.
Belastbare Fristberechnung
Frist = Versanddatum + erwartete Lieferzeit + 14 Tage + optionale Grace Period. Anträge in der Grace-Window landen im Status Needs Validation für manuelle Beurteilung — kein knallhartes Expired, kein rechtliches Risiko bei knapp verfehlten Fristen.
Widerrufsgrund mit Audit-Trail
Optional oder Pflicht-Feld, konfigurierbar mit Code + Label. Labels per Store-View übersetzbar, im Admin-Grid filterbar, in allen drei E-Mail-Templates verfügbar. Reason-Snapshot bleibt bei Konfigurationsänderungen erhalten — für spätere Auswertungen und Audit-Nachweise.
Automatische Hygiene + Spam-Schutz
Tägliche Bereinigung abgelaufener Tokens und unbestätigter Anträge (Standard 02:00 Uhr). Token-Ablaufzeit konfigurierbar (Standard 24h). Public Form mit Google reCAPTCHA v3 — keine sensitiven Tokens in REST-API exponiert.
Warum jetzt?
Am 19. Juni 2026 tritt die EU-Richtlinie (EU) 2023/2673 in Kraft. Sie verpflichtet jeden B2C-Online-Shop in der EU, eine Ein-Klick-Widerrufs-Funktion bereitzustellen — eine Funktion im Shop, mit der der Verbraucher seinen Widerruf direkt erklären kann. Information allein (PDF in den AGB, Mail-Adresse im Footer) reicht ab diesem Tag nicht mehr aus.
In Magento 2 ist diese Funktion nicht enthalten. Weder in Magento Open Source noch in Adobe Commerce. Wer sie braucht, baut sie selbst oder kauft sie zu — und nicht alle Lösungen auf dem Markt sind belastbar gebaut.
Unser Order-Withdrawal-Modul schließt diese Lücke: pflichtkonform, mit Privacy-Boundary für Gast-Widerrufe, belastbarer Fristberechnung und Audit-fester Status-Verwaltung im Admin.
Wie der Widerruf für deine Kunden aussieht
Zwei Wege — je nachdem, ob der Kunde einen Account hat:
Logged-in-Flow. In der Bestellhistorie steht neben jeder fristgerechten Bestellung ein „Widerruf”-Button. Klick → optionaler Grund + Kommentar → Bestätigung. Der Kunde ist authentifiziert, die Eingangsbestätigung kommt sofort per E-Mail.
Public-Form-Flow. Gast-Bestellungen widerrufen über ein eigenes Frontend-Formular. Der Kunde gibt Bestellnummer und E-Mail-Adresse ein, der Shop schickt eine Token-E-Mail ohne Bestelldaten. Erst nach Klick auf den Token-Link wird die Widerrufs-Erklärung verarbeitet und die finale Bestätigung mit Details verschickt. Doppel-Opt-In wie beim Newsletter, nur ernster gemeint — Tippfehler in der eingegebenen E-Mail-Adresse führen nicht zum Datenleak. Der Endpoint ist mit serverseitig validiertem reCAPTCHA v3 und Request-Throttling geschützt, damit er nicht zum Brute-Force-Ziel wird.
Wie du das im Admin-Bereich verwaltest
Alle Anträge landen unter Sales → Withdrawals in einem eigenen Grid. Vier Status-Werte:
Awaiting Confirmation— Gast-Antrag, Token verschickt, Kunde hat noch nicht bestätigtPending— Bestätigt durch Kunden oder direkt aus dem Logged-in-Flow, beim Operator zur BearbeitungNeeds Validation— Antrag in der Grace Period, manuelle Beurteilung nötigConfirmed/Rejected— finale Operator-Entscheidung mit Order-History-Notiz
Inline-Status-Edit direkt im Grid. Bei Anträgen ohne automatisch erkannte Bestellung (Tippfehler in der Bestellnummer) hilft eine Autocomplete-Suche beim manuellen Zuordnen. Bulk-Status-Updates über mehrere Anträge gleichzeitig sind auf der Roadmap.
Vergleich zu Gratis-Modulen
Im Magento-Marketplace gibt es kostenlose Module, die das Widerrufs-Thema oberflächlich adressieren. Wo wir uns konkret unterscheiden:
| Anforderung | Gratis-Open-Source-Modul | CopeX-Modul |
|---|---|---|
| Double-Opt-In für Gast-Widerruf | Bestellnummer + E-Mail genügt | Token-E-Mail mit Ablauf |
| reCAPTCHA serverseitig | Fehlt | Ja |
| Angriffspotential auf den Such-Endpoint | Groß (public, ungeschützt — DoS-Vektor) | Gering (reCAPTCHA + Throttling) |
| E-Mail in URL-Parameter | Im Klartext (Privacy-Risiko) | Token-only |
| Versandzeit-Puffer in Fristberechnung | Fehlt | Konfigurierbar |
| Grace Period nach 14-Tage-Frist | Hartes „expired” | Needs Validation für manuellen Review |
| Widerrufsgrund auditfest gespeichert | Fehlt | Code + Label-Snapshot, store-view-übersetzbar |
| Cron-Cleanup abgelaufener Tokens | Fehlt | Daily |
| Hyvä-Kompatibilität | Meist nicht vorhanden | Ja |
| MageSuite-Anleitung | Fehlt | Schritt-für-Schritt-Doku |
| Unit-Tests / E2E | Keine | Mehr als 50 Unit-Tests + E2E-Tests (Playwright gegen Mailcatcher) |
| Support | Keiner | Während der Support-Laufzeit |
Compliance ist mehr als das Modul
Das Modul erfüllt den technischen Teil der Pflicht. Für die volle Compliance gehört noch dazu:
- Footer-Link auf die Widerrufs-Funktion, gut sichtbar
- §5 Widerrufsbelehrung in den AGB explizit auf die Online-Funktion umstellen
- Datenschutzerklärung ergänzen (Token-Verarbeitung, reCAPTCHA-IP, Reason-Eingabe)
- Bestellbestätigungs-Mail mit Hinweis auf die Funktion erweitern
- Personal-Schulung: Unterschied zwischen Eingangsbestätigung und Widerruf-Anerkennung
Wir installieren das Modul, ziehen die Konfiguration mit dir durch und stimmen die rechtlichen Texte mit deinem Datenschutz-Berater ab. Bei Bedarf machen wir vorab einen Compliance-Audit.
Mehr Hintergrund zur Richtlinie und zur Abgrenzung zu kostenlosen Modulen im Blog: EU-Widerrufs-Button: Was Magento-Shops bis 19.06.2026 umsetzen müssen.
Transparenter Preis.
- Inklusive Support
- Inklusive Updates
- Eigenes Composer-Repository
- Magento 2.4.7 oder neuer (Open Source / Adobe Commerce)
- PHP 8.3 oder neuer
- Google reCAPTCHA Site- und Secret-Key für das Public Form
- Zugriff auf Magento-Cron (für Cleanup-Job)
- Luma- oder Hyvä-Theme. Für MageSuite-Frontends liefern wir eine eigene Integrationsanleitung mit.
Häufig gestellte Fragen
Wer ist von der EU-Richtlinie 2023/2673 betroffen?
Jeder Online-Händler, der Waren oder Dienstleistungen an Verbraucher in der EU verkauft — unabhängig vom Sitz des Händlers. Ein US-Shop, der Bestellungen aus Wien annimmt, muss die Funktion ebenso bereitstellen wie ein österreichischer B2C-Shop. B2B-Bestellungen sind nicht betroffen.
Reicht ein PDF-Widerrufsformular in den AGB nicht aus?
Bis 18.06.2026 ja. Ab 19.06.2026 nein — die Richtlinie verlangt eine aktive Widerrufs-Funktion im Shop, nicht nur eine Information. Das PDF kann als Ergänzung bestehen bleiben, ersetzt aber die Online-Funktion nicht mehr.
Was passiert, wenn die 14-Tage-Frist knapp verfehlt wird?
Mit konfigurierter Grace Period landet der Antrag im Status Needs Validation. Der Operator entscheidet manuell, ob er den Widerruf trotz formal abgelaufener Frist akzeptiert. Das schützt vor Auseinandersetzungen mit Kunden, die unverschuldet knapp dran sind (langsamer Versand, Wochenende, Auslandslieferung).
Was ist der Unterschied zwischen Eingangsbestätigung und Widerruf-Anerkennung?
Die Eingangsbestätigung bestätigt rechtlich nur, dass die Erklärung beim Händler angekommen ist. Die Widerruf-Anerkennung ist die operative Entscheidung des Händlers nach Prüfung. Das Modul automatisiert die Eingangsbestätigung, die Anerkennung ist eine Operator-Entscheidung mit Order-History-Notiz.
Was muss ich neben der Modul-Installation noch tun?
Footer-Link auf die Widerrufs-Funktion, §5 Widerrufsbelehrung in den AGB auf Online-Funktion umstellen, Datenschutzerklärung erweitern (Token-Verarbeitung, IP-Adresse für reCAPTCHA, Reason-Eingabe), Bestellbestätigungs-Mail mit Hinweis auf die Funktion, Personal-Schulung für den Unterschied zwischen Eingang und Anerkennung. Wir unterstützen auf Wunsch bei allen Punkten.
Ist das Modul Hyvä-kompatibel?
Ja. Das Modul läuft sowohl im Luma- als auch im Hyvä-Theme produktiv. Für MageSuite-basierte Frontends liefern wir eine eigene Schritt-für-Schritt-Integrationsanleitung mit, damit auch dort der Logged-in- und Public-Form-Flow sauber eingebunden werden kann.
Kann der Kunde nur Teile einer Bestellung widerrufen?
Aktuell nicht. Das Modul widerruft die gesamte Bestellung als Ganzes. Der Item-Level-Teilwiderruf — also einzelne Artikel widerrufen, andere behalten — ist in Vorbereitung und kommt zeitnah.
Was kostet das Modul?
Zwei Modelle. Abo: 29 € pro Monat, inklusive laufendem Support und allen Updates. Einmalkauf: 229 € mit 6 Monaten Support und Updates inklusive — danach wieder zum gleichen Preis erwerbbar, falls weiter Support und neue Versionen gewünscht sind. Welche Variante passt, hängt davon ab, wie lang du das Modul brauchst und wie viel Compliance-Pflege ohne Update-Stress du dir wünschst. Beide Optionen exkl. einmaliger Installation/Konfiguration durch uns — Aufwand je nach Setup, Angebot nach kurzem Audit-Gespräch.
Das haben wir auch.
Post Label Center (PLC)
Versandetiketten der Österreichischen Post direkt aus Magento erstellen und verwalten — ohne CSV-Export, ohne Tool-Wechsel.
Details →BMD Connector
Service zur bidirektionalen Anbindung von BMD NTCS an Magento 2 — Produkte, Bestellungen, Kunden, Lagerstände. Kein Self-Install-Modul, sondern projektbezogen umgesetzt.
Details →DSGVO / GDPR Modul
DSGVO-konforme Aufbewahrungsfristen, automatisiertes Löschen und Selbstauskunft für Magento-Shops.
Details →
Kein reines Umsetzen
Mitdenken macht den Unterschied
Genau das braucht dein Shop, wenn es wirklich darauf ankommt.
Wenn du eine echte Anforderung hast — Neuer Onlineshop, Re-Plattforming, B2B-Setup,
Performance-Problem, Hyvä-Migration — schreib uns.
Wir hören zu, denken voraus und sagen dir offen, was Sinn ergibt – und was nicht.
Erstgespräch kostenlos, ehrlich, ohne Verkaufstrichter.




