﻿# Abonnementpläne

Erfahren Sie mehr über Abonnementpläne und wie Sie diese verwenden können.

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&nbsp;% 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&nbsp;% 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).
2. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden.
3. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes.
4. Klicken Sie auf **Phase hinzufügen**.
5. 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.&nbsp;B. durch Änderung von Preisen oder Mengen).

2. **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).
2. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden.
3. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes.
4. 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.
5. 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**.
2. Klicken Sie in dem Abonnement auf **Bearbeiten** für die erste Phase.
3. 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.
4. 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).
2. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden.
3. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes.
4. Klicken Sie in einer neuen oder bestehenden Phase auf **+ Metadaten hinzufügen**.
5. 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

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

> #### Verwenden Sie die Accounts&nbsp;v2 API zum Darstellen von Kundinnen und Kunden
> 
> Die Accounts v2 API ist allgemein für Connect-Nutzer/innen verfügbar und für andere Stripe-Nutzer/innen in der öffentlichen Vorschau. Wenn Sie an der Accounts v2 Vorschau teilnehmen, müssen Sie eine [Vorschauversion](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) in Ihrem Code angeben.
> 
> Um der Vorschau von Accounts v2 beizutreten, gehen Sie zu [Kontovorschauen und -funktionen](https://dashboard.stripe.com/settings/previews) in Ihrem Dashboard und aktivieren Sie **wiederverwendbare Zahlungsmethoden für Global Payouts**.
> 
> Für die meisten Anwendungsfälle empfehlen wir, [Ihre Kundinnen und Kunden als vom Kunden bzw. von der Kundin konfigurierte Account-Objekte abzubilden](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md), anstatt [Customer](https://docs.stripe.com/api/customers.md)-Objekte zu verwenden.

#### Accounts&nbsp;v2

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer_account={{CUSTOMERACCOUNT_ID}}" \
  -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"
```

#### Customers&nbsp;v1

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "customer={{CUSTOMER_ID}}" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -d "from_subscription={{SUBSCRIPTION_ID}}"
```

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).
2. Fügen Sie eine neue Kundin oder einen neuen Kunden hinzu oder suchen Sie eine bestehende Kundin oder einen bestehenden Kunden.
3. Fügen Sie ein neues Produkt hinzu oder finden Sie ein bestehendes.
4. Legen Sie eine Dauer für die erste Phase des Abonnementplans fest.
5. Klicken Sie auf **Phase hinzufügen**.
6. 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.
7. 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.
8. Neue Phase speichern.
9. Nach Bedarf weitere Phasen hinzufügen.
10. 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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**.
2. Legen Sie eine Dauer für die aktuelle Phase des Abonnementplans fest, indem Sie ein Enddatum auswählen.
3. Klicken Sie auf **+Phase hinzufügen**.
4. 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.
5. 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.
6. Neue Phase speichern.
7. Nach Bedarf weitere Phasen hinzufügen.
8. 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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 auf Abonnementplan-Ebene (Phasen-Metadaten werden unterstützt)
- 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
2. 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 kopiert Stripe möglicherweise die folgenden übergeordneten Abonnement-Attribute in den Abonnementplan oder dessen [default_settings](https://docs.stripe.com/api/subscription_schedules/object.md#subscription_schedule_object-default_settings):

| 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.

Wenn Sie Ihre Kundinnen und Kunden als kundenseitig konfigurierte [Account](https://docs.stripe.com/api/v2/core/accounts/object.md)-Objekte anstelle von [Customer](https://docs.stripe.com/api/customers/object.md)-Objekten darstellen, ersetzen Sie den Parameter `customer` in diesen Codebeispielen durch den Parameter `customer_account`. Weitere Details finden Sie unter [Kundinnen und Kunden mithilfe von Account-Objekten darstellen](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md).

### 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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 seiner ursprünglichen Kundinnen und Kunden Abonnements ohne Zeitplan nutzen. 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 Rechnungsstellungszeitraum des Abonnements basiert. Die Erstellung eines Zeitplans aus einem bestehenden Abonnement erzeugt während der Migration keine Rechnungsposten für die anteilmäßige Verrechnung.

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "from_subscription={{SUBSCRIPTION_ID}}"
```

Beim Erstellen eines Abonnementplans entscheiden sich Kundinnen und Kunden möglicherweise dafür, Pläne am Ende ihres aktuellen Rechnungsstellungszeitraums zu ändern. Sehen Sie sich den Use Case [Ein Upgrade oder Downgrade für ein bestehendes Abonnement planen](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#changing-subscriptions) an, um mehr über den Prozess zu erfahren.

### 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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"
```

### Ein Upgrade oder Downgrade für ein bestehendes Abonnement planen

The Pacific bietet zwei Optionen für Printabonnements an: ein Basisabonnement mit Werbung und ein Premiumabonnement ohne Werbung. In diesem Beispiel möchte ein Kunde/eine Kundin mit einem Premiumabonnement am Ende des aktuellen Rechnungsstellungszeitraums ein Downgrade auf das Basisabonnement durchführen.

Verwenden Sie zwei Anfragen, um das Downgrade zu planen:

1. Erstellen Sie einen Abonnementplan aus dem Abonnement, indem Sie die Abonnement-ID an `from_subscription` übergeben. Stripe erstellt einen Plan mit einer Phase, die dem aktuellen Rechnungsstellungszeitraum und der Konfiguration des Abonnements entspricht.
2. Aktualisieren Sie den Plan, indem Sie die aktuelle Phase übergeben und eine zweite Phase mit dem Basispreis hinzufügen. Die zweite Phase beginnt automatisch, wenn die aktuelle Phase endet.

Das folgende End-to-End-Beispiel plant das Downgrade für ein Abonnement mit einem Posten und keinen weiteren Einstellungen auf Phasenebene. Um ein Upgrade zu planen, geben Sie den Upgrade-Preis in der zweiten Phase an.

Schließen Sie alle Posten und Einstellungen aus der aktuellen Phase in die Aktualisierung ein, z. B. Rabatte, Metadaten, Steuersätze und Testeinstellungen. Stripe hebt die Einstellungen für weggelassene Parameter auf. Wenn Sie einen Plan aktualisieren, übergeben Sie alle aktuellen und zukünftigen Phasen, die Sie beibehalten möchten.

#### 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('<<YOUR_SECRET_KEY>>')

# 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 "<<YOUR_SECRET_KEY>>:" \
  -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&nbsp;% 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:"
```

### 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 "<<YOUR_SECRET_KEY>>:"
```

### 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 "<<YOUR_SECRET_KEY>>:" \
  -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 "<<YOUR_SECRET_KEY>>:" \
  -d unit_amount=100000 \
  -d currency=usd \
  -d "product={{PRODUCT_ID}}" \
  -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&nbsp;v2

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -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&nbsp;v1

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -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&nbsp;v2

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -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]={{PRODUCT_ID}}" \
  -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&nbsp;v1

```curl
curl https://api.stripe.com/v1/subscription_schedules \
  -u "<<YOUR_SECRET_KEY>>:" \
  -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"
`