So funktionieren Abonnements
Verwalten Sie wiederkehrende Zahlungen und Abonnementlebenszyklen.
Bei Abonnements tätigen Kundinnen/Kunden wiederkehrende Zahlungen, um Zugang zu einem Produkt zu erhalten. Bei Abonnements müssen Sie mehr Informationen über Ihre Kundinnen/Kunden speichern als bei einmaligen Käufen, da Sie Kundenkonten in Zukunft belasten müssen.
Stripe bietet viele Funktionen, mit denen Sie die Abrechnung von Abonnements verwalten können:
- Support für verschiedene Preismodelle
- Abonnement-Rabattverwaltung
- Testphasenverwaltung
- Anteilmäßige Verrechnung für geänderte Abonnements
- Kundinnen-/Kundenselbstverwaltung
- Invoicing zum Einzug von Zahlungen
- Automatisierte Umsatzsicherung
- Berichte und Analysen
Der Lebenszyklus eines Abonnements
Der Vorgang der Erstellung und Verwaltung von Abonnements basiert auf den zentralen Stripe-API-Ressourcen, darunter Kunden/Kundinnen, Rechnungen und PaymentIntents. Eine vollständige Liste der Ressourcen im Zusammenhang mit Abonnements finden Sie unter API-Objektdefinitionen.
So sieht der empfohlene Ablauf bei Abonnements aus:
Abonnement erstellen
Sie können ein neues Abonnement im Dashboard oder über die API erstellen. Jedes Mal, wenn Sie ein Abonnement erstellen, löst dies ein Ereignis aus. Überwachen Sie diese Ereignisse mit Webhook Endpoints und stellen Sie sicher, dass Ihre Integration sie ordnungsgemäß verarbeitet.
Optional können Sie eine Testversion erstellen, für die keine Zahlungen für das Abonnement erforderlich sind. In diesem Fall lautet der Status
Testversion
. Nach Ablauf der Testphase geht das Abonnement in den Status aktiv
über und der Abonnentin oder dem Abonnenten werden die Kosten in Rechnung gestellt.
Zahlungsverhalten
Wir empfehlen Ihnen, das payment_
eines Abonnements auf default_incomplete zu setzen, um fehlgeschlagene Zahlungen und komplexe Zahlungsabläufe wie 3DS besser handhaben zu können. Dadurch werden Abonnements mit dem Status incomplete
erstellt, wenn eine Zahlung erforderlich ist. So können Sie anschließend Zahlungsinformationen einholen und bestätigen, um das Abonnement zu aktivieren.
Wenn Sie payment_
auf allow_
setzen, versucht Stripe sofort, die Zahlung für die Rechnung einzuziehen. Wenn die Zahlung fehlschlägt, ändert sich der Status des Abonnements zu incomplete
. Wenn Sie payment_
auf error_
setzen, schlägt die Erstellung des Abonnements fehl, wenn die Zahlung fehlschlägt.
Die Abonnements, die Sie im Dashboard erstellen, werden standardmäßig entsprechend der Zahlungsmethode mit dem entsprechenden Zahlungsverhalten versehen.
Die Rechnung bearbeiten
Wenn Sie ein Abonnement erstellen, erstellt Stripe automatisch eine Rechnung mit dem Status open
. Ihre Kundin oder Ihr Kunde hat etwa 23 Stunden Zeit, um eine erfolgreiche Zahlung vorzunehmen. Während dieser Zeit ist der Abonnementstatus incomplete
und der Rechnungsstatus bleibt open
Das 23-Stunden-Fenster ist deshalb notwendig, da Ihre Kundin oder Ihr Kunde die erste Zahlung für ein Abonnement in der Regel On-Session vornimmt. Wenn die Kundin bzw. der Kunde nach 23 Stunden zu Ihrer Anwendung zurückkehrt, erstellen Sie bitte ein neues Abonnement für ihn.
Der/die Kund/in zahlt
Wenn Ihre Kundin oder Ihr Kunde die Rechnung bezahlt, wird das Abonnement auf active
und die Rechnung auf paid
aktualisiert. Erfolgt keine Zahlung, wird das Abonnement auf incomplete_
aktualisiert und die Rechnung wird void
.
Um zu bestätigen, ob die Rechnung bezahlt wurde:
- Richten Sie einen Webhook-Endpoint oder eine andere Art von Ereignisziel ein und warten Sie auf das Ereignis
invoice.
.paid - Prüfen Sie das Abonnementobjekt manuell und suchen Sie nach
subscription.
. Derstatus=active status
wirdaktiv
, wenn die Rechnung entweder durch eine automatische Zahlung abgewickelt wurde oder die Kundin/der Kunde manuell bezahlt hat.
Weitere Informationen finden Sie unter Abonnementstatus und Zahlungsstatus.
Zugang zu Ihrem Produkt bereitstellen
Wenn Sie ein Abonnement für eine Kundin bzw. einen Kunden erstellen, wird für jede mit diesem Produkt verbundene Funktion eine aktive Berechtigung. Wenn eine Kundin oder ein Kunde auf Ihre Dienste zugreift, verwenden Sie ihre bzw. seine aktiven Berechtigungen, um ihr bzw. ihm Zugriff auf die in ihrem bzw. seinem Abonnement enthaltenen Funktionen zu gewähren.
Alternativ können Sie aktive Abonnements mit Webhook-Ereignissen verfolgen und das Produkt für die Kundin oder den Kunden auf der Grundlage dieser Aktivität bereitstellen.
Abonnement aktualisieren
Sie können bestehende Abonnements nach Bedarf ändern, ohne sie kündigen und neu erstellen zu müssen. Zu den wichtigsten Änderungen, die Sie vornehmen können, gehören die Erhöhung oder Senkung des Abonnementpreises oder die Aussetzung der Zahlungsabwicklung für ein aktives Abonnement.
Sie können Abonnementereignisse mit Webhook Endpoints für Änderungen am Abonnement verfolgen. So haben Sie beispielsweise die Möglichkeit, eine Kundin oder einen Kunden per E-Mail benachrichtigen, wenn eine Zahlung fehlschlägt, oder den Zugriff einer Kundin oder eines Kunden widerrufen, wenn dieser sein Abonnement kündigt.
Bei Stripe Checkout-Integrationen können Sie das Abonnement oder die dazugehörige Rechnung nicht aktualisieren, wenn das Abonnement der Sitzung incomplete
ist. Sie können das Ereignis checkout.session.completed überwachen, um die Aktualisierung nach Abschluss der Sitzung durchzuführen. Sie können die Sitzung auch stattdessen ablaufen lassen, wenn Sie das Abonnement der Sitzung stornieren, die Abonnementrechnung für ungültig erklären oder die Rechnung als uneinbringlich kennzeichnen möchten.
Unbezahlte Abonnements bearbeiten
For subscriptions with unpaid invoices, the unpaid invoices remain open but further payment attempts are paused. The subscription continues to generate invoices each billing period, which remain in the draft
status. To reactivate the subscription:
- Erfassen Sie ggf. neue Zahlungsinformationen.
- Aktivieren Sie den automatischen Einzug, indem Sie für Rechnungsentwürfe auto advance auf
true
festlegen. - Finalisieren und bezahlen Sie die offenen Rechnungen. Wenn die letzte nicht stornierte Rechnung vor ihrem Fälligkeitsdatum bezahlt wird, wird der Abonnementstatus auf
active
aktualisiert.
Als uneinbringlich gekennzeichnete Rechnungen halten das zugrunde liegende Abonnement aktiv
. Stripe ignoriert bei der Bestimmung des Abonnementstatus stornierte Rechnungen und verwendet stattdessen die letzte nicht stornierte Rechnung.
Der status
des unbezahlten Abonnements hängt von Ihren Einstellungen für fehlgeschlagene Zahlungen im Dashboard ab.
Das Abonnement kündigen
You can cancel a subscription at any time, including at the end of a billing cycle or after a set number of billing cycles.
Standardmäßig wird durch das Kündigen eines Abonnements die Erstellung neuer Rechnungen deaktiviert und die automatische Einziehung aller ausstehenden Rechnungen aus dem Abonnement gestoppt. Außerdem wird das Abonnement gelöscht, sodass Sie das Abonnement oder dessen Metadaten nicht mehr aktualisieren können. Wenn Ihre Kundin oder Ihr Kunde das Abonnement erneut abschließen möchte, müssen Sie neue Zahlungsinformationen von ihm einholen und ein neues Abonnement erstellen.
Abonnement-Statusangaben
Subscriptions kann den folgenden Status haben. Die Aktionen, die Sie für ein Abonnement durchführen können, hängen von dessen Status ab.
Status | Beschreibung |
---|---|
trialing | Das Abonnement befindet sich derzeit in einem Testzeitraum und Sie können Ihr Produkt sicher für Ihre Kundinnen/Kunden bereitstellen. Das Abonnement wechselt automatisch in den Status active , wenn ein Kunde/eine Kundin die erste Zahlung tätigt. |
active | Das Abonnement funktioniert ordnungsgemäß. Bei Abonnements vom Typ past_ wird das Abonnement auf active gesetzt, wenn die letzte zugehörige Rechnung bezahlt wird oder es als uneinbringlich gekennzeichnet wird. Beachten Sie, dass active nicht bedeutet, dass alle ausstehenden Rechnungen, die mit dem Abonnement verknüpft sind, bezahlt wurden. Andere ausstehende Rechnungen können Sie zur Zahlung offen lassen, als uneinbringlich kennzeichnen oder stornieren. |
incomplete | Der Kunde/Die Kundin muss innerhalb von 23 Stunden eine erfolgreiche Zahlung tätigen, um das Abonnement zu aktivieren. Oder für die Zahlung ist eine Aktion erforderlich, wie z. B. die Kundenauthentifizierung. Abonnements können auch incomplete sein, wenn eine Zahlung aussteht und der PaymentIntent Status processing ist. |
incomplete_ | Die erste Zahlung für das Abonnement ist fehlgeschlagen und der Kunde/die Kundin hat innerhalb von 23 Stunden nach Erstellung des Abonnements keine erfolgreiche Zahlung getätigt. Diese Abonnements werden Kundinnen/Kunden nicht in Rechnung gestellt. Dieser Status dient dazu, Kundinnen/Kunden nachzuverfolgen, die ihre Abonnements nicht aktivieren konnten. |
past_ | Die Zahlung der latest finalized invoice ist entweder fehlgeschlagen oder wurde nicht versucht. Das Abonnement erstellt weiterhin Rechnungen. Ihr Dashboard Abonnementeinstellungen bestimmt den nächsten Status des Abonnements. Wenn die Rechnung nach allen versuchten Smart Retries immer noch unbezahlt ist, können Sie das Abonnement so konfigurieren, dass es in den Status canceled , unpaid übergeht oder als past_ belassen wird. Um das Abonnement zu reaktivieren, lassen Sie Ihre Kundinnen und Kunden die letzte Rechnung bezahlen. Der Status des Abonnements wird active , unabhängig davon, ob die Zahlung vor oder nach dem Fälligkeitsdatum der letzten Rechnung erfolgt. |
canceled | Das Abonnement wurde gekündigt. Während der Kündigung ist der automatische Einzug für alle unbezahlten Rechnungen deaktiviert (auto_ ). Dies ist ein endgültiger Status, der nicht aktualisiert werden kann. |
unpaid | Die letzte Rechnung wurde noch nicht bezahlt, aber das Abonnement wird noch fortgesetzt. Die letzte Rechnung bleibt offen und es werden weiterhin Rechnungen generiert, allerdings wird kein Zahlungsversuch unternommen. Widerrufen Sie den Zugriff auf Ihr Produkt, wenn das Abonnement unpaid ist, da im Status past_ bereits versucht und wiederholt wurde. Um das Abonnement auf active zu setzen, bezahlen Sie die letzte Rechnung vor dem Fälligkeitsdatum. |
paused | Das Abonnement hat seinen Testzeitraum ohne Standardzahlungsmethode beendet und die trial_settings.end_behavior.missing_payment_method ist auf pause festgelegt. Für das Abonnement werden keine Rechnungen mehr erstellt. Nachdem Sie dem Kunden/der Kundin eine Standardzahlungsmethode zugeordnet haben, können Sie das Abonnement wiederaufnehmen. |
Zahlungsstatus
Ein PaymentIntent verfolgt den Lebenszyklus jeder Zahlung. Immer wenn eine Zahlung für ein Abonnement fällig ist, erstellt Stripe eine Rechnung und einen PaymentIntent.Die PaymentIntent-ID wird der Rechnung beigefügt und Sie können über die Objekte „Rechnung” und „Abonnement” darauf zugreifen.
Der Status von PaymentIntent wirkt sich auf den Status der Rechnung und des Abonnements aus. Im Folgenden wird erläutert, wie die verschiedenen Ergebnisse einer Zahlung den verschiedenen Status zugeordnet werden:
Zahlungsergebnis | PaymentIntent-Status | Rechnungsstatus | Abonnementstatus |
---|---|---|---|
Erfolgreich | succeeded | paid | active |
Fehlgeschlagen aufgrund eines Kartenfehlers | requires_ | open | incomplete |
Fehlgeschlagen aufgrund von Authentifizierung | requires_ | open | incomplete |
Notiz
Asynchrone Zahlungsmethoden, wie z. B. ACH Direct Debit, handhaben den Statusübergang von Abonnements anders als Methoden zur sofortigen Zahlung. Wenn Sie asynchrone Zahlungsmethoden verwenden, geht das Abonnement direkt bei der Erstellung in den Status active
über und umgeht den Status incomplete
, der normalerweise mit anderen Zahlungsmethoden verbunden ist. Wenn eine asynchrone Zahlung später fehlschlägt, macht dies die zugehörige Rechnung nichtig; das Abonnement bleibt jedoch im Status active
. Dieses Verhalten steht im Gegensatz zu Methoden zur sofortigen Zahlung, bei denen fehlgeschlagene Zahlungen häufig zum Status incomplete
oder past_
führen. Seien Sie sich dieses Unterschieds bewusst und implementieren Sie eine geeignete Logik zur Verwaltung des Status des Abonnements, der Zugriffskontrolle und der Mechanismen für wiederholte Zahlungsversuche.
Die folgenden Abschnitte erläutern diese Status und die entsprechenden Aktionen, die dafür ausgeführt werden müssen.
Zahlung erfolgreich
Bei erfolgreicher Zahlung durch die Kundin bzw. den Kunden:
- Der
status
des PaymentIntent wechselt zusucceeded
. - Der
status
des Abonnements istactive
. - Der
status
der Rechnung istpaid
. - Stripe sendet das Ereignis
invoice.
an Ihre konfigurierten Webhook-Endpoints.paid
Bei Zahlungsmethoden mit längeren Bearbeitungszeiten werden Abonnements sofort aktiviert. In diesen Fällen kann der Status von PaymentIntent so lange für ein active
Abonnement in processing
bleiben, bis die Zahlung erfolgreich abgeschlossen ist.
Nachdem Ihr Abonnement nun aktiviert ist, gewähren Sie Zugriff auf Ihr Produkt.
Zahlungsmethode erforderlich
Wenn die Zahlung aufgrund eines Kartenfehlers wie einer abgelehnten Zahlung fehlschlägt:
- Der
Status
des PaymentIntent lautetrequires_
.payment_ method - Der
status
des Abonnements istincomplete
. - Der
status
der Rechnung istopen
.
Gehen Sie wie folgt vor, um diese Probleme zu lösen:
- Benachrichtigen Sie die Kundin/den Kunden.
- Erfassen Sie neue Zahlungsinformationen und bestätigen Sie den PaymentIntent.
- Aktualisieren Sie die Standard-Zahlungsmethode für das Abonnement.
- Stripe versucht die Zahlung erneut mithilfe von Smart Retries oder basierend auf Ihren benutzerdefinierten Wiederholungsregeln.
- Verwenden Sie das Ereignis invoice.payment_failed, um fehlgeschlagene Abonnementzahlungen zu überwachen und Aktualisierungen der Wiederholungsversuche vorzunehmen. Nach einem Zahlungsversuch für eine Rechnung wird der Wert next_payment_attempt anhand der aktuellen Abonnementeinstellungen in Ihrem Dashboard festgelegt.
Erfahren Sie, wie Sie mit fehlgeschlagenen Zahlungen für Abonnements umgehen.
Aktion erforderlich
Einige Zahlungsmethoden erfordern eine Kundenauthentifizierung mit 3D Secure (3DS), um den Zahlungsvorgang abzuschließen. 3DS schließt das Authentifizierungsverfahren ab. Ob eine Zahlungsmethode eine Authentifizierung erfordert, hängt von Ihren Radar-Regeln und der ausstellenden Bank für die Karte ab.
Wenn die Zahlung fehlschlägt, weil die Kundin oder der Kunde eine Zahlung authentifizieren muss:
- Der
status
des PaymentIntent lautetrequires_
.action - Der
status
des Abonnements istincomplete
. - Der
status
der Rechnung istopen
.
Gehen Sie wie folgt vor, um diese Probleme zu lösen:
- Überwachen Sie die Ereignisbenachrichtigung
invoice.
mit Webhook-Endpoints. Dies gibt an, dass eine Authentifizierung erforderlich ist.payment_ action_ required - Benachrichtigen Sie Ihre Kundin/den Kunden, dass er/sie eine Authentifizierung durchführen muss.
- Rufen Sie das Client-Geheimnis für den PaymentIntent ab und übergeben Sie es in einem Aufruf an stripe.ConfirmCardPayment. Dadurch wird Ihren Kundinnen und Kunden ein Modal zur Authentifizierung angezeigt, die Zahlung wird versucht, dann wird das Modal geschlossen und der Kontext an Ihre Anwendung zurückgegeben.
- Überwachen Sie das Ereignis
invoice.
auf Ihrem Ereignisziel, um zu erfahren, ob die Zahlung erfolgreich war. Es kann vorkommen, dass Nutzer/innen Ihre Anwendung verlassen, bevorpaid confirmCardPayment()
abgeschlossen wurde. Durch die Überprüfung des Zahlungserfolgs können Sie eine korrekte Bereitstellung des Produkts sicherstellen.