Stripe Checkout: automatic_tax aktiviert (USt fehlte in der Session)

Cashier::calculateTaxes() greift nur bei direkter Abo-Erstellung, nicht
bei Checkout-Sessions — Stripe zeigte darum nur den Nettopreis
(QA-Befund 07.07.). Session-Optionen setzen jetzt automatic_tax +
tax_id_collection; Ad-hoc-Buchungen (Credits, Depublikation) laufen
statt ueber checkoutCharge ueber price_data mit tax_behavior=exclusive,
da automatic_tax das verlangt. Stripe Tax im Testmode eingerichtet
(Origin Bielefeld, DE-Registrierung); Live-Schritt in WS-7 ergaenzt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-07 11:25:28 +00:00
parent fa4bc060a0
commit 4b7403bd4e
2 changed files with 37 additions and 10 deletions

View file

@ -111,12 +111,15 @@ Diese Phase-Migrationen MÜSSEN durchlaufen (Details im Sicherheits-Doc §7):
Einmalige Setups (idempotent, in dieser Reihenfolge):
- [ ] **Stripe Tax im LIVE-Account aktivieren** (QA-Befund 07.07.): Dashboard → Einstellungen → Steuer — Origin-Adresse (In der Lake 4, 33739 Bielefeld, DE) hinterlegen, Standard-Steuerverhalten „exklusiv", **Registrierung Deutschland (Standard)** anlegen. Alle Checkout-Sessions laufen mit `automatic_tax` — ohne aktives Stripe Tax lehnt Stripe jede Session ab (kein Checkout möglich). Im Testmode am 07.07. per API eingerichtet; im Live-Account manuell wiederholen.
```bash
# Stripe: Tarife als Netto-Produkte/Preise anlegen → liefert STRIPE_PRICE_SINGLE_PM
php artisan billing:sync-stripe-plans
# Hinweis: Credit-Pakete (Wallet-Topup) brauchen KEINE Stripe-Preis-IDs — sie
# laufen als Ad-hoc-Charge (checkoutCharge). Preise/Staffeln stehen in
# config/credits.php (Pakete, Extra-PM-Tiers, Boost, Nachweis, Prüf-Overflow).
# laufen als Ad-hoc-Charge mit price_data (tax_behavior=exclusive). Preise/
# Staffeln stehen in config/credits.php (Pakete, Extra-PM-Tiers, Boost,
# Nachweis, Prüf-Overflow).
# Bestandsschutz aus dem Rechnungsarchiv neu nach user_payment_options migrieren.
# WICHTIG: auf Prod erneut laufen lassen, damit net_cents befüllt ist (vorher nur Dry-Run prüfen).