Recht: Online-Widerruf ohne Login (gesetzlicher Widerrufsbutton) - Backend

POST /widerruf (host-agnostisch, throttled, Honeypot, eigener
withdrawal-Error-Bag): persistiert nur Zuordnungsdaten (Name, E-Mail,
optionale Bestellnummer - KEIN Grund, darf nicht verlangt werden) und
versendet sofort die gesetzlich vorgeschriebene automatische
Eingangsbestaetigung mit Zeitstempel an den Verbraucher plus eine
interne Benachrichtigung an die Brand-Kontaktadresse des Hosts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-03 10:03:37 +00:00
parent 0accceeafa
commit 4ea3baeb27
9 changed files with 429 additions and 0 deletions

View file

@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\LegalRequestController;
use App\Http\Controllers\Web\WithdrawalController;
use Illuminate\Support\Facades\Route;
/*
@ -23,3 +24,10 @@ Route::get('/release/{slug}/rechtliches', [LegalRequestController::class, 'creat
Route::post('/release/{slug}/rechtliches', [LegalRequestController::class, 'store'])
->middleware('throttle:10,1')
->name('legal-request.store');
// Gesetzlicher Widerrufsbutton: Online-Widerruf ohne Login (zweistufig im
// Frontend). Host-agnostisch — der Controller ordnet den Betreiber-Empfänger
// über den Host zu.
Route::post('/widerruf', WithdrawalController::class)
->middleware('throttle:10,1')
->name('widerruf.store');