> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kundenportal

> Ermöglichen Sie es Kunden, selbstständig ihre Abonnements, Rechnungsverlauf, Lizenzschlüssel und Profile sicher zu verwalten.

<Info>
  Das Kundenportal ist ein sicherer, gehosteter Bereich, in dem Ihre Kunden Abonnements verwalten, Rechnungen einsehen und Lizenzschlüssel-Details abrufen können — ohne den Support kontaktieren zu müssen.
</Info>

<CardGroup cols={2}>
  <Card title="Create Portal Session (API)" icon="code" href="/api-reference/customers/create-customer-portal-session">
    Erstellen Sie programmatisch sichere, zeitlich begrenzte Portalsitzungen.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Verwalten Sie wiederkehrende Pläne, Upgrades, Downgrades und Add-ons.
  </Card>
</CardGroup>

<br />

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/new-portal.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=9431b2e24142e47cb39dc84c1a0303fe" alt="Neues Kundenportal mit aktiven Abonnements, Zahlungsmethoden und Rechnungshistorie" style={{ maxHeight: '500px', width: 'auto' }} width="2876" height="1568" data-path="images/customer-portal/new-portal.png" />
</Frame>

## Was ist das Kundenportal?

Das Portal bietet eine vertrauenswürdige, markenbasierte Selbstbedienungserfahrung für Kunden, um:

* **Zugriff auf Abrechnungsverlauf**: Rechnungen ansehen und Quittungen herunterladen.
* **Abonnements verwalten**: Abonnementdetails anzeigen, Abonnements sofort oder zum nächsten Abrechnungsdatum kündigen.
* **Zahlungsmethoden aktualisieren**: Zahlungsmethoden für aktive Abonnements ändern oder pausierte Abonnements reaktivieren.
* **Lizenzschlüssel abrufen**: Zugriff auf alle Schlüssel, die an Einkäufe gebunden sind.
* **Leicht navigieren**: Verwenden Sie die Zurück-Taste, um zwischen Portalabschnitten zu wechseln, ohne den Kontext zu verlieren.

## Wichtige Vorteile

* **Weniger Supportanfragen**: Kunden lösen häufige Abrechnungsanfragen selbst
* **Schnellere Wertschöpfung**: Sofortiger Zugang zu Rechnungen und Schlüsseln
* **Reduziertes Abwanderungsrisiko**: Klarer Einblick in Verlängerungen und Plandetails
* **Sicher nach Design**: Tokenisierter Zugang mit ablaufenden Links
* **Lokalisierte Erfahrung**: Portal ist in 21 Sprachen verfügbar, mit automatischer Erkennung basierend auf den Browser-Einstellungen des Kunden

## Zugriffsarten

Kunden können das Portal entweder über einen statischen Link oder einen einmaligen dynamischen Link erreichen.

### Statischer Link (E-Mail-basierter Zugriff)

Kunden können den Zugriff auf das Portal anfordern, indem sie ihre E-Mail an einem statischen Link eingeben, der niemals abläuft.

Das Format des statischen Portal-Links variiert je nach Umgebung:

**Testmodus** (für Tests und Entwicklung):

```bash theme={null}
https://test.customer.dodopayments.com/login/{business_id}
```

**Live-Modus** (für Produktion mit echten Transaktionen):

```bash theme={null}
https://customer.dodopayments.com/login/{business_id}
```

Ersetzen Sie `{business_id}` durch Ihre tatsächliche Geschäftskennung, und teilen Sie den entsprechenden Link mit Ihren Kunden, damit sie ihre E-Mail eingeben und sicheren Zugang zum Portal erhalten.

<Frame>
  <img src="https://mintcdn.com/dodopayments/kIuKVjhdOQFWlzSx/images/customer-portal/email-login.png?fit=max&auto=format&n=kIuKVjhdOQFWlzSx&q=85&s=bd8ee54177bc23e12e3657c87f487bae" alt="E-Mail-basierter Login-Bildschirm" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1550" data-path="images/customer-portal/email-login.png" />
