Phase 9F: Tarif-Seite mit Stripe-Checkout und Billing Portal

- Buchungs-Seite zeigt das echte 4-Tier-Raster aus plans (Monat/Jahr-
  Toggle, Jahrespreis als "2 Monate gratis") mit Checkout-Buttons,
  Einzel-PM als separaten No-Abo-Block und Enterprise-Hinweis;
  Credit-Konzept-Mock entfernt (Credits folgen mit 9I bzw. Phase 2)
- Aktueller-Tarif-Panel real: Abo (Preis, Kontingent, Kündigungsstatus),
  Bestandstarif (unbegrenzt, nächste MAN-Rechnung), offene Einzelkäufe;
  Kontingent-Kachel zeigt "Unbegrenzt" bei Bestandsschutz
- "Abo verwalten" über das Stripe Billing Portal
  (me.checkout.billing-portal; Zahlungsmethode, Rechnungen, Kündigung)
- Aktive Buchungen + Verlauf aus echten Daten (Abo, Legacy-Vereinbarung,
  offene/eingelöste Einzelkäufe mit PM-Verknüpfung)
- Tests: BookingsPageTest (9 Tests), PanelConsolidationTest angepasst;
  Suite 519 passed / 4 skipped
- Doku: PHASE-9-Plan 9F , Billing-Doku (Routen, Stripe Tax aktiviert),
  STATUS-ABGLEICH, Checkliste, PROGRESS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-06-12 12:39:39 +00:00
parent c8dc99c3c8
commit 23ac8bc7f1
11 changed files with 581 additions and 316 deletions

View file

@ -5,6 +5,28 @@
---
## 2026-06-12 · Phase 9F · Tarif-Seite + Checkout-UI ✅
- **Was**: „Buchungen & Add-ons" vom Credit-Konzept-Mock auf echte Daten
umgestellt: 4-Tier-Raster aus `plans` (Alpine Monat/Jahr-Toggle,
„2 Monate gratis"), Checkout-Buttons auf die 9E-Routen, Einzel-PM als
separater No-Abo-Block, Aktueller-Tarif-Panel (Abo / Bestandstarif
unbegrenzt / offene Einzelkäufe / leer) mit Kontingent-Kachel,
„Abo verwalten" → Stripe Billing Portal (neue Route
`me.checkout.billing-portal`), aktive Buchungen + Verlauf real.
Credit-Pakete/Marktplatz/Platzierungen entfernt (→ 9I bzw. Phase 2).
Stripe Tax im Dashboard aktiviert („SaaS business use", exklusiv).
- **Dateien**: `resources/views/livewire/customer/bookings.blade.php`
(Neufassung), `app/Http/Controllers/CheckoutController.php` +
`app/Services/Billing/StripeCheckoutService.php` (Billing Portal),
`routes/customer.php`.
- **Build/Test**: Suite 519 passed / 4 skipped, Pint clean; 9 neue Tests
in `BookingsPageTest`, `PanelConsolidationTest` auf neue Seite angepasst.
- **Offene Fragen**: Stripe Tax + Produkt-Sync vor Relaunch im Live-Mode
wiederholen.
- **Nächster Schritt**: 9G Tageslimit (`plans.daily_limit` beim
Veröffentlichen), dann 9H Einzel-PM-Abo-Brücke, 9I Launch-Credits.
## 2026-06-12 · Phase 9E · Stripe-Anbindung komplett ✅
- **Was**: Produkt-Sync nach Stripe (Tarife + Einzel-PM, Netto-Preise,