101 — Trial & Subscription-Status
Aktualisiert am 1. Juni 2026
101 — Trial & Subscription-Status
PartnerDesk wird über Stripe Billing abgerechnet (sofern Sie die gehostete Variante nutzen). Dieses Kapitel beschreibt den Trial-Mechanismus und alle Subscription-Status-Übergänge.
14-Tage-Trial
Jeder neue Tenant startet mit 14 Tagen Trial — ohne Kreditkarten-Eingabe. Sie haben Zeit, alles in Ruhe zu testen.
Trial-Verlauf
| Tag | Was passiert |
|---|---|
| Tag 1 | Tenant wird angelegt, Status trialing. Welcome-Mail. |
| Tag 1–14 | Volle Funktionsfähigkeit. Sie konfigurieren Branding, Partner, Provider. |
| Tag 11 | Reminder-Mail: „Trial endet in 3 Tagen — bitte Zahlungsmethode hinterlegen". |
| Tag 14 | Trial-Ende: Wenn Zahlungsmethode hinterlegt → Wechsel auf active. Sonst → incomplete. |
Subscription-Status
| Status | Bedeutung | Sales-Verarbeitung |
|---|---|---|
trialing |
Trial läuft | ✅ |
active |
Aktive Subscription | ✅ |
past_due |
Letzte Abbuchung fehlgeschlagen — Stripe versucht erneut | ✅ (Karenzfrist ~7 Tage) |
unpaid |
Endgültig nicht bezahlt nach Smart-Retry | ❌ — neue Webhooks werden abgelehnt |
canceled |
Sie haben gekündigt — Zugang bleibt bis Periodenende | ✅ bis Periodenende |
incomplete |
Setup nicht abgeschlossen (z. B. 3-DS-Confirmation fehlt) | ❌ |
Status-Übergänge
trialing → active
Bei Trial-Ende mit hinterlegter Zahlungsmethode. Auto-Charge fließt, Status wechselt. Keine Mail (positiv, kein User-Stress).
trialing → incomplete
Trial endet ohne Karte. Funktional gesperrt, aber Login bleibt möglich (zum Nachreichen der Karte).
active → past_due
Karte abgelaufen oder Bank lehnt ab. Stripe versucht 7 Tage Smart-Retry. Mail an Owner: „Bitte Zahlungsmethode aktualisieren".
past_due → active
Karte wurde erneuert + Smart-Retry erfolgreich. Recovery-Mail: „Vielen Dank, die Zahlung war erfolgreich".
past_due → unpaid
Smart-Retry erschöpft. Mail: „Subscription pausiert".
active → canceled
Sie kündigen im Customer-Portal. Bestätigungs-Mail: „Subscription gekündigt — Zugang bleibt bis Periodenende, Daten 30 Tage".
Manuelle Sync
Falls Sie vermuten, dass der Status veraltet ist:
Admin → „Abrechnung" → „Status aktualisieren" → triggert StripeBillingService.syncSubscription(). Holt sofort aktuellen Stand aus Stripe.
Eigenbetrieb (ohne Stripe-Billing)
Wenn Sie PartnerDesk selbst hosten (on-premise), brauchen Sie kein Stripe-Billing:
STRIPE_*-Env-Variablen leer lassen.StripeBillingServiceist no-op.- Status-Logik wird nicht aktiv.
- Tenant ist permanent
activeohne Abrechnung.
Was beim Status-Change passiert
| Übergang | Aktion |
|---|---|
| Status-Change | Webhook-Event von Stripe trifft ein |
| PartnerDesk syncert lokale Felder | |
SubscriptionStatusChangedEvent wird ausgelöst |
|
TenantLifecycleSubscriber entscheidet, ob Mail nötig |
|
| Audit-Log-Eintrag |
Limits-Erzwingung
Aktuell sind die Plan-Limits (TX/Monat, Partner-Anzahl) informativ — das System verarbeitet auch bei Überschreitung weiter. Plattform-Admin sieht die Überschreitung und kontaktiert Sie für ein passendes Plan-Upgrade.
Geplant für eine spätere Version: Hard-Limits mit Warnung + Verweigerung neuer TX bei Überschreitung.
Verwandte Kapitel
Technische Tiefen-Doku: ../091-stripe-billing.md, ../099-tenant-lifecycle-events.md, ../104-daily-scheduler.md