PayPal Live verlangt nach jeder Betragsaenderung eine zweite Freigabe (422
PAYER_ACTION_REQUIRED). Die Kasse rechnet den Endbetrag jetzt beim Express-Start vor
(erste aktive Versandart des Gebiets, Gast = Gebiet 1, eingeloggt = Land/Gruppe), der
Provider vergleicht vor dem PATCH mit dem Stand bei PayPal und laesst ihn bei Gleichstand
aus. Webhooks ordnen ohne custom_id ueber die PayPal-Order-ID zu.
PayPal Live antwortet auf den Capture nach dem Betrags-PATCH mit 422 PAYER_ACTION_REQUIRED
(Sandbox nicht). Der Kunde gibt erneut frei und kehrt ueber ?payment_express= zurueck; dort
scheiterte onExpressReturn an custom_id != 'express' und zeigte eine Fehlerseite, waehrend
die Bestellung offen blieb (Live-Bestellung 312143).
- widerruf.php zeigt jetzt Formular (Name + Bestellnr + E-Mail) ohne Token-Zwang
- Token-Link aus Bestätigungs-Mail bleibt als Convenience, füllt Felder vor
- submit_anonymous() in Revocation-Klasse: Lookup via order_number + customer_email
- Anonymous-Eintrag wird inline angelegt, falls noch kein Token-basierter Record existiert
- Button-Beschriftung 'Vertrag widerrufen' (Gesetzes-Empfehlung)
- prefill_from_token() für Vorausfüllung bei Token-Link