# Preis bestehender Abonnements ändern So werden Abonnements mittels Preisänderung hoch- oder herabgestuft. In diesem Leitfaden wird die Verwendung der Subscriptions API zum Verwalten von Kundenabonnements beschrieben. Sie können auch das [Kundenportal](https://docs.stripe.com/customer-management.md) implementieren, um ein von Stripe gehostetes Dashboard bereitzustellen, über das Kundinnen und Kunden ihre Abonnements und Rechnungsdetails verwalten können. Wenn ein Kunde/eine Kundin sein/ihr Abonnement ändert, müssen Sie den Abonnement-Artikel entsprechend der neuen Auswahl ändern. Beispielsweise kann ein Kunde/eine Kundin ein Upgrade auf eine Premium-Stufe oder ein Downgrade auf eine Basic-Stufe vornehmen. Dadurch werden Sie aufgefordert, den zugrunde liegenden Preis dieses Abonnement-Artikels zu ersetzen. Hierfür stehen Ihnen verschiedene Methoden zur Verfügung. > #### Verwenden Sie die Accounts v2 API zum Darstellen von Kundinnen und Kunden > > 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/accounts-v2/use-accounts-as-customers.md). ## Kennungen abrufen Unabhängig von der gewählten Methode müssen Sie Kennungen für die zu aktualisierenden Objekte angeben. Verwenden Sie die Methode zum [Auflisten von Abonnements](https://docs.stripe.com/api/subscriptions/list.md) mit einem relevanten Filter (z. B. der Kunden-ID), um das zu aktualisierende Abonnement und den Artikel zu finden. ```curl curl -G https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} ``` Dadurch werden die Abonnements für den angegebenen Kunden/ die angegebene Kundin zurückgegeben, von denen Sie die Abonnement-ID (`id`), alle Abonnement-Artikel-IDs (`items.data.id`) und die Preis-ID für Abonnement-Artikel (`items.data.price.id`) abrufen können. ```json { "object": "list", "url": "/v1/subscriptions", "has_more": false, "data": [ {"id": "su_1NXPiE2eZvKYlo2COk9fohqA", "object": "subscription", "application": null, "application_fee_percent": null, "automatic_tax": { "enabled": false },"items": { "object": "list", "data": [ { "id": "si_OK3pbS1dvdQYJP", "object": "subscription_item", "billing_thresholds": null, "created": 1690208774, "metadata": {},"price": { "id": "price_1NOhvg2eZvKYlo2CqkpQDVRT", "object": "price" } } ] } } ] } ``` ## Abonnement aktualisieren [Abonnement aktualisieren](https://docs.stripe.com/api.md#update_subscription) mit folgenden Parametern: - `item ID`: Sie müssen den Abonnement-Artikel angeben, um den aktuellen Preis durch den neuen Preis zu ersetzen. Andernfalls wird durch die Aktualisierung des Abonnements mit einem neuen Preis ein neuer Abonnement-Artikel *hinzugefügt*, sodass beide Preise für das Abonnement aktiv sind. - `item price`: Geben Sie die Kennung für den Ersatzpreis an. - `item quantity`: Durch das Aktualisieren eines Abonnementpreises wird die Menge automatisch auf den Standardwert von `1` zurückgesetzt. Wenn die vorhandene Abonnementmenge nicht `1` ist und Sie diesen Wert beibehalten möchten, müssen Sie ihn in die Aktualisierung aufnehmen. ```curl curl https://api.stripe.com/v1/subscriptions/sub_xxxxxxxxx \ -u "<>:" \ -d "items[0][id]={{SUB_ITEM_ID}}" \ -d "items[0][price]={{NEW_PRICE_ID}}" ``` > Sie müssen den Abonnement-Artikel angeben, um den aktuellen Preis durch den neuen Preis zu ersetzen. Geschieht dies nicht, wird der neue Preis *hinzugefügt*, sodass beide Preise für das Abonnement aktiv sind. Alternativ können Sie den aktuellen Abonnement-Artikel löschen und einen neuen Abonnement-Artikel mit dem aktualisierten Preis erstellen. ```curl curl https://api.stripe.com/v1/subscriptions/sub_xxxxxxxxx \ -u "<>:" \ -d "items[0][id]={{SUB_ITEM_ID}}" \ -d "items[0][deleted]=true" \ -d "items[1][price]={{NEW_PRICE_ID}}" ``` ## Abonnement-Artikel aktualisieren [Aktualisieren Sie ein Abonnement-Posten](https://docs.stripe.com/api/subscription_items/update.md) mit den folgenden Parametern: - [Preis](https://docs.stripe.com/api/subscription_items/update.md#update_subscription_item-price): Geben Sie die Kennung für den Wiederbeschaffungspreis an. - [Menge](https://docs.stripe.com/api/subscription_items/update.md#update_subscription_item-quantity): Wenn Sie den Preis eines Abonnements aktualisieren, wird die Menge standardmäßig automatisch auf `1` zurückgesetzt. Wenn die bestehende Abonnementmenge von `1` abweicht und Sie diesen Wert beibehalten möchten, müssen Sie ihn explizit in der Aktualisierung angeben. Verwenden Sie diese Option, wenn Sie auf Abonnement-Ebene keine weiteren Änderungen vornehmen müssen. ```curl curl https://api.stripe.com/v1/subscription_items/si_xxxxxxxxx \ -u "<>:" \ -d price={{NEW_PRICE_ID}} ``` ## Abrechnungszeiträume Wenn für beide Preise derselbe Abrechnungszeitraum (die Kombination aus `interval` und `interval_count`) gilt, wird für das Abonnement derselbe Abrechnungszeitraum beibehalten. Wenn unterschiedliche Abrechnungszeiträume für die Preise gelten, wird der neue Preis ab dem Tag der Umstellung gemäß dem neuen Intervall abgerechnet. Beispiel: Bei einer Umstellung von einem monatlichen Abonnement auf ein anderes wird das Abrechnungsdatum nicht geändert. Bei einer Umstellung von einem monatlichen auf ein jährliches Abonnement ändert sich das Abrechnungsdatum in das Datum der Umstellung. Wenn bei einer Umstellung von einem monatlichen Abonnement auf ein anderes monatliches Abonnement ein Testzeitraum eingeführt wird, wird das Abrechnungsdatum ebenfalls (auf das Ende des Testzeitraums) verschoben. ### Abonnementpläne Wenn Sie ein Abo am Ende des Rechnungsstellungszeitraums ändern, sollten Sie die Verwendung eines[Abonnementplans](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#changing-subscriptions) in Betracht ziehen, um den Übergang zu verwalten. Bei der Nutzung von Abonnementplänen sollten Sie [Best Practices](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#subscription-schedule-sub-updates) befolgen, um unerwartete Überschreibungen von Abos zu vermeiden. ## Nutzungsbasierte Abrechnung mit Abrechnungszählern Details zu Aktualisierungen zur Zyklusmitte für Preise, die mit einem Abrechnungszähler verknüpft sind, werden im Abschnitt [Preismodelle](https://docs.stripe.com/billing/subscriptions/usage-based/manage-billing-setup.md#mid-cycle-updates) beschrieben. Das Übergeben von `clear_usage` bei der Aktualisierung eines Preises mit einem Abrechnungszähler hat keine Auswirkungen. ## Nutzungsbasierte Abrechnung mit Nutzungsdaten (Legacy) Wenn Sie einen nutzungsbasierten Preis haben, der durch ältere Nutzungsdatensätze abgesichert ist, und Sie auf einen neuen Preis für Nutzungsdatensätze aktualisieren, wird die Nutzung auf den neuen Preis übertragen. ```curl curl https://api.stripe.com/v1/subscriptions/sub_xxxxxxxxx \ -u "<>:" \ -d "items[0][id]={{SUB_ITEM_ID}}" \ -d "items[0][price]={{NEW_PRICE_ID}}" \ -d "items[0][clear_usage]=true" ``` ## Anteilmäßige Verrechnung Wird ein Abonnement geändert, führt dies häufig zu einer [anteiligen Verrechnung](https://docs.stripe.com/billing/subscriptions/prorations.md), um den neuen Preis auf die verbleibenden Tage des Abrechnungszeitraums anzuwenden. Sie können Ihre Kundinnen und Kunden auf zusätzliche Ausgaben vorbereiten, die sich aus einer Preisänderung ergeben, indem Sie eine [Vorschau einer anteilmäßigen Verrechnung anzeigen](https://docs.stripe.com/billing/subscriptions/prorations.md#preview-proration). Alternativ können Sie die [anteilmäßige Verrechnung deaktivieren](https://docs.stripe.com/billing/subscriptions/prorations.md#disable-prorations). ### Sofortige Zahlung Stripe startet sofort einen Zahlungsversuch, wenn der Abrechnungszyklusanker eines Abos zurückgesetzt wird. Erfahren Sie mehr über das [Zurücksetzen des Abrechnungszyklusankers eines Abos](https://docs.stripe.com/billing/subscriptions/billing-cycle.md#changing). Wenn die Abrechnung sofort erfolgt, die erforderliche Zahlung jedoch fehlschlägt, ist die Anfrage zur Abonnementänderung erfolgreich und das Abonnement wird zu `past_due`. Um eine Kundin/einen Kunden sofort für eine Änderung an einem Abo im gleichen Rechnungsstellungszeitraum zu belasten, setzen Sie `proration_behavior` auf `always_invoice`. Dies berechnet die anteilmäßige Anpassung und erstellt anschließend sofort eine Rechnung, nachdem die Änderung vorgenommen wurde. Kombinieren Sie diese Einstellung mit [pending updates](https://docs.stripe.com/billing/subscriptions/pending-updates.md), damit das Abo nur aktualisiert wird, wenn die Zahlung der neuen Rechnung erfolgreich ist. ### Anteilmäßige Verrechnung von Guthaben Anteilmäßige Verrechnungen werden ausgestellt, wenn Kund/innen ihre Abonnements herabstufen oder Posten vor dem Ende des Rechnungsstellungszeitraums stornieren. Stripe bietet zwei Ansätze zur Berechnung anteilmäßiger Verrechnungen, abhängig von der Einstellung [billing_mode](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_mode) Ihres Abonnements. Weitere Informationen finden Sie unter [Anteilmäßige Verrechnung](https://docs.stripe.com/abrechnung/abonnements/prorations.md#credit-prorations). ### Handhabung von Nullbetragspreisen und -mengen Wenn Sie für einen Kunden/eine Kundin ein Abonnement mit einem Betrag von Null abgeschlossen haben (z. B. im Rahmen einer Testversion), wird durch die Änderung des Preises auf einen Betrag ungleich Null eine Rechnung erstellt und der [Abrechnungszeitraum](https://docs.stripe.com/billing/subscriptions/change-price.md#billing-periods) auf das Datum der Änderung zurückgesetzt. Wenn Sie für einen Kunden/eine Kundin einen Preis mit einem Betrag ungleich Null und einer Menge mit einem Betrag von Null abonniert haben, wird durch die Änderung der Menge in einen Betrag ungleich Null weder eine Rechnung erstellt noch der Abrechnungszeitraum zurückgesetzt. ## See also - [Rechnungsstellungszeitraum (Zyklus)](https://docs.stripe.com/billing/subscriptions/billing-cycle.md) - [Abbruch und Unterbrechung](https://docs.stripe.com/billing/subscriptions/cancel.md) - [Update Subscription API](https://docs.stripe.com/api.md#update_subscription)