# Abonnementpläne Erfahren Sie mehr über Abonnementpläne und wie Sie diese verwenden können. > Diese Funktion ist nur in der klassischen Version des [Abonnement-Editors](https://dashboard.stripe.com/subscriptions) im Dashboard verfügbar. Sie können jederzeit zwischen der klassischen und der neuen Version wechseln, und Ihre Auswahl bleibt 30 Tage lang bestehen. Wenn Sie den Editor also erneut öffnen, wird standardmäßig die Version verwendet, die Sie zuletzt ausgewählt haben. Verwenden Sie [Abonnementpläne](https://docs.stripe.com/api/subscription_schedules.md), um Änderungen an Abonnements im Verlauf der Zeit zu automatisieren. Sie können Abonnements direkt über einen Zeitplan [erstellen](https://docs.stripe.com/api/subscription_schedules/create.md) oder einen Zeitplan zu einem bestehenden Abonnement hinzufügen. Verwenden Sie das Attribut [phases](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases), um die am Abonnement vorzunehmenden Änderungen zu definieren. Sobald ein Zeitplan alle Phasen beendet hat, wird er gemäß seinem [end_behavior](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-end_behavior) abgeschlossen. Folgende Änderungen könnten für Sie interessant sein: - Starten eines Abonnements an einem Datum in der Zukunft - Rückdatieren eines Abonnements auf ein Datum in der Vergangenheit - Herauf- oder Herabstufen eines Abonnements Abonnementpläne sind sowohl im Stripe Billing-Dashboard als auch in der API verfügbar. Beispiele für die Verwendung von Abonnementplänen finden Sie unter [Use cases](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#use-cases). ## Phasen Verwenden Sie beim Erstellen eines Abonnementplans das Attribut [phases](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases), um zu definieren, wann Änderungen auftreten und welche Eigenschaften des Abonnements geändert werden sollen. Zum Beispiel können Sie einen Gutschein über 50 % Rabatt für die ersten drei Monate eines Abonnements anbieten. In diesem Szenario würden Sie einen Abonnementplan mit einer dreimonatigen ersten Phase erstellen, in der der Gutschein über 50 % Rabatt angewendet wird. In der zweiten Phase wird das Abonnement wieder auf den regulären Preis angepasst und der Gutschein wird entfernt. Phasen müssen sequentiell ausgeführt werden, was bedeutet, dass zu einem bestimmten Zeitpunkt immer nur eine Phase aktiv sein kann. Sie können bis zu 10 Phasen haben. ### Die Länge einer Phase festlegen Sie können die Länge einer Phase über die API oder das Dashboard festlegen. #### API Phasen haben ein Attribut [Dauer](https://docs.stripe.com/api/subscription_schedules/update.md#update_subscription_schedule-phases-duration), mit dem Sie angeben, wie lange eine Phase dauern soll. Der Parameter `duration` akzeptiert die folgenden Werte: `week`, `month` oder `year`. Das `end_date` einer Phase muss dem `start_date` der nächsten Phase entsprechen. Durch die Verwendung von `duration` werden `start_date` und `end_date` automatisch ordnungsgemäß angegeben. Diese Werte können zwar auch manuell festgelegt werden, aber Stripe empfiehlt stattdessen die Verwendung von `duration`. Da das manuelle Festlegen des Start- und Enddatums anfällig für Fehler ist, sollten Sie es nur für erweiterte Anwendungsszenarien verwenden. #### Dashboard So legen Sie die Länge einer Phase fest: 1. Öffnen Sie im Dashboard den [Abonnement-Editor](https://dashboard.stripe.com/subscriptions?create=subscription). 1. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden. 1. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes. 1. Klicken Sie auf **Phase hinzufügen**. 1. Wählen Sie die Dauer der Phase aus. Sie können auch **Für immer** wählen, um das Abonnement auf unbestimmte Zeit aktiv zu halten. ### In die nächste Phase wechseln Phasenübergänge erfolgen automatisch, nachdem das `end_date` für eine Phase erreicht wurde. Wenn eine Phase startet, aktualisiert Stripe das Abonnement entsprechend den Attributen der nächsten Phase. Sie können optional die [anteilmäßige Verrechnung](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases-proration_behavior) aktivieren, um den Nutzerinnen und Nutzern die nicht genutzten Artikel oder die nicht genutzte Zeit auf dem Abonnementplan gutzuschreiben. #### Verhalten bei anteilmäßiger Verrechnung Es gibt zwei verschiedene Einstellungen für das Verhalten bei anteilmäßiger Verrechnung, die steuern, wie Stripe Abrechnungsanpassungen bei Änderungen des Abonnementplans handhabt: 1. **Aktualisierung des Verhaltens bei anteilmäßiger Verrechnung planen**: Der übergeordnete Parameter [proration_behavior](https://docs.stripe.com/api/subscription_schedules/update.md#update_subscription_schedule-proration_behavior) steuert, wie anteilige Verrechnungen bei der Aktualisierung eines Abonnementplans so gehandhabt werden sollen, dass sich dies auf die Abrechnungskonfiguration der aktuellen Phase auswirkt (z. B. durch Änderung von Preisen oder Mengen). 1. **Verhalten bei der anteilsmäßigen Verrechnung bei Phasenübergängen**: Jede Phase hat ihr eigenes [proration_behavior](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases-proration_behavior)-Attribut, das steuert, wie Stripe beim Übergang in diese Phase mit anteilsmäßigen Verrechnungen umgeht. ##### Aktualisierung des Verhaltens bei anteilmäßiger Verrechnung planen Wenn Sie einen Abonnementplan aktualisieren und die Abrechnungskonfiguration der `current_phase` ändern, können Sie über den Top-Level-Parameter `proration_behavior` steuern, wie anteilige Verrechnungen gehandhabt werden. Dieser Parameter funktioniert ähnlich wie der in der [API zum Aktualisieren eines Abonnements](https://docs.stripe.com/api/subscriptions/update.md#update_subscription-proration_behavior) und akzeptiert die folgenden Werte: - (Standard) `create_prorations`: Generieren Sie anteilmäßige Anpassungen für Abrechnungsänderungen. - `none`: Für die Aktualisierung werden keine anteilmäßigen Verrechnungen erstellt. - `always_invoice`: Generieren Sie anteilmäßige Verrechnungen und finalisieren Sie eine Rechnung sofort. Änderungen an nicht abrechnungsrelevanten Feldern (wie Metadaten) generieren unabhängig von dieser Einstellung keine anteilsmäßigen Verrechnungen. ##### Verhalten bei der anteilsmäßigen Verrechnung bei Phasenübergängen Jede Phase kann ihre eigene `proration_behavior`-Einstellung definieren, um zu steuern, was passiert, wenn das Abonnement in diese Phase eintritt. Diese Einstellung gilt speziell für anteilige Verrechnungen, die während der Phasenübergänge generiert werden, und wird als Feld in der Phase gespeichert. Wenn zum Beispiel `phases[1]` die Menge zu Beginn von 1 auf 3 erhöht, bestimmt das `proration_behavior` von `phases[1]`, wie diese anteiligen Verrechnungen beim Übergang von `phases[0]` zu `phases[1]` gehandhabt werden: - (Standard) `create_prorations`: Generieren Sie ausstehende Rechnungsposten für Abrechnungsänderungen. - `none`: Beim Eintritt in diese Phase werden keine anteilsmäßigen Verrechnungen erstellt. - `always_invoice`: Generieren Sie anteilsmäßige Verrechnungen und erstellen Sie sofort eine Rechnung, wenn Sie diese Phase beginnen. Wenn Sie ändern müssen, wie bei einem zukünftigen Phasenübergang anteilsmäßige Verrechnungen gehandhabt werden, aktualisieren Sie die Einstellung `proration_behavior` für die zukünftige Phase, bevor diese aktiv wird. ### Testzeiträume verwenden Sie können der ersten Phase eines Abonnements über die API oder das Dashboard einen Testzeitraum hinzufügen. #### API Sie können Testzeiträume hinzufügen, indem Sie [trial end](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-phases-trial_end) für eine Phase festlegen. Wenn die gesamte Phase ein Test sein soll, legen Sie den Wert von `trial_end` auf den gleichen Zeitpunkt wie das `end_date` der Phase fest. Wenn nur ein Teil der Phase als Testzeitraum gelten soll, können Sie den Wert für `trial_end` auch auf einen Zeitpunkt vor dem `end_date` festlegen. Beim Terminieren von Aktualisierungen müssen Sie das neue `trial_end` für jede Phase angeben. #### Dashboard So fügen Sie der ersten Phase eines neuen Abonnements einen Testzeitraum hinzu. 1. Öffnen Sie im Dashboard den [Abonnement-Editor](https://dashboard.stripe.com/subscriptions?create=subscription). 1. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden. 1. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes. 1. Legen Sie unter **Kostenloser Testzeitraum** die Länge des kostenlosen Testzeitraums fest. - Wenn Sie möchten, dass die gesamte Phase eine Testphase ist, stellen Sie die Länge der Testphase auf die Länge der Phase ein. - Wenn Sie möchten, dass nur ein Teil der Phase ein Test ist, stellen Sie die Länge des Tests so ein, dass sie kürzer ist als die Länge der Phase. 1. Klicken Sie auf **Abonnement erstellen**. So fügen Sie der ersten Phase eines bestehenden Abonnements einen Testzeitraum hinzu. 1. Gehen Sie im Dashboard zur Seite [Abonnements](https://dashboard.stripe.com/subscriptions), wählen Sie ein bestehendes Abonnement aus und klicken Sie auf **Aktionen** > **Abonnement aktualisieren**. 1. Klicken Sie in dem Abonnement auf **Bearbeiten** für die erste Phase. 1. Legen Sie unter **Kostenloser Testzeitraum** die Länge des kostenlosen Testzeitraums fest. - Wenn Sie möchten, dass die gesamte Phase eine Testphase ist, stellen Sie die Länge der Testphase auf die Länge der Phase ein. - Wenn Sie möchten, dass nur ein Teil der Phase ein Test ist, stellen Sie die Länge des Tests so ein, dass sie kürzer ist als die Länge der Phase. 1. Klicken Sie auf **Abonnement aktualisieren**. ### Einen Zeitplan abschließen Abonnementpläne enden nach dem Beenden der letzten Phase. Zu diesem Zeitpunkt bleibt das Abonnement bestehen und ist nicht mehr mit dem Zeitplan verknüpft. Wenn Sie ein Abonnement nach Ende der letzten Phase eines Zeitplans kündigen möchten, können Sie [end_behavior](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-end_behavior) auf `cancel` festlegen. Das [cancel_on_date](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at) des Abonnements wird erst festgelegt, wenn das Abonnement in die letzte Phase übergeht. ### Phasen-Attribute übernehmen Wenn eine Phase aktiv wird, werden alle in der Phase festgelegten Attribute auch für das Abonnement festgelegt. Die Attribute bleiben nach dem Ende der Phase unverändert, es sei denn, sie werden durch die folgende Phase geändert oder der Zeitplan hat keine Standardeinstellung. Sie können einige Attribute sowohl für Zeitpläne als auch für Phasen festlegen. Dazu gehören unter anderem: | Zeitplan-Attribute | Phasen-Attribute | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | [default_settings.billing_thresholds](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-default_settings-billing_thresholds) | [phases.billing_thresholds](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases-billing_thresholds) | | [default_settings.collection_method](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-default_settings-collection_method) | [phases.collection_method](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-phases-collection_method) | | [default_settings.default_payment_method](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-default_settings-default_payment_method) | [phases.default_payment_method](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-phases-default_payment_method) | | [default_settings.invoice_settings](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-default_settings-invoice_settings) | [phases.invoice_settings](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-phases-invoice_settings) | Wenn eines der Attribute im Zeitplan definiert ist, wird es zur Standardeinstellung für alle Phasen. Wenn die gleiche Eigenschaft sowohl im Zeitplan als auch in der Phase definiert ist, überschreibt das Phasen-Attribut das Zeitplan-Attribut. Dieses Verfahren wird weiter unten erläutert: | Zeitplan-Attribut vorhanden | Phasen-Attribut vorhanden | Ergebnis | | --------------------------- | ------------------------- | ------------------------------------------------------------------- | | Nein | Nein | Standardmäßig werden die Kunden- oder Kontoeinstellungen übernommen | | Ja | Nein | Zeitplan-Attribut festgelegt | | Ja | Ja | Phasen-Attribut festgelegt | | Nein | Ja | Phasen-Attribut festgelegt | ### Metadaten für Phasen verwenden Sie können Phasen in Abonnementplänen verwenden, um Metadaten für das zugrunde liegende Abonnement festzulegen. Auf diese Weise können Sie die Metadaten eines Abonnements mit geplanten Aktualisierungen steuern. #### API Um Phasenmetadaten mit der API zu verwenden, legen Sie die [Metadaten](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-phases-metadata) für die Phasen eines Abonnementplans fest. Wenn das zugrunde liegende Abonnement in eine Phase eintritt: - Metadaten aus der Phase mit nicht leeren Werten werden den Metadaten des Abonnements *hinzugefügt*, wenn die Schlüssel *nicht* bereits in letzterem vorhanden sind. - Metadaten aus der Phase mit nicht leeren Werten werden verwendet, um die Metadaten des Abonnements zu *aktualisieren*, wenn die Schlüssel *bereits* in letzterem vorhanden sind. - Metadaten aus der Phase mit *leeren Werten* werden verwendet, um die Festlegung der entsprechenden Schlüssel in den Metadaten des Abonnements *aufzuheben*. Um die Festlegung aller Schlüssel in den Metadaten des Abonnements aufzuheben, aktualisieren Sie das Abonnement direkt oder löschen Sie jeden Schlüssel einzeln aus den Metadaten der Phase. Die Aktualisierung der Metadaten des zugrunde liegenden Abonnements hat keine Auswirkungen auf die Metadaten der aktuellen Phase. Im folgenden Beispiel ist ein Abonnementplan mit zwei Phasen dargestellt, wobei jede Phase ihre eigenen Metadaten hat: ```json { ... "object": "subscription_schedule", "phases": [ { // Phase 1 ... "metadata": { "channel": "self-serve", "region": "apac", "upsell-products": "alpha" } }, { // Phase 2 ... "metadata": { "channel": "sales", "churn-risk": "high", "upsell-products": "" } } ] } ``` Wenn in diesem Zeitplan ein neues Abonnement erstellt wird, und das Abonnement in `Phase 1` eintritt, werden die drei Schlüssel in den Metadaten von `Phase 1` den Metadaten des Abonnements hinzugefügt. Das Abonnement in `Phase 1` hat also die folgenden Metadaten: ```json { ... "object": "subscription", "metadata": { "channel": "self-serve", "region": "apac", "upsell-products": "alpha" } } ``` Wenn das Abonnement in `Phase 2` eintritt, werden die Metadaten des Abonnements aktualisiert: - Der Wert von `channel` wird aktualisiert, weil in den Metadaten der Phase ein Wert angegeben ist und das Abonnement bereits über Metadaten mit diesem Schlüssel verfügt. - Der Wert von `region` bleibt unverändert, da er in der Phase nicht angegeben ist. - `churn-risk` wird hinzugefügt, da es sich um einen neuen Schlüssel handelt. - `upsell-products` wird deaktiviert, da für die Phase ein leerer Wert angegeben ist. Das Abonnement in `Phase 2` hat somit die folgenden Metadaten: ```json { ... "object": "subscription", "metadata": { "channel": "sales", "region": "apac", "churn-risk": "high" } } ``` #### Dashboard Sie können Metadateneinträge in jeder Phase eines Abonnementzeitplans mit dem [Abonnement-Editor des Billing Dashboard](https://dashboard.stripe.com/subscriptions?create=subscription) hinzufügen, bearbeiten und entfernen. Wenn eine neue Phase aktiviert wird, werden die Metadaten des Abonnementobjekts so aktualisiert, dass sie mit den Metadaten dieser Phase übereinstimmen. 1. Öffnen Sie im Dashboard den [Abonnement-Editor](https://dashboard.stripe.com/subscriptions?create=subscription). 1. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden. 1. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes. 1. Klicken Sie in einer neuen oder bestehenden Phase auf **+ Metadaten hinzufügen**. 1. Geben Sie einen **Schlüssel** und einen **Wert** ein und klicken Sie dann auf **Speichern**. Erfahren Sie, wie Sie [Abonnementmetadaten in Abonnementrechnungen kopieren](https://docs.stripe.com/billing/invoices/subscription.md#subscription-metadata). ## Abonnementpläne erstellen Wenn Ihre Integration [kundenseitig konfigurierte Konten](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer) verwendet, ersetzen Sie in den Codebeispielen Verweise auf `Customer` und Ereignisse durch die entsprechenden Verweise auf die Accounts v2 API. Weitere Informationen finden Sie unter [Kundinnen und Kunden mit Kontoobjekten darstellen](https://docs.stripe.com/connect/use-accounts-as-customers.md). In diesem Beispiel wird gezeigt, wie Sie einen Abonnementplan mit einer Kundin/einem Kunden erstellen. Wenn Sie einen Zeitplan so erstellen, wird automatisch auch das Abonnement erstellt. > Anders als bei der direkten Erstellung eines Abonnements verhält sich die erste Rechnung eines Abonnementplans, bei der `collection_method` auf `charge_automatically` festgelegt ist, wie eine wiederkehrende Rechnung und wird *nicht* sofort finalisiert, wenn das Abonnement des Zeitplans erstellt wird. Die Rechnung beginnt im Status `draft` und wird von Stripe [etwa 1 Stunde nach Erstellung](https://docs.stripe.com/billing/subscriptions/webhooks.md#understand) finalisiert. > > Wenn Sie beispielsweise einen Abonnementplan erstellen, bei dem die Zahlungsmethode so eingestellt ist, dass die Zahlung automatisch erfolgt, und `start_date=now` erstellen, werden auch ein Abonnement und eine Rechnung im Status `draft` erstellt. Sie haben eine Stunde Zeit, um die [Rechnung zu bearbeiten](https://docs.stripe.com/api/invoices/update.md). Später wechselt die Rechnung je nach Ergebnis des asynchronen Zahlungsversuchs zum Abschlusszeitpunkt automatisch in den Status `open` oder `paid`. #### API ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d customer=cus_GBHHxuvBvO26Ea \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]=price_1GqNdGAJVYItwOKqEHb" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=12" ``` Dieser Zeitplan: - Startet unmittelbar nach Erstellung. - Legt das Abonnement auf eine Instanz des Produkts zu `price_1GqNdGAJVYItwOKqEHb` fest. - Gilt für 12 Monate und gibt dann das Abo aus dem Zeitplan frei. Sie können Abonnementpläne auch durch Übergeben einer Abonnement-ID erstellen: ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d from_subscription=sub_GB98WOvaRAWPl6 ``` Wenn Sie einen Zeitplan so erstellen, werden Attribute für das Abonnement verwendet, um Attribute für den Zeitplan festlegen zu können. Wie auch bei anderen Stripe-APIs können Sie [Abonnementpläne](https://docs.stripe.com/api/subscription_schedules.md) abrufen und aktualisieren. Außerdem können Sie sie kündigen und freigeben. Wenn Sie einen Abonnementplan kündigen, wird gleichzeitig auch das Abonnement gekündigt. Wenn Sie nur einen Zeitplan aus einem Abonnement entfernen möchten, verwenden Sie den Aufruf [release](https://docs.stripe.com/api/subscription_schedules/release.md). #### Dashboard So erstellen Sie Abonnementpläne mit mehreren Phasen: 1. Öffnen Sie im Dashboard den [Abonnement-Editor](https://dashboard.stripe.com/subscriptions?create=subscription). 1. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden. 1. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes. 1. Legen Sie eine Dauer für die erste Phase des Abonnementplans fest. 1. Klicken Sie auf **Phase hinzufügen**. 1. Wählen Sie die Dauer der Phase aus. Sie können auch **Für immer** wählen, um das Abonnement auf unbestimmte Zeit aktiv zu halten. 1. Nehmen Sie die erforderlichen Änderungen an Ihrer neuen Phase vor. Sie können die Menge und den Preis ändern, Gutscheine hinzufügen oder entfernen, das Datum des Rechnungsstellungszeitraums zurücksetzen, das Verhalten bei anteilmäßigen Verrechnungen ändern oder Metadaten aktualisieren. Wenn Sie die Metadaten in einer Phase ändern, werden die Metadaten des Abos aktualisiert, wenn diese Phase aktiviert wird. 1. Neue Phase speichern. 1. Nach Bedarf weitere Phasen hinzufügen. 1. Klicken Sie auf **Abonnement planen**. ## Abonnementpläne aktualisieren Sie können nur die aktuellen und zukünftigen Phasen von Abonnementplänen aktualisieren. #### API Wenn Sie einen Abonnementplan aktualisieren, müssen Sie alle aktuellen und zukünftigen Phasen angeben. Außerdem müssen Sie alle zuvor festgelegten Parameter angeben, die Sie beibehalten möchten. Alle Parameter, die zuvor festgelegt wurden, werden für die bestehende Phase nicht festgelegt, es sei denn, Sie übergeben diese in der Aktualisierungsanfrage. Sie erhalten in der Antwort weiterhin Informationen über vergangene Phasen. Sie können bis zu 10 aktuelle oder zukünftige Phasen angeben. Durch die Aktualisierung der aktiven Phase wird auch das zugrunde liegende Abonnement aktualisiert. Beispielsweise wird bei dem folgenden Aufruf der Wert `quantity` in zwei geändert: ```curl curl https://api.stripe.com/v1/subscription_schedules/{{SUBSCRIPTIONSCHEDULE_ID}} \ -u "<>:" \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=2" \ -d "phases[0][start_date]=1577865600" \ -d "phases[0][end_date]=1580544000" ``` Sie können die aktuelle Phase auch sofort beenden und eine neue Phase starten. Somit wird die aktive Phase zur vergangenen Phase und die neue Phase wird direkt auf das Abonnement angewendet. Im folgenden Beispiel wird die aktuelle Phase beendet und eine neue Phase gestartet: ```curl curl https://api.stripe.com/v1/subscription_schedules/{{SUBSCRIPTIONSCHEDULE_ID}} \ -u "<>:" \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][start_date]=1577865600" \ -d "phases[0][end_date]=now" \ -d "phases[1][items][0][price]={{PRICE_ID}}" \ -d "phases[1][items][0][quantity]=2" \ -d "phases[1][start_date]=now" \ -d "phases[1][end_date]=1580544000" ``` Um einem Abonnementplan zusätzliche Phasen hinzuzufügen, übergeben Sie die aktuelle Phase und definieren Sie anschließend Ihre neuen Phasen: ```curl curl https://api.stripe.com/v1/subscription_schedules/{{SUBSCRIPTIONSCHEDULE_ID}} \ -u "<>:" \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][start_date]=1577865600" \ -d "phases[0][end_date]=1580544000" \ -d "phases[1][items][0][price]={{PRICE_ID}}" \ -d "phases[1][items][0][quantity]=2" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=1" ``` #### Dashboard So aktualisieren Sie bestehende Abonnements, um zukünftige Phasen des Abonnementplans zu berücksichtigen: 1. Gehen Sie im Dashboard zur Seite [Abonnements](https://dashboard.stripe.com/subscriptions), wählen Sie ein bestehendes Abonnement aus und klicken Sie auf **Aktionen** > **Abonnement aktualisieren**. 1. Legen Sie eine Dauer für die aktuelle Phase des Abonnementplans fest, indem Sie ein Enddatum auswählen. 1. Klicken Sie auf **+Phase hinzufügen**. 1. Wählen Sie die Dauer Ihrer nächsten Phase aus. Sie können auch **Für immer** wählen, um das Abonnement auf unbestimmte Zeit aktiv zu halten. 1. Nehmen Sie die erforderlichen Änderungen an Ihrer neuen Phase vor. Sie können die Menge und den Preis ändern, Gutscheine hinzufügen oder entfernen, das Datum des Rechnungsstellungszeitraums zurücksetzen, das Verhalten bei anteilmäßigen Verrechnungen ändern oder Metadaten aktualisieren. Wenn Sie die Metadaten in einer Phase ändern, werden die Metadaten des Abos aktualisiert, wenn diese Phase aktiviert wird. 1. Neue Phase speichern. 1. Nach Bedarf weitere Phasen hinzufügen. 1. Klicken Sie auf **Abonnement planen**. ## Eine Rechnung anzeigen Verwenden Sie den Parameter [schedule](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-schedule) unter [Vorschau erstellen](https://docs.stripe.com/api/invoices/create_preview.md), um eine Vorschau der nächsten Rechnung für ein Abonnement zu anzuzeigen. ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d "schedule={{SUBSCRIPTIONSCHEDULE_ID}}" ``` ### Vorschau der Erstellung und Aktualisierung von Zeitplänen anzeigen Verwenden Sie die Parameter in [schedule_details](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-schedule_details), um eine Vorschau auf die Erstellung oder Aktualisierung eines Abonnementplans zu erhalten. Übergeben Sie einen vorhandenen [schedule](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-schedule)-Parameter, um Stripe mitzuteilen, ob es sich um eine Erstellung oder eine Aktualisierung handelt. Übergeben Sie alle aktuellen und zukünftigen [Phasen](https://docs.stripe.com/api/invoices/create_preview.md#create_create_preview-schedule_details-phases), die Sie in der Vorschau anzeigen. Der folgende Code zeigt beispielsweise eine Vorschau der ersten Rechnung für einen Abonnementplan mit der Phase `1` an, der über `12` Monate dauert. ```curl curl https://api.stripe.com/v1/invoices/create_preview \ -u "<>:" \ -d "customer_details[address][line1]=920 5th Ave" \ -d "customer_details[address][city]=Seattle" \ -d "customer_details[address][state]=WA" \ -d "customer_details[address][postal_code]=98104" \ -d "customer_details[address][country]=US" \ -d "schedule_details[phases][0][start_date]=now" \ -d "schedule_details[phases][0][items][0][price]={{PRICE_ID}}" \ -d "schedule_details[phases][0][items][0][quantity]=1" \ -d "schedule_details[phases][0][duration][interval]=month" \ -d "schedule_details[phases][0][duration][interval_count]=12" ``` ## Weitere Überlegungen Abonnementpläne unterliegen in der Regel denselben Einschränkungen wie Abonnements, führen jedoch auch einige eigene Einschränkungen ein. Darüber hinaus kann die Interaktion zwischen Abonnementplänen und Abonnements zu unerwartetem Verhalten führen. Lesen Sie die folgenden Abschnitte, um Einschränkungen, das Produktverhalten und allgemeine Best Practices bei der Verwendung von Abonnementplänen zu verstehen. ### Einschränkungen - Sie können nur bis zu 10 aktuelle oder zukünftige Phasen gleichzeitig in einem Abonnementplan definieren. Vergangene Phasen werden nicht auf dieses Limit angerechnet. - Die Phasen des Abonnementplans unterliegen [denselben Einschränkungen wie Abos](https://docs.stripe.com/billing/subscriptions/quantities.md#billing-periods-with-multiple-prices), wenn Sie Phasen des Abonnementplans mit mehreren Elementen erstellen. ### Dashboard-Beschränkungen Sie können Abonnementpläne ohne Code im [Dashboard](https://dashboard.stripe.com/test/subscriptions) erstellen und aktualisieren. Im Dashboard können Sie die folgenden Einstellungen global für alle Phasen festlegen, jedoch nicht pro Phase: - Abrechnungsschwellen - Zahlungsmethoden - Rechnungseinstellungen - Abonnementbeschreibung - Testtage (nur in der ersten Phase möglich) Die folgenden Parameter werden im Dashboard nicht unterstützt: - Metadaten des Abonnementplan - Metadaten des Phasenelements - Währung - Alle Connect-Parameter ### Abonnement wird aktualisiert, wenn ein Zeitplan angehängt ist Verwenden Sie [Abonnementpläne](https://docs.stripe.com/api/subscription_schedules.md), um Abonnements automatisch zu ändern, wenn die Zeit verstrichen ist und die nächste Phase des Zeitplans beginnt. Einige Änderungen, die Sie direkt am Abonnement vornehmen, werden auf die Phasen des Abonnementplans übertragen, andere jedoch nicht. Das bedeutet, dass alle Änderungen, die Sie direkt am Abonnement vornehmen, beim Eintritt in die nächste Phase durch den Abonnementplan überschrieben werden können. Wenn Sie Änderungen an einem Abonnement planen, befolgen Sie diese Best Practices: - Wenn ein Abonnementplan an ein Abonnement angefügt ist, verwenden Sie zum Ändern des Abonnements die [Subscription Schedule](https://docs.stripe.com/api/subscription_schedules.md) AP anstelle der [Subscriptions](https://docs.stripe.com/api/subscriptions.md#subscriptions) API. - Speichern Sie die Abonnement-Zeitplan-IDs neben der Abonnement-ID für zukünftige API-Updates. Die Abonnementzeitplan-ID wird zurückgegeben, wenn Sie [die API verwenden, um sie zu erstellen](https://docs.stripe.com/api/subscription_schedules/create.md) oder über den Webhook [subscription_schedule.created](https://docs.stripe.com/api/events/types.md#event_types-subscription_schedule.created), wenn Stripe sie automatisch erstellt, zum Beispiel wenn ein Kunde/eine Kundin ein Downgrade im [Kundenportal](https://docs.stripe.com/customer-management/configure-portal.md#configure-subscription-management) geplant hat. - Verwerfen Sie die Abonnementplan-IDs, wenn ein Abonnementplan veröffentlicht wird. Sie können Änderungen an den Abonnements direkt vornehmen oder einen neuen Abonnementplan erstellen. Die Abonnementplan-ID wird zurückgegeben, wenn sie [mit der API](https://docs.stripe.com/api/subscription_schedules/release.md) oder über das Webhook-Ereignis [subscription_schedule .released](https://docs.stripe.com/api/events/types.md#event_types-subscription_schedule.released) freigegeben wird, wenn der Abonnementplan freigegeben wird. - Verwenden Sie möglichst das Dashboard, um Abonnements zu ändern, wodurch alle angehängten Abonnementpläne automatisch aktualisiert werden. Insbesondere wenn Sie eines der folgenden Abonnementattribute direkt in einem Abonnement ändern, wird mit dieser Aktion möglicherweise automatisch eine neue Abonnementplanphase erstellt: - `discounts` - `tax_rates` - `items` - `trial_end`, `trial_settings`, `trial_start` - `application_fee_percent` - `add_invoice_items` - `automatic_tax` Nehmen wir zum Beispiel ein Abonnement mit zwei Posten. Dem Abonnement ist ein Abonnementplan mit einer einzigen Phase angehängt, die den aktuellen Status des Abonnements widerspiegelt. Wenn Sie [die API verwenden, um](https://docs.stripe.com/api/subscription_items/delete.md) einen der Posten zu löschen, wird die Phase des angehängten Abonnementplans automatisch in zwei Phasen aufgeteilt: 1. Die Phase, die gerade zu Ende ging und zwei Abonnementposten hatte 1. Die neue Phase, die nur einen Posten im Abonnement enthält Wenn die Phasen des Abonnementplans automatisch aufgeteilt werden, werden die folgenden Eigenschaften von der aktuellen Phase in die neue Phase kopiert: - `proration_behavior` - `billing_cycle_anchor` - `cancel_at_period_end` - `description` - `metadata` - `pause_collection` Darüber hinaus kann Stripe die folgenden Top-Level-Abonnementattribute in den Abonnementplan oder seine [`default_settings`](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-default_settings) kopieren: | Abonnementattribut | In neue Abonnementplanphase kopiert | In `default_settings` des Abonnementplans kopiert | | ------------------------- | ----------------------------------- | ------------------------------------------------- | | `coupon` | ✓ Unterstützt | - Nicht unterstützt | | `trial_end` | ✓ Unterstützt | - Nicht unterstützt | | `tax_rates` | ✓ Unterstützt | - Nicht unterstützt | | `application_fee_percent` | ✓ Unterstützt | ✓ Unterstützt | | `discounts` | ✓ Unterstützt | - Nicht unterstützt | | `collection_method` | ✓ Unterstützt | ✓ Unterstützt | | `invoice_settings` | ✓ Unterstützt | ✓ Unterstützt | | `default_payment_method` | ✓ Unterstützt | ✓ Unterstützt | | `default_source` | ✓ Unterstützt | ✓ Unterstützt | | `transfer_data` | ✓ Unterstützt | ✓ Unterstützt | | `on_behalf_of` | ✓ Unterstützt | ✓ Unterstützt | | `currency` | ✓ Unterstützt | - Nicht unterstützt | | `add_invoice_items` | ✓ Unterstützt | - Nicht unterstützt | | `automatic_tax` | ✓ Unterstützt | ✓ Unterstützt | | `items.prices` | ✓ Unterstützt | - Nicht unterstützt | | `billing_thresholds` | ✓ Unterstützt | ✓ Unterstützt | Aktualisierungen der `metadata` von Abonnements werden nicht an einen angehängten Abo-Zeitplan weitergegeben. ## Anwendungsfälle Stellen Sie sich zum besseren Verständnis von Abonnementplänen einen fiktiven Zeitungsverlag mit dem Namen The Pacific vor, der zwei Abonnementoptionen anbietet: - *Print*, hier erhalten Kund/innen die Zeitung in gedruckter Form. - *Digital*, hier erhalten Kundinnen und Kunden Zugang zu exklusiven Inhalten auf der Website von The Pacific. Beide Abonnements werden monatlich abgerechnet. Durchsuchen Sie nachfolgend mögliche Optionen für Abonnementpläne. ### Abonnement in der Zukunft starten Standardmäßig beginnen neue Print-Abonnements am ersten Tag des Folgemonats. Legen Sie das `start_date` auf einen Zeitpunkt in der Zukunft fest. Mit dem folgenden Programmcode wird ein Abonnement erstellt, das in der Zukunft startet: ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=1690873200 \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_PRINT}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=12" ``` ### Ein Abonnement zurückdatieren Wenn Kundinnen und Kunden den digitalen Abonnementplan abonnieren, werden die Abonnements von The Pacific auf den ersten Tag des aktuellen Monats zurückdatiert. Die Rückdatierung ermöglicht es Ihnen, die Zeit in der Vergangenheit in Rechnung zu stellen und digitale Abonnenten sofort auf die Website zuzugreifen. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=1688194800 \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_DIGITAL}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=12" ``` ### Einen Zeitplan zu einem bestehenden Abonnement hinzufügen The Pacific stellt möglicherweise fest, dass einige ihrer ursprünglichen Kundinnen und Kunden Abonnements ohne Zeitpläne haben. Da diese Abonnements bereits bestehen, können Sie die Abonnement-IDs im Attribut `from_subscription` übergeben, um einen Zeitplan hinzuzufügen. Wenn Sie die Abonnement-IDs auf diese Weise übergeben, wird ein Zeitplan mit einer Phase erstellt, die auf dem aktuellen Abrechnungszeitraum des Abonnements basiert. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "from_subscription={{SUBSCRIPTION_ID}}" ``` Beim Hinzufügen dieser Zeitpläne entscheiden sich manche Kundinnen und Kunden für ein Print-Abonnement, sodass The Pacific dem Zeitplan eine zweite Phase hinzufügt, um mit dem Print-Plan einen Monat später zu starten. Ein Beispiel für diesen Vorgang finden Sie im Anwendungsszenario [Abonnements upgraden](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#upgrading-subscriptions). ### Upgrade von Abonnements The Pacific bietet die Option mit einem einmonatigen Print-Abonnement zu starten und danach automatisch die digitale Option hinzuzufügen. Einige Kundinnen und Kunden bevorzugen diese Option, da sie zuerst die Druckversion ausprobieren und dann entscheiden können, ob sie ihr Abonnement fortsetzen oder kündigen möchten. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_PRINT}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=1" \ -d "phases[1][items][0][price]={{PRICE_PRINT}}" \ -d "phases[1][items][0][quantity]=1" \ -d "phases[1][items][1][price]={{PRICE_DIGITAL}}" \ -d "phases[1][items][1][quantity]=1" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=11" ``` ### Downgrade von Abonnements The Pacific bietet auch die Option mit einem Abonnement zu starten, das sowohl die gedruckte als auch die digitale Version enthält, und erst danach für die übrige Dauer des Abonnements zur Druckversion herabzustufen. *Kundinnen und Kunden* (Customer objects represent customers of your business. They let you reuse payment methods and give you the ability to track multiple payments) können mit dieser Option beide Versionen ausprobieren und sehen, wie ihnen diese gefallen. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_DIGITAL}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][items][1][price]={{PRICE_PRINT}}" \ -d "phases[0][items][1][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=1" \ -d "phases[1][items][0][price]={{PRICE_PRINT}}" \ -d "phases[1][items][0][quantity]=1" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=11" ``` ### Abonnements ändern The Pacific bietet zwei Print-Abos an: ein Basis-Abo mit Werbung und ein Premium-Abo ohne Werbung. Einige Kundinnen und Kunden mit einem Premium-Abo möchten zum nächsten Rechnungsstellungszeitraum zum Basis-Abo wechseln. Sie können einen Zeitplan auf Basis des bestehenden Abos erstellen und diesen dann mit dem Basis-Abo mit Werbung als neue Phase aktualisieren. #### Ruby ```ruby # Don't put any keys in code. See https://docs.stripe.com/keys-best-practices. # Find your keys at https://dashboard.stripe.com/apikeys. client = Stripe::StripeClient.new('<>') # Create a subscription schedule with the existing subscription schedule = client.v1.subscription_schedules.create({ from_subscription: 'sub_ERf72J8Sc7qx7D', }) # Update the schedule with the new phase client.v1.subscription_schedules.update( schedule.id, { phases: [ { items: [ { price: schedule.phases[0].items[0].price, quantity: schedule.phases[0].items[0].quantity, }, ], start_date: schedule.phases[0].start_date, end_date: schedule.phases[0].end_date, }, { items: [ { price: '{{PRICE_PRINT_BASIC}}', quantity: 1, }, ], duration: { interval: 'month', interval_count: 1, }, }, ], }, ) ``` ### Die Menge erhöhen Sie können auch eine Erhöhung der Mengen für ein Abonnement planen. Der unten dargestellte Zeitplan startet mit einem Beispiel für eine digitale Veröffentlichung für einen Monat. In der zweiten Phase wird die Menge für 11 weitere Monate auf 2 erhöht. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=1" \ -d "phases[1][items][0][price]={{PRICE_ID}}" \ -d "phases[1][items][0][quantity]=2" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=11" ``` ### Gutscheine verwenden The Pacific bietet gelegentlich Sonderangebote für Abonnements an. Der unten dargestellte Zeitplan gewährt den Kundinnen und Kunden zunächst für sechs Monate 50 % Rabatt auf die Druckversion. Der Zeitplan entfernt den Gutschein aus dem Abonnement in der zweiten Phase für die verbleibenden sechs Monate. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=6" \ -d "phases[0][discounts][0][coupon]={{COUPON_ID}}" \ -d "phases[1][items][0][price]={{PRICE_ID}}" \ -d "phases[1][items][0][quantity]=1" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=6" ``` ### Steuersätze ändern The Pacific ist in mehreren Ländern tätig, in denen teilweise verschiedene Steuersätze für Unternehmen auf Abonnementbasis gelten. In einem dieser Zuständigkeitsbereiche sind zwei Steuersätze erforderlich: einer für den ersten Monat, wenn Kundinnen und Kunden ein Abonnement abschließen, und einer für wiederkehrende Abrechnungen. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=release \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][items][0][tax_rates][0]=txr_2J8lmBBGHJYyuUJqF6QJtaAA" \ -d "phases[0][duration][interval]=month" \ -d "phases[0][duration][interval_count]=1" \ -d "phases[1][items][0][price]={{PRICE_ID}}" \ -d "phases[1][items][0][quantity]=1" \ -d "phases[1][items][0][tax_rates][0]=txr_2J8lmBBGHJYyuUJqF6QJtbBB" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=11" ``` ### Abonnement aus einem Zeitplan freigeben Sie können ein Abonnement aus einem Zeitplan [freigeben](https://docs.stripe.com/api/subscription_schedules/release.md), wenn der Status `not_started` oder `active` ist. Durch das Freigeben eines Abonnements bleibt es selbst bestehen, aber der Zeitplan und alle verbleibenden Phasen werden entfernt. ```curl curl -X POST https://api.stripe.com/v1/subscription_schedules/{{SUBSCRIPTIONSCHEDULE_ID}}/release \ -u "<>:" ``` ### Einen Zeitplan und ein Abonnement kündigen Wenn ein Abonnementplan ein aktives Abonnement hat, können Sie dieses und das zugehörige Abonnement sofort kündigen. Sie können einen Abonnementplan nur kündigen, wenn sein Status `not_started` oder `active` ist. ```curl curl -X POST https://api.stripe.com/v1/subscription_schedules/{{SUBSCRIPTIONSCHEDULE_ID}}/cancel \ -u "<>:" ``` ### Abrechnungszyklusanker zurücksetzen The Pacific rechnet seine langjährigen Kund/innen von Print-Abonnements an dem Tag des Monats ab, an dem sie ihr Abonnement ursprünglich abgeschlossen haben. Dieser Tag ist ihr Abrechnungszyklusanker. Wenn diese Kund/innen zur digitalen Version wechseln, legt The Pacific das Datum für den Wechsel auf den 1. des Folgemonats fest. Gleichzeitig wird der Abrechnungszyklusanker auf das gleiche Datum zurückgesetzt. Sie können überprüfen, ob der Abrechnunsgzyklusanker zurückgesetzt wird, indem Sie ein Abonnement mit dem unten stehenden Beispielcode erstellen. Wenn Sie sich das Abonnement im Dashboard ansehen, werden Sie feststellen, dass die anstehende Rechnung zahlbar wird, sobald das digitale Abonnement am 1. startet. Wenn Sie wissen möchten, zu welchem Zeitpunkt die Abrechnung erfolgt, wenn Sie den Anker nicht zurücksetzen, führen Sie den Beispielcode erneut aus. Sie müssen dabei die Zeile entfernen, die den Abrechnungszyklusanker auf `phase_start` festlegt. Ohne die entsprechende Zeile wird die anstehende Rechnung im Dashboard der Kundin/dem Kunden erst in einem Monat nach dem heutigen Datum zahlbar, auch wenn der Wechsel am 1. erfolgt. ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d "phases[0][items][0][price]={{PRICE_PRINT}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][end_date]=1690873200" \ -d "phases[1][items][0][price]={{PRICE_DIGITAL}}" \ -d "phases[1][items][0][quantity]=1" \ -d "phases[1][duration][interval]=month" \ -d "phases[1][duration][interval_count]=11" \ -d "phases[1][billing_cycle_anchor]=phase_start" ``` ### Ratenzahlungspläne Ratenzahlungspläne sind eine Möglichkeit für Kund/innen, über einen festgelegten Zeitraum Teilzahlungen zu leisten, bis der Gesamtbetrag beglichen ist. Wenn The Pacific beispielsweise neue Druckmaschinen kauft, werden die gebrauchten Maschinen an andere Verlagshäuser weiterverkauft. Kleinere Verlage verfügen häufig nicht über die finanziellen Mittel, um eine Druckmaschine im Voraus zu bezahlen, und nutzen stattdessen Ratenzahlungen. Für die meisten Druckmaschinen berechnet The Pacific 1.000 USD pro Monat, sodass ein wiederkehrender Preis entsteht: ```curl curl https://api.stripe.com/v1/prices \ -u "<>:" \ -d unit_amount=100000 \ -d currency=usd \ -d product=prod_Hh99apo1OViyGW \ -d "recurring[interval]=month" ``` Abhängig von der Bauart, dem Modell und dem Alter der Druckmaschine berechnet The Pacific unterschiedliche Beträge. In diesem Beispiel werden über 6 Monate monatlich 1.000 USD berechnet, was einem Gesamtbetrag von 6.000 USD entspricht. #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d start_date=now \ -d end_behavior=cancel \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][iterations]=6" ``` #### Customers v1 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=cancel \ -d "phases[0][items][0][price]={{PRICE_ID}}" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][iterations]=6" ``` Die Anzahl der `iterations` wird mit dem Intervall des Preises – in unserem Beispiel 6 monatliche Raten – multipliziert, um so die Anzahl der Abbuchungen für den/die Kund/in zu bestimmen. `end_behavior` bestimmt, was nach Ende der letzten Iteration mit dem Abonnement geschieht. Bei einem Ratenplan wird das Abonnement nicht länger benötigt, sodass `end_behavior` auf `cancel` festgelegt wird. In seltenen Fällen berechnet The Pacific weniger als die regulären 1.000 USD pro Monat. In diesen Szenarien verwendet das Unternehmen `price_data`, um einen einmaligen Preis zu erstellen. Im folgenden Beispiel wird ein Preis in Höhe von 500 USD erstellt, der monatlich für 6 Monate berechnet wird: #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d start_date=now \ -d end_behavior=cancel \ -d "phases[0][items][0][price_data][currency]=usd" \ -d "phases[0][items][0][price_data][product]=prod_Hh99apo1OViyGW" \ -d "phases[0][items][0][price_data][recurring][interval]=month" \ -d "phases[0][items][0][price_data][unit_amount]=50000" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][iterations]=6" ``` #### Customers v1 ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d start_date=now \ -d end_behavior=cancel \ -d "phases[0][items][0][price_data][currency]=usd" \ -d "phases[0][items][0][price_data][product]=prod_Hh99apo1OViyGW" \ -d "phases[0][items][0][price_data][recurring][interval]=month" \ -d "phases[0][items][0][price_data][unit_amount]=50000" \ -d "phases[0][items][0][quantity]=1" \ -d "phases[0][iterations]=6" ```