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.
  • StripeBillingService ist no-op.
  • Status-Logik wird nicht aktiv.
  • Tenant ist permanent active ohne 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