# Stripe Billing verwenden, um Abonnements für Commercetools zu aktivieren Konfigurieren Sie die Stripe-App für Composable Commerce, um Abonnements für jedes Commercetools-Produkt zu aktivieren. > Dieser Leitfaden gilt nur für die Stripe-App für Composable Commerce und behandelt nicht die Integration der Checkout-App. Sie können [Abonnements](https://docs.stripe.com/api/subscriptions.md) für jedes Commercetools-Produkt aktivieren, indem Sie die erforderlichen Attribute und Varianten im Abschnitt Product Catalog des Händlerzentrums in Commercetools definieren. Wenn eine Kundin/ein Kunde ein Abonnementprodukt kauft, verwendet die Integration Stripe Billing, um eine wiederkehrende Zahlung für diese Bestellung zu registrieren. Stripe verwaltet dieses Abonnement und versucht, bei jeder Bestellung in Commercetools den Einzug einer Zahlung auf wiederkehrender Basis. Wenn eine Zahlung fehlschlägt, kann Stripe den Kunden benachrichtigen und ihn auffordern, seine Abrechnungsdetails zu aktualisieren. Sie können dies in Ihren [Abonnement- und E-Mail Einstellungen](https://dashboard.stripe.com/settings/billing/automatic) konfigurieren. Wenn eine Zahlung erfolgreich ist, erhält Ihre Website eine [Webhook](https://docs.stripe.com/webhooks.md)-Benachrichtigung von Stripe. Das Modul erstellt automatisch eine neue Bestellung innerhalb jeder Abonnementverlängerung. Die App berechnet die Versandkosten und Steuerbeträge für jedes einzelne Produkt mit wiederkehrendem Abonnement vor jeder Wiederholung neu. ## Before you begin - Sie haben die Stripe Payment-App für Composable Commerce installiert. - Stripe Billing ist in Ihrem Stripe-Konto aktiviert. - Sie haben relevante Produkte und deren Varianten mit dem von der App generierten Produkttyp Zahlung-App-Abonnement-Informationen erstellt. - Ihr [Webhook-Endpoint verarbeitet](https://docs.stripe.com/webhooks.md#example-endpoint) die folgenden Ereignisse: - `invoice.paid` - `invoice.payment_failed` ![](https://b.stripecdn.com/docs-statics-srv/assets/stripe-composable-subscription-variants.25d631216cf8d4e5e31f75784f4a6cb6.png) Konfiguration der Produktvariante ## So aktivieren und konfigurieren Sie Abonnements [Abonnements](https://docs.stripe.com/subscriptions.md) werden automatisch aktiviert, wenn die wiederkehrenden Produkte in der Storefront von Commercetools veröffentlicht werden. Die Produkte werden als einmalig und wiederkehrend im Händlerzentrum von Commercetools konfiguriert. Um eine Produktvariante als Abonnement zu markieren, wenden Sie den benutzerdefinierten Typ **Zahlung-App-Abonnement-Informationen** an und definieren Sie die folgenden Felder: | Feld | Beschreibung | | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | `description` | Eine Beschreibung für das Abonnement | | `recurring_interval` | Definiert die Abrechnungshäufigkeit (`week`, `Woche`, `month`, `year`) | | `recurring_interval_count` | Gibt die Anzahl der Intervalle zwischen Abrechnungen an | | `off_session` | Ob das Abonnement Off-Session verwendet werden kann | | `collection_method` | Methode des Zahlungseinzugs (`charge_automatically` oder `send_invoice`) | | `days_until_due` | Optionale Anzahl von Tagen vor Fälligkeit der Rechnung (gilt nur, wenn die Einzugsmethode `send_invoice` ist) | | `cancel_at_period_end` | Optionale Markierung zum Stornieren am Ende des aktuellen Zeitraums | | `cancel_at` | Optionales spezifisches Datum und Uhrzeit für die Kündigung des Abonnements | | `billing_cycle_anchor_day` | Optionaler Tag des Monats für die Abrechnung | | `billing_cycle_anchor_time` | Optionale Tageszeit für die Abrechnung | | `billing_cycle_anchor_date` | Optionales spezifisches Datum und Uhrzeit für Abrechnungs-Anker | | `trial_period_days` | Optionale Testzeitraumlänge in Tagen | | `trial_end_date` | Optionales spezifisches Datum und Uhrzeit für das Ende des Testzeitraums | | `missing_payment_method_at_trial_end` | Optionales Verhalten bei fehlender Zahlungsmethode am Ende des Testzeitraums (`cancel`, `create_invoice` oder `pause`) | | `proration_behavior` | Optionales Verhalten bei anteilmäßiger Verrechnung bei Änderungen (`none`, `create_prorations` oder `always_invoice`) | ## Übersicht der Kernkomponenten Das Stripe-Abonnement wird hauptsächlich von den folgenden wesentlichen Diensten verwaltet: - **StripeSubscriptionService**: Hauptdienst für Abonnementvorgänge - **CtPaymentCreationService**: Führt die Erstellung von CommerceTools-Zahlungen durch - **StripePayment Service**: Verwaltet die Zahlungsabwicklung und Auftragserstellung - **SubscriptionEventConverter**: Konvertiert Stripe-Ereignisse in CT-Transaktionen ## Umgang mit anteilsmäßigen Verrechnungen ![](https://b.stripecdn.com/docs-statics-srv/assets/stripe-composable-subscriptions-proration.1155519547863ecf624f8aa9398f3a0e.png) Umgang mit anteilsmäßigen Verrechnungen Diese App unterstützt automatisch [anteilmäßige Verrechnungen](https://docs.stripe.com/billing/subscriptions/prorations.md) je nach Produktvariantenkonfiguration im Abschnitt Commercetools Product Catalog. Wenn aktiviert, trifft Folgendes zu: - Bei Downgrades wird automatisch eine Rückerstattung erstellt und als Teil der ursprünglichen Bestellung erfasst. - Bei Upgrades, für die eine zusätzliche Zahlung erforderlich ist, wird eine neue Bestellung mit dem anteiligen Betrag für den Rest des Rechnungsstellungszeitraum ausgelöst. ## Verfügbare Dienste Diese Composable-Commerce-App bietet die Kernlogik für die Abonnementverwaltung, einschließlich Support für gemischte Einkaufswagen und die Erstellung von Bestellungen. Die App zeigt die wesentlichen API-Endpoints an, die zur Erweiterung Ihrer Abonnement-Handel-Use-Cases erforderlich sind: Erstellen und Verwalten von Abos, Abrufen der Abonnementliste eines Kunden, Aktualisieren von Abonnements mit anderen Commercetools-Produkten und Kündigen von Abonnements. Sie können die App erweitern, indem Sie verpackte, vorgefertigte Dienste verwenden: | Endpoint-Service | Methode | Beschreibung | | ----------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------- | | `/setupIntent` | POST | Kann im Test-Modus verwendet werden, wo eine Zahlungsmethode für zukünftige Zahlungs-Recovery erfasst werden kann | | `/subscription/withSetupIntent` | POST | Abonnement mit Testeinrichtung für ein Commercetools-Produkt erstellen | | `/subscription` | POST | Abonnement erstellen (ohne Testversion) | | `/subscription/confirm` | POST | Zahlung des Abonnements bestätigen und abschließen | | `/subscription-api/:customerId` | GET | Alle Abonnements für einen bestimmten Kunden / eine bestimmte Kundin abrufen | | `/subscription-api/:customerId` | POST | Aktualisieren Sie das Abonnement eines Kunden durch ein Upgrade oder Downgrade mit einem neuen Commercetools-Produkt | | `/subscription-api/:customerId/:subscriptionId` | LÖSCHEN | Ein bestimmtes Abonnement für eine Kundin/einen Kunden kündigen |