</Frame>

<Steps>
  <Step title="Merchant flow">
    1. Gehen Sie zu Sales → Customer.
    2. Klicken Sie auf <i>Share invite</i>.
    3. Kopieren Sie den <i>Static link</i> und teilen Sie ihn mit Ihrem Kunden.
  </Step>

  <Step title="Customer flow">
    1. Öffnen Sie den Static link.
    2. Geben Sie die beim Kauf verwendete E-Mail-Adresse ein.
    3. Erhalten Sie einen sicheren Login-Link, um auf das Portal zuzugreifen.

    <Check>
      Bestehende Kunden werden automatisch erkannt.
    </Check>
  </Step>
</Steps>

### Dynamischer Link (Magic Link)

Ein personalisierter, einmaliger Magic Link, der Kunden direkt ins Portal sendet. Der Link läuft nach 24 Stunden ab.

<Warning>
  Dynamische Links laufen nach 24 Stunden ab. Wenn sie ablaufen, erstellen und senden Sie einen neuen Link.
</Warning>

<Frame>
  <img src="https://mintcdn.com/dodopayments/kIuKVjhdOQFWlzSx/images/customer-portal/magic-link.png?fit=max&auto=format&n=kIuKVjhdOQFWlzSx&q=85&s=8e63714f40468bd6e42c811e194f2698" alt="Direkter Zugang über Magic Link" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1554" data-path="images/customer-portal/magic-link.png" />
</Frame>

<Steps>
  <Step title="Merchant flow">
    1. Gehen Sie zu Sales → Customer.
    2. Klicken Sie auf <i>Share invite</i>.
    3. Kopieren Sie den <i>Dynamic link</i> und teilen Sie ihn mit Ihrem Kunden.
  </Step>

  <Step title="Customer flow">
    1. Öffnen Sie den Dynamic link.
    2. Greifen Sie direkt auf das Kundenportal zu, ohne eine E-Mail einzugeben.
  </Step>
</Steps>

## Portal-Funktionen

Das überarbeitete Kundenportal bietet eine klare, einheitliche Oberfläche mit einer linken Seitenleiste und organisierten Abschnitten für alle Kontoverwaltungsanforderungen.

<CardGroup cols={2}>
  <Card title="Active Subscriptions" icon="repeat">
    Zeigen Sie alle aktiven Abonnements mit Planname, Preis, Verlängerungsdatum und Gültigkeit an. Klicken Sie auf "Manage subscription", um Details anzuzeigen, Abrechnungsinformationen zu bearbeiten oder zu kündigen.
  </Card>

  <Card title="Payment Methods" icon="credit-card">
    Zeigen Sie alle gespeicherten Zahlungsmethoden (Karten, UPI usw.) auf einen Blick an. Bearbeiten Sie Zahlungsmethoden direkt aus den Abonnementdetails heraus.
  </Card>

  <Card title="Billing History" icon="file-invoice">
    Zeigen Sie alle Transaktionen in einer detaillierten Tabelle mit Datum, Status, Preisart, Berechtigungen und herunterladbaren Rechnungen an.
  </Card>

  <Card title="Billing Information" icon="user">
    Zeigen Sie auf der Seite mit den Abonnementdetails Ihren Namen, Ihre E-Mail-Adresse, Telefonnummer und Rechnungsadresse an und bearbeiten Sie diese direkt.
  </Card>
</CardGroup>

### Portalübersicht

Die Hauptseite des Portals zeigt alle aktiven Abonnements, gespeicherten Zahlungsmethoden und den Abrechnungsverlauf in einer einzigen, scrollbaren Ansicht an.

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/new-portal.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=9431b2e24142e47cb39dc84c1a0303fe" alt="Hauptseite des Kundenportals mit aktiven Abonnements und Zahlungsmethoden" style={{ maxHeight: '500px', width: 'auto' }} width="2876" height="1568" data-path="images/customer-portal/new-portal.png" />
</Frame>

