Abonnement-Integration erstellen
Abonnements und wiederkehrende Zahlungen erstellen und verwalten
Logo, Bilder und Farben anpassen.
Vorgefertigte Formulare verwenden, um Zahlungen einzuziehen und Abonnements zu verwalten.
Kopieren Sie eine Beispiel-Integration aus GitHub.
Eine ausführliche Version dieses Leitfadens finden Sie im Quickstart zur Billing-Integration.
Demo anzeigen, um ein gehostetes Beispiel zu sehen.
Was Sie entwickeln
In diesem Leitfaden wird erläutert, wie Sie mit Stripe Checkout monatliche Abonnements mit festen Preisen verkaufen.
Dieser Leitfaden bietet Informationen zu den folgenden Vorgehensweisen:
- Modellieren Sie Ihr Unternehmen, indem Sie einen Produktkatalog erstellen
- Fügen Sie eine Checkout-Sitzung zu Ihrer Seite hinzu, einschließlich einer Schaltfläche sowie Erfolgs- und Abbruchseiten
- Überwachen Sie Abonnement-Ereignisse und stellen Sie den Zugang zu Ihrer Dienstleistung bereit
- Richten Sie das Kundenportal ein.
- Fügen Sie eine Kundenportal-Sitzung zu Ihrer Seite hinzu, einschließlich einer Schaltfläche und einer Umleitung
- Lassen Sie Ihre Kund/innen über das Portal ihre eigenen Abonnements verwalten
Nachdem Sie die Integration abgeschlossen haben, können Sie sie auf Folgendes erweitern:
- Steuern anzeigen
- Rabatte anwenden
- Kundinnen/Kunden einen kostenlosen Testzeitraum anbieten
- Weitere Zahlungsmethoden hinzufügen
- Die gehostete Rechnungsseite integrieren
- Checkout im Einrichtungsmodus verwenden
- Nutzungsbasierte Abrechnung einrichten, Preisstaffelung und nutzungsbasierte Preisgestaltung
- Anteilsmäßige Verrechnung verwalten
- Kundinnen/Kunden gestatten, mehrere Produkte zu abonnieren
- Berechtigungen integrieren, um den Zugriff auf die Funktionen Ihres Produkts zu verwalten
Stripe einrichten
Installieren Sie den Stripe-Client Ihrer Wahl:
Installieren Sie die Stripe-CLI (optional). Die CLI bietet Webhook-Tests und kann zum Erstellen Ihrer Produkte und Preise ausgeführt werden.
Weitere Installationsoptionen finden Sie unter Mit der Stripe-CLI loslegen.
Preismodell erstellenDashboard oder Stripe-CLI
Erstellen Sie Ihre Produkte und die zugehörigen Preise im Dashboard oder mit der Stripe-CLI.
In diesem Beispiel wird ein Festpreisdienst mit zwei verschiedenen Service-Level-Optionen verwendet: Basic und Premium. Für jede Service-Level-Option müssen Sie ein Produkt und einen wiederkehrenden Preis erstellen. (Wenn Sie eine einmalige Gebühr, z. B. für die Einrichtung, hinzufügen möchten, erstellen Sie ein drittes Produkt mit einem einmaligen Preis. Der Einfachheit halber verzichtet dieses Beispiel auf eine einmalige Gebühr).
In diesem Beispiel wird jedes Produkt in monatlichen Intervallen abgerechnet. Der Preis für das Basic-Produkt beträgt 5 USD. Der Preis für das Premium-Produkt beträgt 15 USD.
Wenn Sie mehrere Abrechnungsintervalle anbieten, können Sie mit Checkout für Kundinnen/Kunden Upselling auf längere Zahlungsintervalle durchführen und so Ihre Umsätze im Voraus steigern.
Informationen zu anderen Preismodellen finden Sie in den Billing-Beispielen.
Checkout-Sitzung erstellenClient und Server
Fügen Sie Ihrer Website eine Schaltfläche zum Bezahlen hinzu, über die ein serverseitiger Endpoint aufgerufen wird, um eine Checkout-Sitzung zu erstellen.
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <!-- Note: If using PHP set the action to /create-checkout-session.php --> <input type="hidden" name="priceId" value="price_G0FvDp6vZvdwRZ" /> <button type="submit">Checkout</button> </form> </body> </html>
Definieren Sie im Backend Ihrer Anwendung einen Endpoint, der die Sitzung erstellt, die von Ihrem Frontend aufgerufen werden kann. Sie brauchen dazu folgende Werte:
- Die Preis-ID des Abonnements, das die Kundin/der Kunde abschließt (Ihr Frontend übergibt diesen Wert)
- Ihre
success_
, eine Seite auf Ihrer Website, an die Kund/innen nach Abschluss der Zahlung weitergeleitet werdenurl
Optional können Sie cancel_
angeben, eine Seite auf Ihrer Website, zu der Checkout Ihre Kundinnen und Kunden zurückleitet, wenn sie den Zahlungsvorgang abbrechen. Sie können auch einen Abrechnungszyklusanker für Ihr Abonnement in diesem Aufruf konfigurieren.
Wenn Sie im 2. Schritt einen einmaligen Preis erstellt haben, übergeben Sie auch die ID dieses Preises. Leiten Sie Ihre Kund/innen nach dem Erstellen einer Checkout-Sitzung zu der in der Antwort zurückgegebenen URL weiter.
Notiz
Sie können lookup_keys verwenden, um Preise anstelle von Preis-IDs abzurufen. Wie dies aussehen kann, erfahren Sie in der Beispielanwendung.
In diesem Beispiel wurde die success_
durch die Sitzungs-ID ergänzt. Weitere Informationen zu dieser Vorgehensweise finden Sie in der Dokumentation zum Anpassen Ihrer Bestätigungsseite.
Aktivieren Sie in Ihrem Dashboard die Zahlungsmethoden, die Sie von Ihren Kundinnen und Kunden akzeptieren möchten. Checkout unterstützt mehrere Zahlungsmethoden.
Abonnements bereitstellen und überwachenServer
Wenn das Abonnement erfolgreich abgeschlossen wurde, kehrt die Kundin/der Kunde über die success_
auf Ihre Website zurück, wo die Webhooks checkout.
ausgelöst werden. Nachdem Sie das Ereignis checkout.
empfangen haben, können Sie das Abonnement bereitstellen. Stellen Sie das Abonnement daraufhin jeden Monat (bei monatlicher Abrechnung) bereit, sobald Sie das Ereignis invoice.
empfangen haben. Falls Sie das Ereignis invoice.
empfangen, benachrichtigen Sie Ihre Kundin/Ihren Kunden und lassen Sie die Zahlungsmethode im Kundenportal aktualisieren.
Um den nächsten Schritt für die Logik Ihres Systems zu bestimmen, überprüfen Sie den Ereignistyp und analysieren Sie die Nutzlast jedes Ereignisobjekts, z. B. invoice.
. Speichern Sie die Ereignisobjekte subscription.
und customer.
zur Überprüfung in Ihrer Datenbank.
Zu Testzwecken können Sie Ereignisse im Dashboard überwachen. Richten Sie für die Produktion einen Webhook-Endpoint ein und abonnieren Sie die entsprechenden Ereignistypen. Wenn Sie Ihren Schlüssel STRIPE_
nicht kennen, klicken Sie auf den Webhook im Dashboard, um ihn anzuzeigen.
Überwachen Sie mindestens folgende Ereignistypen:
Ereignisname | Beschreibung |
---|---|
checkout. | Wird übermittelt, wenn Kund/innen in Checkout auf die Schaltfläche „Abonnieren“ oder „Bezahlen“ klicken, um Sie über einen neuen Kauf zu informieren. |
invoice. | Wird bei jedem Abrechnungsintervall übermittelt, wenn eine Zahlung erfolgreich war. |
invoice. | Wird bei jedem Abrechnungsintervall übermittelt, wenn Problem mit der Zahlungsmethode Ihrer Kund/innen vorliegt. |
Weitere zu überwachende Ereignisse finden Sie im Abschnitt Abonnement-Webhooks.
Das Kundenportal konfigurierenDashboard
Über das Kundenportal können Ihre Kundinnen/Kunden ihre bestehenden Abonnements und Rechnungen direkt verwalten.
Verwenden Sie das Dashboard, um das Portal zu konfigurieren. Stellen Sie sicher, dass Sie es mindestens so konfigurieren, dass Kundinnen/Kunden ihre Zahlungsmethoden aktualisieren können. Informationen zu weiteren Einstellungen, die Sie konfigurieren können, finden Sie unter Kundenportal integrieren.
Eine Portalsitzung erstellenServer
Definieren Sie einen Endpoint, der die Kundenportal-Sitzung erstellt, die von Ihrem Frontend aufgerufen wird. Hier steht CUSTOMER_
für die von einer Checkout-Sitzung erstellte Kunden-ID, die Sie beim Verarbeiten des Webhooks checkout.
gespeichert haben. Sie können auch im Dashboard einen Standard-Weiterleitungslink für das Portal festlegen.
Übergeben Sie einen optionalen return_
-Wert für die Seite auf Ihrer Website, auf die Ihre Kunden und Kundinnen nach der Verwaltung eines Abonnements weitergeleitet werden:
Kund/innen an das Kundenportal sendenClient
Fügen Sie im Frontend eine Schaltfläche hinzu, die über die success_
auf das Kundenportal verweist:
<html> <head> <title>Manage Billing</title> </head> <body> <form action="/customer-portal" method="POST"> <!-- Note: If using PHP set the action to /customer-portal.php --> <button type="submit">Manage Billing</button> </form> </body> </html>
Nach dem Verlassen des Kundenportals kehrt Ihr/e Kund/in über die return_
auf Ihre Website zurück. Überwachen Sie Ihre Webhooks, um den Status des Kundenabonnements zu verfolgen.
Wenn Sie das Kundenportal so konfigurieren, dass Aktionen wie die Kündigung eines Abonnements zugelassen werden, finden Sie unter Kundenportal integrieren weitere zu überwachende Ereignisse.
Integration testen
Zahlungsmethoden testen
Verwenden Sie die folgende Tabelle, um verschiedene Zahlungsmethoden und -szenarien zu testen.
Zahlungsmethode | Szenario | So führen Sie den Test durch |
---|---|---|
BECS-Lastschrift | Ihr/e Kund/in zahlt erfolgreich mit dem BECS-Lastschriftverfahren. | Füllen Sie das Formular mit der Kontonummer 900123456 und BSB 000-000 aus. Die bestätigte PaymentIntent geht zunächst in den Status processing über und dann drei Minuten später in den Status succeeded . |
BECS-Lastschrift | Die Zahlung Ihres/Ihrer Kund/in schlägt fehl mit Code account_ fehl. | Füllen Sie das Formular mit der Kontonummer 111111113 und BSB 000-000 aus. |
Kreditkarte | Die Kartenzahlung ist erfolgreich und es ist keine Authentifizierung erforderlich. | Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer 4242 4242 4242 4242 mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an. |
Kreditkarte | Für die Kartenzahlung ist eine Authentifizierung erforderlich. | Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer 4000 0025 0000 3155 mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an. |
Kreditkarte | Die Karte wird mit einem Ablehnungscode wie insufficient_ abgelehnt. | Füllen Sie das Kreditkartenformular aus und geben Sie die Kreditkartennummer 4000 0000 0000 9995 mit beliebiger Gültigkeitsdauer, CVC und Postleitzahl an. |
SEPA-Lastschrift | Ihr/e Kund/in zahlt erfolgreich mit dem SEPA-Lastschriftverfahren. | Füllen Sie das Formular mit der Kontonummer AT321904300235473204 aus. Die bestätigte PaymentIntent geht zunächst in den Status „wird verarbeitet“ und dann drei Minuten später in den Status „erfolgreich“ über. |
SEPA-Lastschrift | Der Status der PaymentIntent Ihres/Ihrer Kund/in wechselt von processing zu requires_ . | Füllen Sie das Formular mit der Kontonummer AT861904300235473202 aus. |
Ereignisse überwachen
Richten Sie Webhooks ein, um Abonnementänderungsereignisse wie Upgrades und Kündigungen zu überwachen. Erfahren Sie mehr über Abonnement-Webhooks. Sie können Ereignisse im Dashboard oder mit der Stripe-CLI anzeigen.
Weitere Einzelheiten zum Testen Ihrer Billing-Integration finden Sie im Leitfaden.