Kündigungsbutton (§ 312k BGB) / Ratgeber
Kündigungsbutton für WooCommerce: Anleitung nach § 312k BGB
Verkaufen Sie mit WooCommerce laufende Verträge an Verbraucher in Deutschland? Diese Anleitung zeigt den öffentlichen Kündigungsweg nach § 312k BGB und die technische Umsetzung von Hand.
Wer braucht den Button?
§ 312k BGB betrifft Unternehmer, die Verbrauchern online entgeltliche Dauerschuldverhältnisse anbieten: etwa Mitgliedschaften, Software-Abos oder regelmäßig gelieferte Abo-Boxen. Entscheidend ist der Vertrag, nicht das Shopsystem. Ein gewöhnlicher Einmalkauf fällt nicht darunter. Ausgenommen sind insbesondere Finanzdienstleistungen und Verträge mit gesetzlich ausschließlich strengerer Kündigungsform als Textform.
Gesetz und aktueller BGH-Stand
Der gut lesbare Button „Verträge hier kündigen“ oder eine gleich eindeutige Formulierung führt unmittelbar zur Bestätigungsseite. Beide Schaltflächen und die Seite müssen ständig verfügbar, unmittelbar und leicht zugänglich sein. Dort müssen Kunden Kündigungsart, bei außerordentlicher Kündigung den Grund, identifizierende Angaben, den Vertrag, den gewünschten Beendigungszeitpunkt und eine Adresse für die schnelle elektronische Bestätigung angeben können. Der abschließende Button heißt „jetzt kündigen“ oder entsprechend eindeutig.
Nach dem Absenden muss die Erklärung mit Datum und Uhrzeit auf einem dauerhaften Datenträger speicherbar sein. Bestätigen Sie sofort elektronisch in Textform, beispielsweise per E-Mail: Inhalt, Datum und Uhrzeit des Zugangs sowie den Beendigungszeitpunkt. Ohne Datumsangabe gilt im Zweifel der frühestmögliche Zeitpunkt. Ein fehlender gesetzlicher Kündigungsweg kann eine Kündigung ohne Frist ermöglichen.
Der BGH entschied am 16. Juli 2026 in I ZR 200/25: Auf die Bestätigungsseite gehören keine Halteangebote, Pausieren-Buttons oder zusätzlichen Werbeinhalte. Die Login-Verfahren I ZR 272/25 und I ZR 275/25 wurden am 5. November 2026 verhandelt; die Entscheidung steht noch aus. Planen Sie einen Weg ohne Passwortpflicht.
WooCommerce: Umsetzung von Hand
- Erstellen Sie unter Seiten > Erstellen eine öffentliche Seite „Verträge hier kündigen“. Bauen Sie das Formular als eigenen Shortcode in einem kleinen WordPress-Plugin; die Seitensichtbarkeit bleibt öffentlich. Eine WooCommerce-Kontoseite oder der Link zum Beenden eines Abos im Kundenkonto ersetzt diesen Zugang nicht.
- Öffnen Sie bei einem Blocktheme Design > Editor und bearbeiten Sie das Footer-Template-Teil. Bei klassischen Themes ergänzen Sie den Footer-Menübereich unter Design > Menüs oder einen Hook im Child-Theme. Der Link muss direkt zum Formular führen. Verwenden Sie für die Formularausgabe ein schlichtes Template ohne Shop-Werbung.
- Verarbeiten Sie POST serverseitig im eigenen Plugin, validieren Sie die Angaben und speichern Sie Erklärung und Eingangszeit in einer eigenen Tabelle. Senden Sie sofort über wp_mail die Bestätigung an die angegebene Adresse und eine Händlernachricht. Richten Sie einen verlässlichen Mailtransport ein; ein erfolgreicher Funktionsaufruf beweist noch keine Zustellung.
Vor Veröffentlichung testen
Schützen Sie die Verarbeitung gegen doppelte Übermittlung, ohne eine Anmeldung zu erzwingen. Zeigen Sie einen herunterladbaren oder druckbaren Beleg mit Erklärung und Eingangszeit; speichern Sie keine sensiblen Formulardaten in öffentlichen URLs. Prüfen Sie abgemeldet auf dem Handy den gesamten Weg und die Bestätigung im Postfach. Kontrollieren Sie nach Theme-Updates, ob der Footer-Link noch existiert. Deaktivieren Sie Retention-Popups auf der Bestätigungsseite und prüfen Sie Cache, Cookie-Banner und Wartungsmodus. Bearbeiten Sie die eingegangene Erklärung anschließend im tatsächlichen Abosystem; das Formular stoppt keine Abbuchungen von selbst.
Quellen
- § 312k BGB auf gesetze-im-internet.de (Bundesministerium der Justiz)
- BGH, Pressemitteilung Nr. 128/2026: Urteil vom 16. Juli 2026, I ZR 200/25
- BGH, Pressemitteilung Nr. 133/2026: Verhandlungstermin am 5. November 2026 in Sachen I ZR 272/25 und I ZR 275/25
Gesetz und Pressemitteilungen des BGH; Stand 6. November 2026. Kein Rechtsrat.