### Zahlungsmethoden & Abrechnungsverlauf

Scrollen Sie nach unten, um gespeicherte Zahlungsmethoden und den vollständigen Abrechnungsverlauf mit Statusanzeigen und herunterladbaren Rechnungen anzuzeigen.

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/payment-methods-invoices.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=1aed6644dbb338cda755798eda99a6f2" alt="Zahlungsmethoden und Rechnungshistorie mit Rechnung zum Herunterladen" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1560" data-path="images/customer-portal/payment-methods-invoices.png" />
</Frame>

## Sprachunterstützung

Das Kundenportal ist in **21 Sprachen** verfügbar, sodass Ihre Kunden ihre Abonnements, Zahlungsmethoden und Rechnungshistorie in der ihnen bequemsten Sprache verwalten können.

### So funktioniert die Sprachauswahl

* **Automatische Erkennung**: Beim ersten Besuch erkennt das Portal die bevorzugte Sprache des Kunden anhand der Browser-Einstellungen und lädt die entsprechende Übersetzung, wenn verfügbar. Englisch wird als Fallback verwendet.
* **Manuelle Überschreibung**: Kunden können die aktive Sprache jederzeit über den Sprachwähler im Kopfbereich des Portals ändern (sowohl auf Desktop als auch mobil verfügbar).
* **Bevorzugte Einstellung speichern**: Die ausgewählte Sprache wird im `NEXT_LOCALE` Cookie gespeichert (gültig für 1 Jahr), sodass das Portal die Auswahl über Sitzungen hinweg merkt.

### Unterstützte Sprachen

| Sprache             | Code | Sprache       | Code |
| ------------------- | ---- | ------------- | ---- |
| Englisch (Standard) | `en` | Indonesisch   | `id` |
| Arabisch            | `ar` | Italienisch   | `it` |
| Katalanisch         | `ca` | Japanisch     | `ja` |
| Chinesisch          | `zh` | Koreanisch    | `ko` |
| Niederländisch      | `nl` | Malaiisch     | `ms` |
| Französisch         | `fr` | Polnisch      | `pl` |
| Deutsch             | `de` | Portugiesisch | `pt` |
| Hebräisch           | `he` | Rumänisch     | `ro` |
| Russisch            | `ru` | Spanisch      | `es` |
| Schwedisch          | `sv` | Thailändisch  | `th` |
| Türkisch            | `tr` |               |      |

## Planänderungen (Upgrade/Downgrade)

Wenn Produkte in **Produktkollektionen** organisiert sind, können Kunden direkt über das Kundenportal zwischen Plänen upgraden oder downgraden.

<Tip>
  **Möchten Sie Upgrade/Downgrade für bestehende Abonnements aktivieren?** Fügen Sie Ihre Abonnementprodukte zu einer Produktkollektion hinzu. Sobald gruppiert, können Kunden zwischen Plänen in derselben Kollektion über das Kundenportal wechseln.
</Tip>

### Verfügbare Aktionen

| Aktion        | Beschreibung                                                | Wann verfügbar                               |
| ------------- | ----------------------------------------------------------- | -------------------------------------------- |
| **Upgrade**   | Wechsel zu einem höherwertigen Plan in derselben Kollektion | Unternehmen hat Abonnement-Updates aktiviert |
| **Downgrade** | Wechsel zu einem niedrigeren Plan in derselben Kollektion   | Unternehmen hat Abonnement-Updates aktiviert |

### Wie Planänderungen funktionieren

1. Kunde sieht sein aktuelles Abonnement im Portal
2. Verfügbare Upgrade/Downgrade-Optionen werden basierend auf der Produktkollektion angezeigt
3. Kunde wählt den neuen Plan aus
4. Der Anteil wird berechnet und die Zahlung sofort (falls zutreffend) verarbeitet
5. Das Abonnement wird auf den neuen Plan aktualisiert

<Info>
  Planänderungen sind nur zwischen Produkten innerhalb derselben Kollektion verfügbar. Produkte müssen Abonnement- oder verbrauchsgestützte Abrechnungsarten sein.
</Info>

### Geschäftskontrollen

Unternehmen können das Verhalten bei Planänderungen in den Abonnementeinstellungen konfigurieren:

* **Abonnement-Updates zulassen**: Ermöglicht oder verbietet Kunden, ihre Abonnements zu verbessern oder herunterzustufen

<Card title="Product Collections" icon="layer-group" href="/features/product-collections">
  Erfahren Sie, wie Sie Produktkollektionen einrichten und Upgrade/Downgrade-Pfade konfigurieren.
</Card>

## Abonnementdetails

Wenn Kunden auf "Abonnement verwalten" bei einem aktiven Abonnement klicken, gelangen sie zur Seite mit den Abonnementdetails. Diese Seite zeigt:

* **Plandetails**: Abonnementname, Preis, Verlängerungsdatum und Gültigkeitszeitraum
* **Zahlungsmethode**: Die Karte oder Zahlungsmethode, die dem Abonnement zugeordnet ist, mit einem "Bearbeiten"-Button
* **Rechnungsinformationen**: Name, E-Mail, Telefonnummer und Rechnungsadresse mit einem "Bearbeiten"-Button
* **Rechnungshistorie**: Eine detaillierte Tabelle aller Zahlungen für dieses Abonnement
* **Abonnement kündigen**: Ein prominenter Button, um das Abonnement zu kündigen

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/subscription-details.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=4ae46f6878c9343b2e963c516952c9d3" alt="Seite mit Abonnementdetails, die Planinformationen, Zahlungsmethode, Rechnungsinformationen und Kündigungsoption zeigt" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1560" data-path="images/customer-portal/subscription-details.png" />
</Frame>

## Ein Abonnement kündigen

Kunden können ihr Abonnement direkt von der Seite mit den Abonnementdetails kündigen. Ein Klick auf "Abonnement kündigen" öffnet einen Bestätigungsdialog mit zwei Optionen:

* **Zum nächsten Abrechnungsdatum kündigen**: Das Abonnement bleibt aktiv, bis der aktuelle Abrechnungszeitraum endet, und wird dann automatisch gekündigt.
* **Sofort kündigen**: Das Abonnement wird sofort gekündigt.

<Frame>
  <img src="https://mintcdn.com/dodopayments/kCngKZVrb0rZMS1f/images/customer-portal/cance-sub.png?fit=max&auto=format&n=kCngKZVrb0rZMS1f&q=85&s=66eb6e380c991826c431fd0c563cbfa6" alt="Kündigungsdialog mit Optionen zum Kündigen zum nächsten Abrechnungsdatum oder sofort" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1550" data-path="images/customer-portal/cance-sub.png" />
</Frame>

### Gründe für die Kündigung

Bevor die Kündigung bestätigt wird, werden Kunden gefragt **„Warum kündigen Sie?“** und aufgefordert, einen Grund aus einer vorgegebenen Liste auszuwählen. Der Grund wird im Abonnement gespeichert und in Webhook-Payloads und der API angezeigt, sodass Sie Abwanderungsgründe analysieren und Ihre Rückgewinnungsstrategien anpassen können.

<Frame>
  <img src="https://mintcdn.com/dodopayments/RlXcM7JO-E_w40Np/images/customer-portal/cancellation-reasons.png?fit=max&auto=format&n=RlXcM7JO-E_w40Np&q=85&s=979394da2a9aa3907cbf9f4e225f9a4b" alt="Kündigungsmodul mit dem Dropdown 'Warum kündigen Sie?' mit Gründen wie Zu teuer, Fehlende Funktionen und Sonstiges" style={{ maxHeight: '500px', width: 'auto' }} width="2880" height="1564" data-path="images/customer-portal/cancellation-reasons.png" />
</Frame>

| Wert               | Kundenbezogenes Label              |
| ------------------ | ---------------------------------- |
| `too_expensive`    | Zu teuer                           |
| `missing_features` | Fehlende Funktionen                |
| `switched_service` | Zu einem anderen Dienst gewechselt |
| `unused`           | Nicht genug genutzt                |
| `customer_service` | Schlechter Kundenservice           |
| `low_quality`      | Niedrige Qualität                  |
| `too_complex`      | Zu komplex                         |
| `other`            | Sonstiges                          |

Der ausgewählte Wert wird im `cancellation_feedback` Feld des Abonnements gespeichert. Ein optionaler Freitext `cancellation_comment` kann ebenfalls erfasst werden.

```typescript theme={null}
// Read the captured feedback after a customer cancels
const subscription = await client.subscriptions.retrieve('sub_123');
console.log(subscription.cancellation_feedback); // e.g., "too_expensive"
console.log(subscription.cancellation_comment);  // e.g., "Switching to a competitor"
```

Beide Felder sind auch in der `subscription.cancelled` Webhook-Payload enthalten, und Sie können sie programmatisch auf `PATCH /subscriptions/{id}` ausfüllen, wenn Sie eine Kündigung über die API planen oder ausführen.

<Tip>
  Kombinieren Sie `cancellation_feedback` mit [Subscription Dunning](/features/recovery/subscription-dunning), um Rückgewinnungs-E-Mails maßzuschneidern – senden Sie beispielsweise einen Rabattcode an `too_expensive` Kündiger und eine „Was fehlt?“-Umfrage an `missing_features` Kündiger.
</Tip>

## Aktualisierung von Zahlungsmethoden

Kunden können ihre Zahlungsmethoden direkt auf der Abonnement-Detailseite aktualisieren, indem sie neben der Zahlungsmethode auf „Bearbeiten“ klicken. Diese Funktion ist besonders wichtig, um Abonnements zu reaktivieren, die aufgrund fehlgeschlagener Zahlungen pausiert wurden.

### Reaktivierung von pausierten Abonnements

Wenn ein Abonnement aufgrund einer fehlgeschlagenen Zahlung im `on_hold` Zustand ist, müssen Kunden ihre Zahlungsmethode aktualisieren, um es zu reaktivieren. Der Aktualisierungsprozess erstellt automatisch:

1. **Erstellung einer Gebühr** für ausstehende Beträge
2. **Erstellung einer Rechnung** für die Gebühr
3. **Verarbeitung der Zahlung** mit der neuen Zahlungsmethode
4. **Reaktivierung des Abonnements** in den `active` Zustand bei erfolgreicher Zahlung

<Warning>
  Abonnements im `on_hold` Zustand werden nicht automatisch erneuert. Kunden müssen ihre Zahlungsmethode aktualisieren, um ausstehende Beträge zu begleichen und das Abonnement zu reaktivieren.
</Warning>

<Info>
  Nach erfolgreicher Aktualisierung der Zahlungsmethode für ein `on_hold` Abonnement sehen Kunden eine Bestätigungsseite und erhalten E-Mail-Benachrichtigungen über die erfolgreiche Zahlung und Abonnementreaktivierung.
</Info>

### Zahlungsaktualisierungsablauf

<Steps>
  <Step title="Access subscription details">
    Klicken Sie auf „Abonnement verwalten“ bei einem aktiven Abonnement von der Startseite des Portals.
  </Step>

  <Step title="Click Edit on payment method">
    Klicken Sie auf die Schaltfläche „Bearbeiten“ neben der Zahlungsmethode, um die Schnittstelle zur Zahlungsaktualisierung zu öffnen.
  </Step>

  <Step title="Select or add payment method">
    Wählen Sie eine vorhandene gespeicherte Zahlungsmethode aus oder fügen Sie eine neue hinzu, indem Sie Kartendaten sicher eingeben.
  </Step>

  <Step title="Confirm changes">
    Bestätigen Sie die Aktualisierung. Bei `on_hold` Abonnements wird dadurch automatisch eine Gebühr für ausstehende Beträge erstellt.
  </Step>

  <Step title="Complete payment (if on hold)">
    Wenn das Abonnement pausiert ist, werden Kunden weitergeleitet, um die Zahlung für ausstehende Beträge abzuschließen. Bei erfolgreicher Zahlung wird das Abonnement automatisch reaktiviert.
  </Step>

  <Step title="Confirmation">
    Kunden erhalten eine Bestätigung, dass die Zahlungsmethode aktualisiert wurde und, falls zutreffend, dass das Abonnement reaktiviert wurde.
  </Step>
</Steps>

## Integrationsbeispiele

Erstellen Sie eine zeitgebundene Customer-Portal-Sitzung für einen bestimmten Kunden über die API und leiten Sie den Benutzer dann zur Sitzungs-URL weiter.

<CodeGroup>
  ```typescript Node.js theme={null}
  const session = await client.customers.customerPortal.create('cus_123');

  // Redirect the user to the hosted Customer Portal
  window.location.href = session.link;
  ```
</CodeGroup>

## Einheitliches Kundenportal

Zusätzlich zu geschäftsspezifischen Kundenportalen bietet Dodo Payments ein **Einheitliches Kundenportal** auf [customer.dodopayments.com](https://customer.dodopayments.com) an, wo Kunden alle ihre Einkäufe und Abonnements bei verschiedenen Unternehmen, die Dodo Payments verwenden, einsehen und verwalten können.

<Frame>
  <img src="https://mintcdn.com/dodopayments/eNGWg9ca-WxQ9nMf/images/changelog/unified-customer-portal.png?fit=max&auto=format&n=eNGWg9ca-WxQ9nMf&q=85&s=bceabb06ca0f00aa2a458f4af95a5cda" alt="Einheitliches Kundenportal" style={{ maxHeight: '500px', width: 'auto' }} width="1640" height="953" data-path="images/changelog/unified-customer-portal.png" />
</Frame>

### Funktionen des Einheitlichen Portals

* **Geschäftsübergreifende Sichtbarkeit**: Alle Einkäufe und Abonnements von jedem Dodo Payments-Händler an einem Ort einsehen
* **Zentrale Verwaltung**: Abonnements bei verschiedenen Unternehmen von einem einzigen Dashboard aus verwalten
* **Einheitliche Rechnungsverlauf**: Zugriff auf Rechnungen und Zahlungshistorie aller Einkäufe
* **Single Sign-on**: Einmal mit E-Mail einloggen, um auf Einkäufe von allen Dodo Payments-Händlern zuzugreifen

<Tip>
  Das Einheitliche Kundenportal ergänzt geschäftsspezifische Portale. Kunden können je nach Präferenz entweder das gebrandete Händlerportal oder das einheitliche Portal nutzen.
</Tip>

## Fehlerbehebung

* **Link abgelaufen**: Generieren und senden Sie einen neuen dynamischen Link.
* **E-Mail nicht erkannt**: Bitten Sie den Kunden, die mit seinem Kauf verknüpfte E-Mail zu verwenden
* **Abonnement pausiert**: Wenn ein Abonnement pausiert ist, müssen Kunden ihre Zahlungsmethode über das Portal aktualisieren, um ausstehende Beträge zu begleichen und das Abonnement zu reaktivieren. Der Aktualisierungsprozess berechnet automatisch die ausstehenden Beträge.
* **Aktualisierung der Zahlungsmethode fehlgeschlagen**: Wenn die Zahlung während des Aktualisierungsprozesses für ein `on_hold` Abonnement fehlschlägt, bleibt das Abonnement pausiert. Kunden können es erneut mit einer anderen Zahlungsmethode versuchen.

<Card title="Design & Theme Customization" icon="palette" href="/features/design">
  Passen Sie das Erscheinungsbild Ihres Kundenportals mit vorgefertigten Themen, Typografie, Farben und Live-Vorschau von der Designseite an.
</Card>
