Integrieren Sie das Kundenportal mit der API
Erfahren Sie, wie Sie das Kundenportal mit der Stripe-API integrieren.
Mit dem Kundenportal bieten Sie Ihren Kund/innen Verwaltung von Abonnements, Abrechungs- und Rechnungsdetails, ohne sie selbst entwickeln zu müssen. Nachdem Sie das Portal konfiguriert und integriert haben, werden Kund/innen zu einem Dashboard mit Co-Branding weitergeleitet. Dort können sie ihr Konto verwalten und Funktionen nutzen, die Sie vorher konfiguriert haben.
So integrieren Sie Ihre Anwendung in das Kundenportal:
- Konfigurieren Sie die Funktionen und die Nutzeroberfläche (UI) des Portals. Dies können Sie im Dashboard tun.
- Implementieren Sie eine Weiterleitung, um das Portal in Ihre Anwendung zu integrieren.
- Überwachen Sie Webhooks, um bei Änderungen an Kundenabonnements und Zahlungsmethoden informiert zu werden.
- Gehen Sie live, um das Portal in Ihrer Produktionsumgebung zu verwenden.
Oder klonen Sie eines unserer Beispielprojekte:
Sie können Portalsitzungen optional so anpassen, dass unterschiedliche Funktionen je nach Kundin/Kunde zur Verfügung stehen.
Konfigurieren Sie das Portal
First, you need to register for a Stripe account.
Before you integrate the customer portal, use the Dashboard to define what your users can do with the portal. Choose your settings for sandboxes and live mode, based on your product and price catalog.
Häufiger Fehler
Wenn Sie das Kundenportal in Verbindung mit Stripe Connect nutzen, müssen Sie darauf achten, dass Sie das Kundenportal für die Plattform und nicht für ein verbundenes Konto konfigurieren.
If you want to create multiple portal configurations for different sets of customers (or if you’re a Connect platform and want to manage configurations for your connected accounts), you can do so using the API:
Produktkatalog einrichten
If you allow customers to upgrade, downgrade, or change the quantities of their subscriptions, you must also set a product catalog. This includes the products and prices that your customers can upgrade or downgrade to, and the subscriptions they can update quantities on. See how to create a product for more details about creating products and prices. If you’re using the customer portal for invoicing only, you don’t need to set a product catalog.
Das Portal zeigt die folgenden Attribute Ihres Produktkatalogs an:
- Product name and description—These attributes are editable in the Dashboard and API.
- Quantity restrictions per product—These attributes are editable in the Dashboard.
- Price amount, currency, and billing interval—These attributes are fixed, and you can only set them when you create them in the Dashboard and API.
Erfassung von Steuer-IDs aktivieren
If you use Stripe Tax to automatically collect taxes for subscriptions or invoices, you can let customers set and update their tax IDs in the customer portal. Stripe Billing adds the tax IDs to the customers’ invoices. To allow customers to set their tax IDs, go to the Customer portal settings and toggle on Tax ID. For more information, see how customer tax IDs work with subscriptions and invoices.
Hier erfahren Sie, wie Sie Stripe Tax einrichten, Steuern für wiederkehrende Zahlungen erheben, Steuern in Ihren nutzerdefinierten Zahlungsabläufen einziehen und Steuersätze für Posten und Rechnungen festlegen.
Vorschau und Test
As you configure your settings, click Preview to preview the portal. This launches a read-only version of the portal that lets you see how your customers might manage their subscriptions and billing details.
Nachdem Sie Ihre Einstellungen gespeichert haben, können Sie das Portal starten und mit einem Kunden/einer Kundin in einer Sandbox testen. Navigieren Sie im Dashboard zu einer Kundin/einem Kunden, klicken Sie auf Aktionen und wählen Sie dann Kundenportal öffnen aus.
You can only preview the portal as a read-only version when your Dashboard is in a sandbox. If you can’t preview and test the portal, check your settings to make sure that your configuration is saved in a sandbox. For previewing and testing to work, you also need to have edit permissions in the Dashboard.
Weiterleitung auf Ihrer Seite implementierenClientseitigServerseitig
Eine Portalsitzung dient als Einstiegspunkt in das Kundenportal. Sie liefert einen eindeutigen, temporären Link zum Portal. Wenn Kund/innen ihre Rechnungen oder Abrechnung verwalten möchten, können Sie eine neue Portalsitzung erstellen und die Kund/innen zur url
der Sitzung weiterleiten.
Fügen Sie auf Ihrer Website eine Schaltfläche hinzu, über die die Kund/innen das Portal aufrufen können. Verwenden Sie eine POST-Anfrage, um eine Portalsitzung zu erstellen:
<form method="POST" action="/create-customer-portal-session"> <button type="submit">Manage billing</button> </form>
Fügen Sie als Nächstes einen Endpoint hinzu, über den eine Portalsitzung erstellt wird und Ihre Kund/innen weitergeleitet werden. Authentifizieren Sie Kund/innen auf Ihrer Website, bevor Sie Sitzungen für sie erstellen. Zum Erstellen einer Sitzung benötigen Sie die ID der Kundin/des Kunden und eine return_
, die erforderlich ist, falls in der Dashboard-Konfiguration keine Standard-Rückgabe-URL festgelegt ist.
Wenn Sie eine Portalsitzung erstellen, gibt Stripe das portal session object
zurück, das die kurzlebige URL der Sitzung enthält, die Ihre Kund/innen für den Zugriff auf das Kundenportal verwenden.
Webhooks abhörenServerseitig
Wenn der Abonnementumfang geändert oder Abonnements gekündigt werden, müssen Sie sicherstellen, dass die Kund/innen danach nur Zugriff auf die Produkte oder Dienste haben, die sie tatsächlich abonniert haben. Über Webhooks benachrichtigt Stripe Ihre Integration über diese Änderungen. Sehen Sie sich im Event
-Objekt die ID für das Abonnement oder die Kundin/den Kunden an, um herauszufinden, für welche Kundin/welchen Kunden das Ereignis gilt.
Stripe benachrichtigt Ihre Integration auch über Webhooks, wenn eine Rechnung bezahlt wird. Sehen Sie sich im Event
-Objekt die ID für die Rechnung oder die Kundin/den Kunden an, um herauszufinden, für welche Kundin/welchen Kunden das Ereignis gilt.
Wenn Sie noch keinen Webhook-Endpoint für Stripe eingerichtet haben, können Sie die Dokumentation zu Webhooks von Stripe lesen, um loszulegen und über die beschriebenen Ereignisse informiert zu werden.
Ereignis | Beschreibung |
---|---|
Beobachten Sie dies, um Abonnement-Upgrades und -Downgrades zu überwachen. Überprüfen Sie für Upgrades die Eigenschaft Wenn eine Kundin/ein Kunde den Preisplan für ein Abonnement innerhalb eines Testabonnements ändert, endet das Testabonnement sofort beim Wechsel zum neuen Preis. | |
customer.subscription.updated | Beobachten Sie dies, um Änderungen an der Abonnementmenge zu überwachen. Wenn Sie dieses Ereignis erhalten, prüfen Sie das Attribut subscription. , um die Abonnementmenge der Kundin/des Kunden herauszufinden. Gewähren Sie dann Zugriff auf die neue Menge. |
Beobachten Sie dies, um Abonnementkündigungen zu überwachen. Wenn Sie dieses Ereignis erhalten, entziehen Sie dem/der Kund/in den Zugriff auf das Produkt. Falls das Portal so konfiguriert ist, dass Abonnements zum Ende eines Abrechnungszeitraums gekündigt werden, überwachen Sie auf das Ereignis customer.subscription.updated, um rechtzeitig über Kündigungen informiert zu werden. Wenn Falls die Kund/innen ihre Meinung ändern, können sie ihre Abonnements vor Ende des Abrechnungszeitraums reaktivieren. In diesem Fall wird das Ereignis customer.subscription.updated übermittelt. Wenn | |
payment_method.attached | Tritt auf, wenn ein/e Kund/in eine Zahlungsmethode hinzufügt. |
payment_method.detached | Tritt auf, wenn ein/e Kund/in eine Zahlungsmethode entfernt. |
customer.updated | Überprüfen Sie die Eigenschaft invoice_ , um die Zahlungsmethode zu finden, die ein/e Kund/in als neue Standardzahlungsmethode ausgewählt hat. Wenn Sie Abonnements haben, die die Standardzahlungsmethode auf Kundenebene außer Kraft setzen, können Kund/innen diese Außerkraftsetzung entfernen. Überprüfen Sie das Attribut default_ des Abonnements, wenn Sie dieses Ereignis erhalten, um festzustellen, ob die Außerkraftsetzung entfernt wurde. Verwenden Sie diesen Webhook, um alle relevanten Informationen in Ihrer Datenbank zu aktualisieren. Alle Aktualisierungen dürfen nur als Änderungen der Rechnungsinformationen behandelt werden. Verwenden Sie die Rechnungs-E-Mail-Adresse des/der Kund/in nicht als Anmeldedaten. |
customer.tax_id.created | Tritt auf, wenn Kund/innen ihre Steuer-IDs verwalten. Stripe kann einige Arten von Steuer-IDs validieren. Weitere Informationen finden Sie im Leitfaden zu Steuer-IDs. |
customer.tax_id.deleted | Tritt auf, wenn Kund/innen ihre Steuer-IDs verwalten. Stripe kann einige Arten von Steuer-IDs validieren. Weitere Informationen finden Sie im Leitfaden zu Steuer-IDs. |
customer.tax_id.updated | Beobachten Sie dies, um Validierungs-Updates zu Steuer-IDs von Kund/innen zu erhalten. Weitere Informationen finden Sie im Leitfaden zu Steuer-IDs. |
billing_portal.configuration.created | Tritt auf, wenn eine Konfiguration erstellt wird. |
billing_portal.configuration.updated | Tritt auf, wenn eine Konfiguration aktualisiert wird. |
billing_portal.session.created | Tritt auf, wenn eine Portalsitzung erstellt wird. |
Live gehen
Testen Sie das Portal, bevor Sie es in den Produktionsbetrieb integrieren. Führen Sie folgende Schritte aus, wenn Sie bereit für das Go-Live sind:
Wenn Sie eine Portalsitzung erstellen, gibt Stripe das portal session
-Objekt zurück, das die kurzlebige URL der Sitzung enthält, die Ihre Kundinnen/Kunden für den Zugriff auf das Kundenportal verwenden müssen. Sie können auch einen gemeinsam nutzbaren Link für jede Konfiguration des Portals mit dem Parameter login_page erstellen.
- Deaktivieren Sie Testdaten anzeigen im Dashboard.
- Konfigurieren Sie das Portal im Live-Modus.
- Fügen Sie die Webhooks im Live-Modus hinzu.
Stripe unterhält mehrere verschiedene Portalkonfigurationen: eine für den Live-Modus und eine für jede Sandbox. Damit Sie Ihre Integration problemlos testen können, wirken sich Änderungen in einem Modus nicht auf die Konfiguration im anderen Modus aus.