# Deep-Links im Kundenportal Entwerfen Sie optimierte Kundenabläufe mit der Kundenportal-API. 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/connect/use-accounts-as-customers.md). Mit dem [Kundenportal](https://docs.stripe.com/customer-management.md) können Sie Ihren Kundinnen und Kunden die Verwaltung von Abonnements und Zahlungsmethoden anbieten, ohne es selbst erstellen zu müssen. Wenn Sie Kundenaktionen optimieren und die Arbeitsabläufe zwischen Ihrer eigenen App und Stripe weiter anpassen möchten, können Sie einen [Flow](https://docs.stripe.com/api/customer_portal/sessions/object.md#portal_session_object-flow) für das Kundenportal erstellen. ## Kundenportalabläufe Ein *Ablauf* ist ein anpassbarer Deep-Link zum Kundenportal. Portalabläufe bieten Ihnen folgende Möglichkeiten: 1. Deep-Link direkt zu der Seite mit der angegebenen Aktion, die Ihre Kund/innen ausführen müssen. Die Navigationskomponenten für den Zugriff auf den Rest des Kundenportals sind ausgeblendet, sodass sich der/die Kund/in auf eine einzelne Aktion konzentrieren kann. 1. Passen Sie das Weiterleitungsverhalten an, nachdem der/die Kund/in die Aktion abgeschlossen hat. Leiten Sie ihn/sie sofort zu Ihrer eigenen URL, zu einer gehosteten Bestätigungsseite oder zurück zur Portal-Startseite weiter. 1. Personalisieren Sie den Ablauf mit interessanten Optionen wie vorausgefüllten Promo-Codes oder nutzerdefinierten Nachrichten. ### Ablauftypen Der [Typ](https://docs.stripe.com/api/customer_portal/sessions/create.md#create_portal_session-flow_data-type) eines Ablaufs definiert, welchen einzelnen Ablauf oder welche Aktion Ihr Kunde/Ihre Kundin ausführt. Nachfolgend finden Sie die derzeit verfügbaren Ablauftypen: | Ablauftyp | Beschreibung | Beispiel | | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `payment_method_update` | Verwenden Sie `payment_method_update`, damit Ihre Kund/innen eine neue Zahlungsmethode hinzufügen können. Als Zahlungsmethode ist `customer.invoice_settings.default_payment_method` festgelegt. | ![Beispiel für einen Ablauf zur Aktualisierung der Zahlungsmethode](https://b.stripecdn.com/docs-statics-srv/assets/payment_method_update.6f92b4642ce28020952f263360c83014.png) Ablauf zur Aktualisierung der Zahlungsmethode | | `subscription_cancel` | Verwenden Sie `subscription_cancel`, damit Ihre Kund/innen ein bestimmtes Abonnement kündigen können. Sie können festlegen, ob das Abonnement sofort oder am Ende des Zeitraums gekündigt wird, indem Sie Ihre Portal-Konfiguration über die [API](https://docs.stripe.com/api/customer_portal/configurations/object.md#portal_configuration_object-features-subscription_cancel-mode) oder das [Dashboard](https://dashboard.stripe.com/test/settings/billing/portal) aktualisieren. | ![Beispiel für einen Ablauf zum Kündigen eines Abonnements](https://b.stripecdn.com/docs-statics-srv/assets/subscription_cancel.6943958d0358b97241a1f4d2703d3bfb.png) Ablauf zum Kündigen eines Abonnements | | `subscription_update` | Verwenden Sie `subscription_update`, damit Ihre Kund/innen verschiedene Aktualisierungsoptionen auswählen können, z. B. ein Upgrade oder Downgrade auf einen anderen Plan oder eine Aktualisierung der aktuellen Planmenge. Sie können die verfügbaren Pläne anpassen, indem Sie Ihre Portal-Konfiguration über die [API](https://docs.stripe.com/api/customer_portal/configurations/object.md#portal_configuration_object-features-subscription_update-products) oder das [Dashboard aktualisieren.](https://dashboard.stripe.com/test/settings/billing/portal). | ![Beispiel für einen Ablauf zur Aktualisierung eines Abonnements](https://b.stripecdn.com/docs-statics-srv/assets/subscription_update.8426206cdf98ba10d04680b782644b67.png) Ablauf zur Aktualisierung eines Abonnements | | `subscription_update_confirm` | Verwenden Sie `subscription_update_confirm`, damit Ihre Kund/innen ein bestimmtes Update ihres Abonnements bestätigen können. Sie können diese Option verwenden, wenn Sie über Ihre eigene Seite mit Preisinformationen verfügen, aber die Arbeit der Anzeige von Aktualisierungsdetails wie zum Beispiel anstehende Rechnungen und anteilsmäßige Verrechnungen, die Bearbeitung von Zahlungsausfällen oder die Handhabung der [3D Secure-Authentifizierung](https://docs.stripe.com/payments/3d-secure.md) auslagern möchten. Sie können auch einen Gutschein oder einen Promo-Code angeben, der auf die Abonnement-Aktualisierung angewendet werden soll. Sie können dies für Werbekampagnen verwenden, wenn Sie einen Rabatt für den Wechsel zu einem anderen Plan anbieten. | ![Beispiel für den Ablauf zur Abonnement-Aktualisierung](https://b.stripecdn.com/docs-statics-srv/assets/subscription_update_confirm.5a06b658cc8a15971fdfae54fc7708da.png) Ablauf zur Bestätigung der Abonnement-Aktualisierung | ## Ablauf erstellen > Bei Kundenportalabläufen handelt es sich um eine Erweiterung der [Kundenportal-API](https://docs.stripe.com/api/customer_portal/sessions/create.md). Befolgen Sie zuerst den allgemeinen Leitfaden zur [Vernetzung des Kundenportals mit der API](https://docs.stripe.com/customer-management/integrate-customer-portal.md), bevor Sie diesen Leitfaden verwenden. Um einen Ablauf zu erstellen, geben Sie beim Erstellen einer Portalsitzung [flow_data](https://docs.stripe.com/api/customer_portal/sessions/create.md#create_portal_session-flow_data) an. Legen Sie den [Typ](https://docs.stripe.com/api/customer_portal/sessions/create.md#create_portal_session-flow_data-type) des Ablaufs fest, den Ihr Kunde/Ihre Kundin ausführen soll. Je nach `type` des Ablaufs müssen Sie möglicherweise zusätzliche Daten wie zum Beispiel eine Abonnement-ID übergeben. Im Folgenden finden Sie Beispiele für die Einrichtung der einzelnen Ablauftypen. #### Aktualisierung der Zahlungsmethode ```curl curl https://api.stripe.com/v1/billing_portal/sessions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ --data-urlencode "return_url=https://example.com/account/overview" \ -d "flow_data[type]=payment_method_update" ``` #### Abonnement kündigen Übergeben Sie das `subscription`, um es in `subscription_cancel[subscription]` zu kündigen. ```curl curl https://api.stripe.com/v1/billing_portal/sessions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ --data-urlencode "return_url=https://example.com/account/overview" \ -d "flow_data[type]=subscription_cancel" \ -d "flow_data[subscription_cancel][subscription]={{SUBSCRIPTION_ID}}" ``` #### Abonnement-Aktualisierung Übergeben Sie das `subscription`, um es in `subscription_update[subscription]` zu aktualisieren. [Richten Sie Ihre Portalkonfiguration ein](https://docs.stripe.com/customer-management/integrate-customer-portal.md#configure), um zu konfigurieren, welche Produkte und Preise als mögliche Aktualisierungsoptionen auf der Seite angezeigt werden. ```curl curl https://api.stripe.com/v1/billing_portal/sessions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ --data-urlencode "return_url=https://example.com/account/overview" \ -d "flow_data[type]=subscription_update" \ -d "flow_data[subscription_update][subscription]={{SUBSCRIPTION_ID}}" ``` #### Abonnement-Update bestätigen Übergeben Sie das `subscription`, um es in `subscription_update_confirm[subscription]` zu aktualisieren. Sie müssen auch angeben, was an den Elementen des Abonnements aktualisiert werden soll, indem Sie ein Array von `items` an `subscription_update_confirm[items]` übergeben. Rufen Sie zunächst die `items` des aktuellen Abonnements ab, indem Sie das `subscription`-Objekt abrufen und [items.data](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-items-data) überprüfen. Rufen Sie dann die `id` des zu aktualisierenden Abonnement-Artikels ab und übergeben Sie sie an das `subscription_update_confirm[items]`-Array. Sie können dann einen neuen `price` oder eine neue `quantity` für den Artikel angeben, den Ihre Kundinnen/Kunden bestätigen müssen. Derzeit kann nur ein Posten angegeben werden und Abonnements mit mehreren Posten können nicht aktualisiert werden. ```curl curl https://api.stripe.com/v1/billing_portal/sessions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ --data-urlencode "return_url=https://example.com/account/overview" \ -d "flow_data[type]=subscription_update_confirm" \ -d "flow_data[subscription_update_confirm][subscription]={{SUBSCRIPTION_ID}}" \ -d "flow_data[subscription_update_confirm][items][0][id]={{SUBSCRIPTIONITEM_ID}}" \ -d "flow_data[subscription_update_confirm][items][0][quantity]=1" \ -d "flow_data[subscription_update_confirm][items][0][price]={{PRICE_ID}}" \ -d "flow_data[subscription_update_confirm][discounts][0][coupon]={{COUPON_ID}}" ``` Die `url` der Portalsitzung für die Antwort enthält jetzt einen Deep-Link zu dem von Ihnen erstellten Ablauf. Verwenden Sie diese URL, um Kund/innen von Ihrer Website an den Portalablauf weiterzuleiten. ## Verhalten nach Abschluss anpassen Nachdem Ihr/e Kund/in den Ablauf erfolgreich abgeschlossen hat, wird eine lokalisierte Bestätigungsseite mit den Details der abgeschlossenen Aktualisierung angezeigt. Sie können die Bestätigungsnachricht auf dieser Seite anpassen, sie zu einer URL Ihrer Wahl weiterleiten oder sie zurück zur Startseite des Kundenportals leiten, auf der die vollständigen Kontodetails angezeigt werden. Um dieses Verhalten anzupassen, legen Sie [after_completion](https://docs.stripe.com/api/customer_portal/sessions/create.md#create_portal_session-flow_data-after_completion) für `flow_data` fest. Im folgenden Beispiel können Ihre Kund/innen ihr Abonnement kündigen und werden anschließend zu Ihrer eigenen Website zurückgeleitet: ```curl curl https://api.stripe.com/v1/billing_portal/sessions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ --data-urlencode "return_url=https://example.com/account/overview" \ -d "flow_data[type]=subscription_cancel" \ -d "flow_data[subscription_cancel][subscription]={{SUBSCRIPTION_ID}}" \ -d "flow_data[after_completion][type]=redirect" \ --data-urlencode "flow_data[after_completion][redirect][return_url]=https://example.com/account/subscription_canceled" ``` > Die oberste `return_url` ist ein Link zurück zu Ihrer Website, den der/die Kund/in jederzeit anklicken kann (z. B. wenn er/sie die Kündigung nicht durchführen möchte). Die `flow_data[after_completion][redirect][return_url]` ist ein Link zurück zu Ihrer Website, nachdem ein/e Kund/in sein/ihr Abonnement erfolgreich gekündigt hat.