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:
parent
c8dc99c3c8
commit
23ac8bc7f1
11 changed files with 581 additions and 316 deletions
|
|
@ -42,7 +42,7 @@ Phase 9 setzt das Decision-Update vom 11./12.06.2026 um — in zwei Blöcken:
|
|||
| — | **Review-Stopp mit User** | | |
|
||||
| **9D** ✅ | Tarif-Datenmodell: Pläne, Einzelkäufe, Cashier, Rechnungskreise STR-/MAN-, MAN-Fälligkeitslauf (Stub-Ablösung folgt mit 9E) | L | hoch (Datenmodell) |
|
||||
| **9E** ✅ | Stripe-Anbindung: Produkt-Sync (Tarife + Einzel-PM), Webhook-Verarbeitung (STR-Spiegelung, Einmalkauf-Erfüllung, Endpoint registriert), Checkout-Flows (Backend), Slot-Logik auf Plan-Kontingent (Grandfathered = unbegrenzt), Stripe Tax | L | mittel |
|
||||
| **9F** | Tarif-Seite + Checkout-UI (Raster, Einzel-PM-Block, „2 Monate gratis", Enterprise-Hinweis) | M | gering |
|
||||
| **9F** ✅ | Tarif-Seite + Checkout-UI: Buchungs-Seite mit echtem 4-Tier-Raster (Monat/Jahr-Toggle, „2 Monate gratis"), Einzel-PM-Block, Bestandstarif-Anzeige, „Abo verwalten" (Stripe Billing Portal), Enterprise-Hinweis | M | gering |
|
||||
| **9G** | Tageslimit je Tier (Business 2 / Pro 3 / Agency 5; gilt auch für Extra-PMs) | S | gering |
|
||||
| **9H** | Einzel-PM-Kauf (19 €) + Einzel→Abo-Brücke (Anrechnung 30 Tage) | M | mittel |
|
||||
| **9I** | Launch-Credits: Extra-PM, Boost (nur Grün), Veröffentlichungsnachweis-PDF | L | mittel |
|
||||
|
|
@ -201,12 +201,22 @@ ist hybrid mit zwei getrennten Rechnungskreisen (plus Altbestand):
|
|||
- Offen → §7 der Billing-Doku: Stripe Tax im Dashboard aktivieren,
|
||||
Live-Mode-Sync vor Relaunch.
|
||||
|
||||
### 9F · Tarif-Seite + Checkout-UI
|
||||
### 9F · Tarif-Seite + Checkout-UI ✅ (12.06.2026)
|
||||
|
||||
- Raster mit 4 Tiers; Einzel-PM als separater No-Abo-Block (nicht als
|
||||
billigste Spalte); Enterprise als dezenter Sales-Hinweis unter der Tabelle.
|
||||
- Jahrespreis kommuniziert als „2 Monate gratis".
|
||||
- Einstieg aus dem Submit-Gate-Hinweis (9C) und aus „Buchungen & Add-ons".
|
||||
- ✅ „Buchungen & Add-ons" zeigt das echte 4-Tier-Raster aus `plans`
|
||||
(Monat/Jahr-Toggle, Jahrespreis als „2 Monate gratis") mit
|
||||
Checkout-Buttons auf `me.checkout.subscription`; Einzel-PM als
|
||||
separater No-Abo-Block (`me.checkout.single-pm`); Enterprise als
|
||||
dezenter Hinweis unter dem Raster. Der Credit-Konzept-Mock ist
|
||||
abgelöst (Credits → 9I bzw. Phase 2).
|
||||
- ✅ Aktueller Tarif real: Abo (Preis, Kontingent, Kündigungsstatus),
|
||||
Bestandstarif (unbegrenzt, nächste MAN-Rechnung) oder offene
|
||||
Einzelkäufe; Kontingent-Kachel (`Unbegrenzt` bei Bestandsschutz).
|
||||
- ✅ „Abo verwalten" → 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).
|
||||
- Einstieg aus dem Submit-Gate-Hinweis (9C) führt bereits hierher.
|
||||
|
||||
### 9G · Tageslimit
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue