# Webhooks in Verbindung mit Abonnements verwenden Erfahren Sie, wie Sie Webhooks verwenden, um Benachrichtigungen über Abonnementaktivitäten zu erhalten. Sie erhalten Benachrichtigungen von Stripe in Ihrer App über Webhook-Ereignisse. Nutzen Sie Webhook-Ereignisse zur Verwaltung von *Abonnements* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis), da die meisten Vorgänge asynchron ablaufen. Verarbeiten Sie diese Ereignisse an einem Webhook-Endpoint oder anderen Zielen wie Amazon EventBridge oder Azure Event Grid, indem Sie ein [Ereignisziel](https://docs.stripe.com/event-destinations.md) erstellen. So verwenden Sie Webhooks in Verbindung mit Ihren Abonnements: 1. Erstellen Sie einen Webhook-Endpoint in Ihrer App. 1. Registrieren Sie Ihren [Webhook-Endpoint](https://docs.stripe.com/webhooks.md) in Workbench. 1. Fügen Sie eine Logik für die Verarbeitung von Stripe-Ereignissen hinzu. Bei Abos zählen dazu fehlgeschlagene Zahlungen und Statusänderungen des Abos (etwa der Wechsel von der `Testversion` zur `aktiven Version`). Sie können den [Webhook-QuickStart](https://docs.stripe.com/webhooks/quickstart.md) verwenden, um einen minimalen Webhook-Endpoint zu erstellen. Achten Sie darauf, [dass eingehende Ereignisse von Stripe](https://docs.stripe.com/webhooks.md#verify-events) stammen. 1. Testen Sie Ihren Webhook-Endpoint, um zu bestätigen, dass er wie erwartet funktioniert. Wenn Ihre Anwendung auf AWS läuft, können Sie [Stripe so konfigurieren, dass Ereignisse direkt an AWS EventBridge in Ihrem AWS-Konto gesendet werden](https://docs.stripe.com/event-destinations/eventbridge.md). Wenn Ihre Anwendung auf Azure läuft, können Sie [Stripe so konfigurieren, dass Ereignisse direkt an Azure Event Grid in Ihrem Azure-Abonnement gesendet werden](https://docs.stripe.com/event-destinations/eventgrid.md). ## Abonnement-Ereignisse Stripe löst [Ereignisse](https://docs.stripe.com/api.md#event_types) aus, jedes Mal, wenn ein Abo erstellt oder geändert wird. Einige Ereignisse werden sofort bei der Erstellung eines Abos gesendet, andere treten regelmäßig während der Rechnungsstellungszeiträume auf. Stellen Sie sicher, dass Ihre Integration die Ereignisse ordnungsgemäß handhabt. Sie können beispielsweise einem/einer Kund/in eine E-Mail senden, wenn eine Zahlung fehlschlägt oder den Zugriff eines Kunden/einer Kundin zurückziehen, wenn ein Abonnement storniert wird. In der folgenden Tabelle werden die häufigsten Ereignisse im Zusammenhang mit Abonnements beschrieben und ggf. Maßnahmen zum Umgang mit den Ereignissen vorgeschlagen. > Die Accounts v2 API ist in GA für Connect-Nutzer/innen (also für diese allgemein verfügbar) und in der öffentlichen Vorschau für andere Stripe-Nutzer/innen. > > Unabhängig davon, ob Sie [Accounts v2](https://docs.stripe.com/connect/use-accounts-as-customers.md)-Objekte oder [Kunden](https://docs.stripe.com/api/customers.md)-Objekte verwenden, um Ihre Kundinnen und Kunden darzustellen, verwenden Sie die `customer.subscription`-Ereignisse zum Verfolgen von Abonnement-Ereignissen. | Ereignis | Beschreibung | | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `v2.core.account.created` | Wird gesendet, wenn ein [v2 Account](https://docs.stripe.com/api/v2/core/accounts/object.md) erfolgreich erstellt wird. | | `customer.created` | Wird gesendet, wenn [eine Kundin/ein Kunde](https://docs.stripe.com/api/customers/object.md) erfolgreich erstellt wird. | | `customer.subscription.created` | Dieser Status wird vergeben, wenn das Abonnement erstellt wurde. Der kann `status` eines Abonnements kann `incomplete` sein, wenn eine Authentifizierung der Kundin oder des Kunden zum Abschluss der Zahlung erforderlich ist oder wenn Sie `payment_behavior` auf [default_incomplete](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_behavior) gesetzt haben. | | `customer.subscription.deleted` | Wird gesendet, wenn das Abonnement eines/einer Kund/in endet. | | `customer.subscription.paused` | Wird gesendet, wenn sich der `status` eines Abonnement in `paused` ändert. Dies wird beispielsweise gesendet, wenn Sie ein Abonnement so [konfigurieren](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-trial_settings-end_behavior-missing_payment_method), dass es unterbrochen wird, wenn ein [kostenloser Testzeitraum ohne Zahlungsmethode](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#create-free-trials-without-payment) endet. Die Rechnungsstellung erfolgt erst, wenn das Abonnement [wiederaufgenommen wird(/api/subscriptions/resume). Wir senden dieses Ereignis nicht, wenn Sie den [Zahlungseinzug unterbrechen](https://docs.stripe.com/billing/subscriptions/pause-payment.md), da während dieses Zeitraums weiterhin Rechnungen erstellt werden. | | `customer.subscription.resumed` | Wird gesendet, wenn Sie ein Abonnement wiederaufnehmen, das sich zuvor im Status `paused` befand. Dies gilt nicht, wenn Sie [die Unterbrechung des Zahlungseinzugs aufheben](https://docs.stripe.com/billing/subscriptions/pause-payment.md#unpausing). | | `customer.subscription.trial_will_end` | Wird drei Tage vor [Ablauf des Testzeitraums](https://docs.stripe.com/billing/subscriptions/trials.md) gesendet. Wenn der Testzeitraum kürzer als drei Tage ist, wird dieses Ereignis ausgelöst. | | `customer.subscription.updated` | Wird gesendet, wenn ein Abonnement gestartet oder [geändert wird](https://docs.stripe.com/billing/subscriptions/change.md). So lösen beispielsweise das Erneuern des Abonnements, das Hinzufügen eines Gutscheins, das Anwenden eines Rabatts, das Hinzufügen eines Rechnungspostens und das Ändern von Abonnementplänen alle dieses Ereignis aus. | | `entitlements.active_entitlement_summary.updated` | Wird gesendet, wenn die aktiven Berechtigungen einer Kundin/eines Kunden aktualisiert werden. Wenn Sie dieses Ereignis erhalten, können Sie den Zugriff auf die Funktionen Ihres Produkts gewähren oder deaktivieren. Mehr erfahren über [die Integration mit Berechtigungen](https://docs.stripe.com/billing/entitlements.md). | | `invoice.created` | Wird gesendet, wenn eine Rechnung für ein neues oder verlängertes Abonnement erstellt wird. Wenn Stripe keine erfolgreiche Antwort auf `invoice.created` erhält, verzögert sich die Finalisierung aller Rechnungen mit dem [automatischen Einzug](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) um bis zu 72 Stunden. Erfahren Sie mehr über das [Finalisieren von Rechnungen](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Antworten Sie auf die Benachrichtigung, indem Sie eine Anfrage an die API zur [Finalisierung einer Rechnung](https://docs.stripe.com/api/invoices/finalize.md) senden. | | `invoice.finalized` | Wird gesendet, wenn eine Rechnung erfolgreich finalisiert wurde und bereit für die Bezahlung ist. - Sie können die Rechnung an den Kunden/die Kundin senden. Sehen Sie sich die [Finalisierung der Rechnung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized) an, um mehr zu erfahren. - Je nach Ihren Einstellungen belasten wir automatisch die Standard-Zahlungsmethode oder versuchen den Einzug. Zeigen Sie [E-Mails nach der Finalisierung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#emails) an, um mehr zu erfahren. | | `invoice.finalization_failed` | Die Rechnung konnte nicht abgeschlossen werden. Erfahren Sie mehr über [den Umgang mit fehlgeschlagenen Rechnungsabschlüssen](https://docs.stripe.com/tax/customer-locations.md#finalizing-invoices-with-finalization-failures) und [Rechnungsabschlüsse](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Prüfen Sie die Angabe [last_finalization_error](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) der Rechnung, um die Fehlerursache zu ermitteln. - Wenn Sie Stripe Tax verwenden, prüfen Sie das Feld [automatic_tax](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) des Objekts `Invoice`. - Bei `automatic_tax[status]=requires_location_inputs` schlägt der Rechnungsabschluss fehl und Zahlungen können nicht eingezogen werden. Benachrichtigen Sie Ihren Kunden/Ihre Kundin und erfassen Sie den erforderlichen [Kundenstandort](https://docs.stripe.com/tax/customer-locations.md). - Wenn `automatic_tax[status]=failed` wiederholen Sie die Anfrage später noch einmal. | | `invoice.paid` | Wird gesendet, wenn die Rechnung erfolgreich bezahlt wird. Sie können den Zugriff auf Ihr Produkt gewähren, wenn Sie dieses Ereignis erhalten und der `status` des Abonnements `active` ist. | | `invoice.payment_action_required` | Wird gesendet, wenn die Rechnung eine Kundenauthentifizierung erfordert. Erfahren Sie, wie Sie mit dem Abonnement umgehen, wenn die Rechnung [Maßnahmen erfordert](https://docs.stripe.com/billing/subscriptions/overview.md#requires-action). | | `invoice.payment_failed` | Eine Zahlung für eine Rechnung ist fehlgeschlagen. Der PaymentIntent-Status ändert sich in `requires_action`. Der Status des Abonnements ist weiterhin *nur* für die erste Rechnung des Abonnements `incomplete`. Wenn eine Zahlung fehlschlägt, gibt es zahlreiche Aktionen, die Sie durchführen können: - Benachrichtigen Sie die Kundin/den Kunden. - Konfigurieren Sie Ihre [Abonnementeinstellungen](https://dashboard.stripe.com/settings/billing/automatic) im Dashboard, um [Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md) und andere Funktionen zur Umsatzsicherung zu aktivieren. - Wenn Sie PaymentIntents verwenden, erfassen Sie neue Zahlungsinformationen und [bestätigen Sie den PaymentIntent](https://docs.stripe.com/api/payment_intents/confirm.md). - Aktualisieren Sie die [Standard-Zahlungsmethode](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) für das Abonnement. | | `invoice.upcoming` | Wird ein paar Tage vor der Verlängerung des Abonnements gesendet. Die Anzahl der Tage basiert auf der im [Dashboard](https://dashboard.stripe.com/settings/billing/automatic) festgelegten Anzahl für **Bevorstehende Verlängerungsereignisse**. Bei bestehenden Abonnements wird die Änderung der Anzahl der Tage im nächsten Abrechnungszeitraum wirksam. Sie können bei Bedarf noch [zusätzliche Rechnungsposten hinzufügen](https://docs.stripe.com/billing/invoices/subscription.md#adding-upcoming-invoice-items). | | `invoice.updated` | Wird gesendet, wenn eine Zahlung erfolgreich ist oder fehlschlägt. Wenn die Zahlung erfolgreich ist, wird das Attribut `paid` auf `true` festgelegt und der `status` ist `paid`. Wenn die Zahlung fehlschlägt, wird das Attribut `paid` auf `false` festgelegt und der `status` bleibt `open`. Fehlgeschlagene Zahlungen lösen außerdem das Ereignis `invoice.payment_failed` aus. | | `payment_intent.created` | Wird gesendet, wenn ein [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) erstellt wird. | | `payment_intent.succeeded` | Wird gesendet, wenn die Zahlung für einen PaymentIntent erfolgreich abgeschlossen wurde. | | `subscription_schedule.aborted` | Wird gesendet, wenn ein Abonnementplan storniert wurde, weil das zugehörige Abonnement aufgrund von Zahlungsverzug gekündigt wurde. | | `subscription_schedule.canceled` | Wird gesendet, wenn ein Abonnementplan gekündigt wird, wodurch auch alle aktiven zugehörigen Abonnements gekündigt werden. | | `subscription_schedule.completed` | Wird gesendet, wenn alle [Phasen](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#subscription-schedule-phases) eines Abonnementplans abgeschlossen sind. | | `subscription_schedule.created` | Wird gesendet, wenn ein neuer Abonnementplan erstellt wird. | | `subscription_schedule.expiring` | Wird 7 Tage vor Ablauf eines Abonnementplans gesendet. | | `subscription_schedule.released` | Wird gesendet, wenn ein Abonnementplan [freigegeben](https://docs.stripe.com/api/subscription_schedules/release.md) wird oder beendet und von dem verbleibenden Abonnement getrennt wird. | | `subscription_schedule.updated` | Wird gesendet, wenn ein Abonnementplan aktualisiert wird. | ## Umgang mit fehlgeschlagenen Zahlungen Ereignisse bieten eine zuverlässige Möglichkeit für Stripe, Sie über fehlgeschlagene Zahlungen bei Abonnementrechnungen zu benachrichtigen. Einige fehlgeschlagene Zahlungen sind nur temporär, z. B. kann ein/e Kartenaussteller/in die erste Zahlung ablehnen, aber eine automatische Wiederholung zulassen. Andere fehlgeschlagene Zahlungen sind endgültig und machen Maßnahmen erforderlich, z. B. das Fehlen einer nutzbaren Zahlungsmethode für den Kunden/die Kundin. | Ereignis | Beschreibung | | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `invoice.payment_failed` | Eine Zahlung für eine Rechnung ist fehlgeschlagen. Der Status des PaymentIntent ändert sich in `requires_payment_method`. Der Status des Abonnements ändert sich in `incomplete`. Wenn eine Zahlung fehlschlägt, gibt es zahlreiche Maßnahmen, die ergriffen werden können: - Benachrichtigen Sie die Kundin/den Kunden. - Wenn Sie PaymentIntents verwenden, erfassen Sie neue Zahlungsinformationen und [bestätigen Sie den PaymentIntent](https://docs.stripe.com/api/payment_intents/confirm.md). - Aktualisieren Sie die [Standard-Zahlungsmethode](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) für das Abonnement. - Aktivieren Sie ggf. [Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md). | ## Umgang mit Zahlungen, für die zusätzliche Maßnahmen erforderlich sind Bei einigen Zahlungsmethoden sind möglicherweise zusätzliche Schritte erforderlich, z. B. die Authentifizierung des Kunden/der Kundin. Wenn Sie diese Ereignisse erhalten, muss Ihre App den Kunden/die Kundin benachrichtigen, damit er/sie die erforderliche Aktion abschließt. Um zu erfahren, wie Sie mit [Ereignissen, die zusätzliche Maßnahmen erfordern](https://docs.stripe.com/billing/subscriptions/overview.md#requires-action) umgehen, lesen Sie den Leitfaden mit einer Übersicht über Abonnements. | Ereignis | Beschreibung | | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `invoice.finalization_failed` | Die Rechnung konnte nicht finalisiert werden. Erfahren Sie in diesem Leitfaden, wie Sie [mit Fehlern bei der Rechnungsfinalisierung umgehen](https://docs.stripe.com/tax/customer-locations.md#finalizing-invoices-with-finalization-failures). Erfahren Sie im Leitfaden mit der Übersicht zu Rechnungen mehr über die [Rechnungsfinalisierung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Überprüfen Sie den [last_finalization_error](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) der Rechnung, um die Ursache des Fehlers zu ermitteln. - Wenn Sie Stripe Tax verwenden, überprüfen Sie das Feld [automatic_tax](https://docs.stripe.com/api/invoices/object.md#invoice_object-automatic_tax) des Rechnungsobjekts. - Wenn `automatic_tax[status]=requires_location_inputs` kann die Rechnung nicht finalisiert werden und Zahlungen können nicht eingezogen werden. Benachrichtigen Sie Ihre Kundin/Ihren Kunden und erfassen Sie den erforderlichen [Kundenstandort](https://docs.stripe.com/tax/customer-locations.md). - Wenn `automatic_tax[status]=failed`, wiederholen Sie die Anfrage später. | | `invoice.payment_failed` | Eine Zahlung für eine Rechnung ist fehlgeschlagen. Der Status des PaymentIntent ändert sich in `requires_action`. Der Status des Abonnements ändert sich in `incomplete`. Wenn eine Zahlung fehlschlägt, gibt es zahlreiche Maßnahmen, die ergriffen werden können: - Benachrichtigen Sie die Kundin/den Kunden. - Wenn Sie PaymentIntents verwenden, erfassen Sie neue Zahlungsinformationen und [bestätigen Sie den PaymentIntent](https://docs.stripe.com/api/payment_intents/confirm.md). - Aktualisieren Sie die [Standard-Zahlungsmethode](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) für das Abonnement. - Aktivieren Sie ggf. [Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md). | | `invoice.payment_action_required` | Wird gesendet, wenn die Rechnung eine Kundenauthentifizierung erfordert. Erfahren Sie, wie Sie mit dem Abonnement umgehen, wenn die Rechnung [Maßnahmen erfordert](https://docs.stripe.com/billing/subscriptions/overview.md#requires-action). | ## Aktive Abonnements verfolgen Abonnements erfordern eine Abstimmung zwischen Ihrer Website und Stripe – der Erfolg oder Misserfolg der wiederkehrenden Zahlungen eines Kunden bzw. einer Kundin entscheidet darüber, ob diese/r weiterhin auf Ihr Produkt oder Ihre Dienstleistung zugreifen kann. Bei typischen Integrationen speichern Sie die Anmeldedaten der Kundinnen/Kunden und einen zugeordneten Zeitstempelwert, der das Ablaufdatum des Zugangs für diese Kundin/diesen Kunden auf Ihrer Website darstellt, wenn eine Kundin/ein Kunde ein Abonnement abschließt. Wenn sich ein Kundin/ein Kunde anmeldet, prüfen Sie, ob der Zeitstempel immer noch in der Zukunft liegt. Liegt der Zeitstempel in der Zukunft, wenn sich die Kundin/der Kunde anmeldet, ist das Konto weiterhin aktiv, und die Kundin/der Kunde sollte weiterhin Zugang zu der Dienstleistung haben. Wenn das Abonnement [verlängert](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-lifecycle) wird, stellt Stripe dem Kunden/der Kundin eine Rechnung aus und versucht, die Zahlung einzuziehen, und zwar entweder durch [automatische Belastung](https://docs.stripe.com/invoicing/automatic-charging.md) der hinterlegten Zahlungsmethod oder indem die [Rechnung per E-Mail](https://docs.stripe.com/invoicing/integration.md#accept-invoice-payment) an den Kunden/die Kundin gesendet wird. Stripe informiert Ihre Website über den Status der Rechnung, indem ein Webhook-Ereignis gesendet wird: 1. Ihre Website empfängt das Ereignis `invoice.paid`. - Wenn Sie eine Zahlungsmethode automatisch belasten, erhält Ihre Website einige Tage vor der Verlängerung zunächst das Ereignis `invoice.upcoming` am konfigurierten [Webhook-Endpoint](https://docs.stripe.com/webhooks.md). Sie können dieses Ereignis überwachen, um der zukünftigen Rechnung [zusätzliche Rechnungsposten hinzuzufügen](https://docs.stripe.com/billing/invoices/subscription.md#adding-upcoming-invoice-items). Wenn `collection_method=send_invoice`, sendet Stripe kein Ereignis `invoice.upcoming`. 1. Ihre Anwendung findet den Kunden/die Kundin, für den/die die Zahlung getätigt wurde. 1. Ihre Anwendung aktualisiert das Ablaufdatum für den Zugriff des Kunden/der Kundin in Ihrer Datenbank auf das entsprechende Datum in der Zukunft (zuzüglich ein bis zwei Tagen Spielraum). ## Statusänderungen von Abonnements erfassen Stellen Sie sicher, dass Ihre Integration die Übergänge zwischen den in der folgenden Tabelle beschriebenen Abonnementstatus ordnungsgemäß überwacht und handhabt. Einige Statusänderungen erfordern besondere Aufmerksamkeit: - Einige Tage vor Ablauf eines Testzeitraums, wenn das Abonnement von `trialing` zu `active` wechselt, erhalten Sie das Ereignis `customer.subscription.trial_will_end`. Wenn Sie dieses Ereignis erhalten, überprüfen Sie, ob Sie eine Zahlungsmethode für die Kundin/den Kundin haben, damit Sie ihr/sein Konto belasten können. Informieren Sie die Kundin/den Kunden optional über die Belastung. - Wenn der Status eines Abonnements zu `past_due` wechselt, benachrichtigen Sie die Kundinnen/Kunden direkt und bitten Sie sie, ihre Zahlungsdaten zu aktualisieren. Stripe bietet mehrere Funktionen zur Automatisierung dieses Vorgangs. Erfahren Sie mehr über die [Umsatzsicherung](https://docs.stripe.com/billing/revenue-recovery.md). - Wenn der Status eines Abonnements zu `canceled` oder `unpaid` wechselt, widerrufen Sie den Zugriff auf Ihr Produkt. | 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 Abo ist in gutem Zustand. Bei `past_due`-Abos führt die Zahlung der zuletzt zugehörigen Rechnung oder deren Kennzeichnung als uneinbringlich dazu, dass das Abo auf `active` wechselt. Beachten Sie, dass `active` nicht bedeutet, dass alle ausstehenden Rechnungen des Abos beglichen sind. Sie können andere ausstehende Rechnungen offen lassen, sie als uneinbringlich kennzeichnen oder sie nach eigenem Ermessen 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](https://docs.stripe.com/billing/subscriptions/webhooks.md#requires-action), wie z. B. die Kundenauthentifizierung. Abonnements können auch `incomplete` sein, wenn eine Zahlung aussteht und der PaymentIntent Status `processing` ist. | | `incomplete_expired` | 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_due` | Die Zahlung der latest *finalized* invoice ist entweder fehlgeschlagen oder wurde nicht versucht. Das Abonnement erstellt weiterhin Rechnungen. Ihr Dashboard [Abonnementeinstellungen](https://dashboard.stripe.com/settings/billing/automatic) bestimmt den nächsten Status des Abonnements. Wenn die Rechnung nach allen versuchten [Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md) immer noch unbezahlt ist, können Sie das Abonnement so konfigurieren, dass es in den Status `canceled`, `unpaid` übergeht oder als `past_due` 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_advance=false`). 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_due` 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 hinterlegte Zahlungsmethode beendet und die [trial_settings.end_behavior.missing_payment_method](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#create-free-trials-without-payment) wird auf `pause` gesetzt. Für das Abonnement werden keine Rechnungen mehr erstellt. Nachdem Sie dem Kunden/der Kundin eine Standardzahlungsmethode hinzugefügt haben, können Sie [das Abonnement fortsetzen](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#resume-a-paused-subscription). | ## Webhook-Endpoints und Rechnungen Registrieren Sie einen Webhook-Endpoint, um den Rechnungsstatus zu verfolgen. Ihre Abonnementintegration hängt von der korrekten Finalisierung von Rechnungen und dem korrekten Umgang mit Fehlern bei der Rechnungsfinalisierung ab. Wenn Sie den [automatischen Einzug](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) aktivieren, führt Stripe die Finalisierung automatisch durch und beginnt mit dem automatischen Einzug der [Rechnung](https://docs.stripe.com/billing/invoices/subscription.md). - Wenn Stripe keine erfolgreiche Antwort auf `invoice.created` erhält, verzögern wir die Finalisierung aller Rechnungen mit [automatischem Einzug](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) um bis zu 72 Stunden. Ausgenommen sind diejenigen, bei denen Sie einen [nutzerdefinierten geplanten Abschlusszeitpunkt festgelegt](https://docs.stripe.com/invoicing/scheduled-finalization.md) haben. - Die ordnungsgemäße Antwort auf `invoice.created` umfasst die Verarbeitung aller für Ihr Konto konfigurierten Webhook-Endpoints sowie der Webhook-Endpoints aller Plattformen, mit denen Sie verbunden sind. Dies gilt nicht für Webhook-Endpoints, die in einer [Organisation](https://docs.stripe.com/get-started/account/orgs.md) konfiguriert sind. Sie können zwar `invoice.created` bei der Organisation überwachen, aber eine erfolgreiche Antwort hat keinen Einfluss auf die Rechnungsfinalisierung, wenn Sie den automatischen Einzug verwenden. - Die Aktualisierung eines Abonnements mit synchronen Zahlungsversuchen (bei der ersten Rechnung und bei einigen Arten von Aktualisierungen) führt nicht zu dieser Verzögerung. - Ein Fehler bei der Finalisierung der Rechnung verhindert den Zahlungseinzug für die Rechnung. Überwachen Sie unbedingt das Ereignis `invoice.finalization_failed` in Ihrem Webhook-Endpoint. ### Webhook-Ereignisse im Zusammenhang mit der Rechnungsfinalisierung Hier finden Sie eine vollständige Liste der [Rechnungsereignistypen](https://docs.stripe.com/api/events/types.md#event_types-invoice.created). | Ereignis | Beschreibung | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `invoice.created` | Die Rechnung wurde erfolgreich erstellt und kann nun finalisiert werden. Lesen Sie die Dokumentation, um mehr über die [Finalisierung von Rechnungen](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized) zu erfahren. - Antworten Sie auf die Benachrichtigung, indem Sie eine Anfrage an die API zur [Finalisierung einer Rechnung](https://docs.stripe.com/api/invoices/finalize.md) senden. | | `invoice.finalized` | Die Rechnung wurde erfolgreich finalisiert und kann jetzt bezahlt werden. - Sie können die Rechnung an den Kunden/die Kundin senden. Erfahren Sie mehr über die [Rechnungsfinalisierung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Je nach Ihren Einstellungen belastet Stripe automatisch die Standardzahlungsmethode oder versucht, die Zahlung einzuziehen. Erfahren Sie mehr über [E-Mails nach der Finalisierung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#emails). | | `invoice.finalization_failed` | Die Rechnung konnte nicht finalisiert werden. Erfahren Sie in diesem Leitfaden, wie Sie [mit Fehlern bei der Rechnungsfinalisierung umgehen](https://docs.stripe.com/tax/customer-locations.md#finalizing-invoices-with-finalization-failures). Erfahren Sie im Leitfaden mit der Übersicht zu Rechnungen mehr über die [Rechnungsfinalisierung](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Überprüfen Sie den [last_finalization_error](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) der Rechnung, um die Ursache des Fehlers zu ermitteln. - Wenn Sie Stripe Tax verwenden, überprüfen Sie das Feld [automatic_tax](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) des Invoice-Objekts. - Wenn `automatic_tax[status]=requires_location_inputs` kann die Rechnung nicht finalisiert werden und Zahlungen können nicht eingezogen werden. Benachrichtigen Sie Ihre Kundin/Ihren Kunden und erfassen Sie den erforderlichen [Kundenstandort](https://docs.stripe.com/tax/customer-locations.md). - Wenn `automatic_tax[status]=failed` wiederholen Sie die Anfrage später noch einmal. | ### Erfolgreiche Rechnungsfinalisierung Stripe wartet eine Stunde nach Erhalt einer erfolgreichen Antwort auf das Ereignis `invoice.created`, bevor ein Zahlungsversuch gestartet wird. Wenn innerhalb von 72 Stunden keine erfolgreiche Antwort eingeht, versucht Stripe, die Rechnung zu finalisieren und zu senden. Falls Sie einmalige Rechnungen anders behandeln möchten als Abonnementrechnungen, prüfen Sie die Eigenschaft `subscription` im Webhook-Text. Hier wird angezeigt, ob die Rechnung für ein Abonnement erstellt wurde. Wenn Ihr Webhook-Endpoint im Live-Modus nicht ordnungsgemäß reagiert, wiederholt Stripe die Webhook-Benachrichtigung bis zu 3 Tage lang mit einer exponentiellen Verzögerung. In einer Sandbox versuchen wir es dreimal innerhalb weniger Stunden. Während dieser Zeit versuchen wir nicht, das Kundenkonto zu belasten, solange wir keine erfolgreiche Antwort erhalten. Wir senden Ihnen außerdem eine E-Mail, um Sie über den fehlerhaften Webhook zu benachrichtigen. Dieses Verhalten gilt für alle auf Ihrem Konto angegebenen Webhook-Endpoints, einschließlich für Fälle, in denen eine [Connect-Anwendung](https://stripe.com/works-with) oder ein anderer Drittanbieter Schwierigkeiten beim Empfang eingehender Webhooks hat. ### Fehler bei der Rechnungsfinalisierung Wenn Stripe eine Rechnung nicht finalisieren kann, wird das [Ereignis](https://docs.stripe.com/api/events/types.md#event_types-invoice.finalization_failed) `invoice.finalization_failed` an Ihren Webhook-Endpoint gesendet. Abonnements bleiben aktiv, wenn Rechnungen nicht finalisiert werden können. Das bedeutet, dass Nutzer/innen weiterhin auf Ihr Produkt zugreifen können, während Sie nicht in der Lage sind, Zahlungen einzuziehen. Ergreifen Sie bei Rechnungen, die nicht finalisiert werden können, unbedingt entsprechende Maßnahmen. Für Rechnungen, die nicht finalisiert sind, können Sie keine Zahlungen einziehen. Um festzustellen, warum die Rechnungsfinalisierung fehlgeschlagen ist, sehen Sie sich das [Feld](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) `last_finalization_error` des Rechnungsobjekts an, das weitere Informationen über den Fehler und die weitere Vorgehensweise enthält. Wenn Sie Stripe Tax verwenden, prüfen Sie, ob das Feld [automatic_tax.status](https://docs.stripe.com/api/invoices/object.md#invoice_object-automatic_tax-status) `requires_location_inputs` ist, was darauf hinweist, dass die Adressdaten ungültig oder unzureichend sind. Wenn Stripe Tax keinen anerkannten Kundenstandort finden kann, können wir die Rechnung nicht finalisieren. Erfahren Sie, wie Sie [mit Fehlern bei der Rechnungsfinalisierung umgehen](https://docs.stripe.com/tax/customer-locations.md#finalizing-invoices-with-finalization-failures). ## Tests Um Ihren Webhook-Endpoint oder Ihr [Ereignisziel](https://docs.stripe.com/event-destinations.md) zu testen, wählen Sie eine dieser beiden Optionen aus: 1. Führen Sie Aktionen in einer Sandbox durch, die zulässige Ereignisse an Ihr Ereignisziel senden. Um beispielsweise das Ereignis [charge.succeeded](https://docs.stripe.com/api.md#event_types-charge.succeeded) auszulösen, können Sie eine [Testkarte, die eine erfolgreiche Zahlung erzeugt](https://docs.stripe.com/billing/subscriptions/webhooks.md#cards) verwenden. 1. [Ereignisse mit der Stripe-CLI](https://docs.stripe.com/webhooks.md#test-webhook) oder [mit Stripe für Visual Studio Code](https://docs.stripe.com/stripe-vscode.md#webhooks) auslösen. ## See also - [Lebenszyklus eines Abonnements](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-lifecycle) - [Testen von Abonnements](https://docs.stripe.com/billing/testing.md)