Skip to main content
Entitlements verwandeln eine erfolgreiche Zahlung oder ein aktives Abonnement in Zugriff: einen Lizenzschlüssel im Posteingang deines Kunden, ein Feature Flag, das deine App prüft, eine Discord-Rolle, ein GitHub-Repository, eine Notion-Vorlage, einen Framer-Remix-Link, eine Einladung zu einem Telegram-Chat oder ein herunterladbares Dateipaket. Dodo Payments stellt diesen Zugriff automatisch bereit, verfolgt ihn und entzieht ihn, wenn sich der Zahlungslebenszyklus ändert.
Berechtigungs-Dashboard mit einer Liste der Berechtigungen auf der linken Seite und der Zuordnungsaktivität auf der rechten Seite

The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.

Was sind Entitlements?

Ein Entitlement ist eine wiederverwendbare Definition von etwas, das du einem Kunden bereitstellst, etwa einen Pro-Lizenzschlüssel, eine Discord-Rolle „Patrons“, Zugriff auf dein privates GitHub-Repository oder ein herunterladbares E-Book-Paket. Du verknüpfst Entitlements mit Produkten, und Dodo Payments stellt sie bereit, sobald ein Kunde bezahlt. Wenn ein Kunde das Produkt kauft, erstellt Dodo Payments einen Grant: die Ausstellung dieses Entitlements für einen einzelnen Kunden. Ein Grant hat einen von vier Statuswerten: Pending, während die Bereitstellung läuft, Delivered, sobald der Kunde Zugriff hat, Failed, wenn die Bereitstellung nicht abgeschlossen werden konnte, und Revoked, wenn der Zugriff entzogen wird.
Entitlements steuern die Bereitstellung (hat der Kunde Zugriff?). Credits steuern die Nutzung (wie viel davon kann der Kunde verwenden?). Du kannst beides mit demselben Produkt verknüpfen. Weitere Informationen zu Credits findest du unter Credit-Based Billing.

Verfügbare Integrationen

Jedes Entitlement wird über eine Integration bereitgestellt. Wähle die Integration, die zu deinem Angebot passt.

License Keys

Erstellen Sie eindeutige Lizenzschlüssel mit Aktivierungsbegrenzungen und Ablauf. Am besten geeignet für Software, Plugins und CLIs.

Digital Files

Stelle herunterladbare Dateien wie E-Books, Vorlagen und Medien mit vorab signierten Download-URLs und optionalen Anweisungen bereit.

Feature Flags

Schalte Funktionen deiner eigenen App nach einem Kauf frei. Die Bereitstellung erfolgt bei der Erstellung, die Prüfung über die API und der Entzug bei einer Kündigung.

Discord

Weise einem Kunden beim Kauf eine Rolle in deinem Discord-Server zu. Die Rolle wird bei einer Kündigung automatisch entfernt.

GitHub

Fügen Sie Kunden als Mitarbeiter in ein privates Repository auf der von Ihnen gewählten Berechtigungsebene hinzu.

Telegram

Fügen Sie Kunden nach dem Kauf zu einem privaten Telegram-Chat oder -Kanal hinzu.

Framer

Entsperren Sie einen Framer-Template-Remix-Link für zahlende Kunden.

Notion

Duplizieren Sie eine Notion-Vorlage beim Kauf in den Arbeitsbereich des Kunden.

Wie Berechtigungen funktionieren

Grants folgen denselben Zahlungs- und Abonnementereignissen, die du als Webhooks erhältst. Dodo Payments erstellt und widerruft Grants für Käufe automatisch auf Grundlage des Zahlungslebenszyklus, sodass du die Grant-API nicht selbst aufrufen musst.

Lebenszyklus der Berechtigung

Ein Grant durchläuft folgende Statuswerte:
1

Created

Dodo Payments erstellt einen Grant, wenn eine Zahlung abgeschlossen wird oder ein Abonnement aktiv wird. Feature-Flag-Grants beginnen als Delivered. Lizenzschlüssel-Grants beginnen ebenfalls als Delivered, wenn das Entitlement fulfillment_mode: auto verwendet (der Standardwert). Bei fulfillment_mode: manual beginnt der Grant als Pending ohne Schlüssel, bis du einen über Fulfill License Key Grant bereitstellst. Jede andere Integration beginnt als Pending.OAuth-basierte Integrationen (Discord, GitHub, Notion) stellen eine oauth_url bereit, die der Kunde besucht, um seine Einwilligung zu erteilen. Dodo Payments versucht, diese URL bei der Erstellung des Grants zu generieren. Falls dies fehlschlägt, bleibt das Feld auf null, bis der Kunde den Bestätigungsablauf über seine Zustellungs-E-Mail oder das Customer Portal startet. Plattformdirekte Integrationen (Telegram, Framer, Digital Files) bleiben nur während der Bereitstellung als Pending bestehen und wechseln danach zu Delivered.
2

Delivered

Wenn die Bereitstellung abgeschlossen ist, wechselt der Grant zu Delivered und delivered_at wird gesetzt. Die Bereitstellung ist abgeschlossen, sobald der Lizenzschlüssel generiert, die Rolle zugewiesen, der Repository-Zugriff gewährt, die Dateilinks aufgelöst oder der OAuth-Ablauf beendet wurde.
3

Failed

Wenn der Integrationsaufruf einen nicht wiederholbaren Fehler zurückgibt, etwa ein widerrufenes OAuth-Token, eine verweigerte Berechtigung oder eine nicht mehr vorhandene Datei, wechselt der Grant zu Failed. Die Felder error_code und error_message enthalten den Grund.
4

Revoked

Wenn der Zugriff entzogen wird, beispielsweise weil ein Abonnement gekündigt, eine Rückerstattung ausgestellt oder der Grant von dir widerrufen wurde, wechselt der Grant zu Revoked. Das Feld revocation_reason enthält den Auslöser.

Grant-Verhalten nach Ereignis

Jedes Zahlungs- und Abonnementereignis ändert Grants wie folgt:
Abonnementgesteuerte Grants sind pro (entitlement, customer, subscription) idempotent, sodass Verlängerungen und Reaktivierungen keine doppelten Grants erstellen. Einmalige Grants sind pro (entitlement, customer, payment) idempotent.

Erstelle dein erstes Entitlement

1

Open Entitlements

Gehe im Dashboard zu Entitlements und klicke auf +, um ein Entitlement zu erstellen.
2

Pick an Integration

Wähle den Integrationstyp: License Key, Digital Files, Feature Flag, Discord, GitHub, Telegram, Figma, Framer oder Notion. Bei einer Plattformintegration verbinde zuerst dein Konto, falls du dies noch nicht getan hast.
3

Configure Delivery

Fülle die Felder für die Integration aus. GitHub fragt beispielsweise nach einem Repository und einer Berechtigungsstufe, Discord nach einem Server und einer optionalen Rolle und License Key nach einem Aktivierungslimit und einer Lizenzlaufzeit.
New Entitlement form with integration selector and configuration fields

Creating a GitHub entitlement. Each integration shows the fields it needs.

4

Save

Klicke auf Create Entitlement. Du kannst das Entitlement jetzt jedem Produkt zuordnen.

Entitlements mit Produkten verknüpfen

Öffne ein Produkt, gehe zum Abschnitt Entitlements und wähle die Entitlements aus, die bei einem Kauf des Produkts bereitgestellt werden sollen. Ein Produkt kann mehrere Entitlements gleichzeitig bereitstellen. Ein Pro-Plan kann beispielsweise einen Lizenzschlüssel, GitHub-Zugriff und eine Discord-Rolle enthalten.
Product entitlement selection panel showing checkboxes for each available entitlement

Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.


Kundenerlebnis

E-Mail und Customer Portal

Nach einem Kauf erhält der Kunde eine Zustellungs-E-Mail mit dem Lizenzschlüssel, Download-Links, OAuth-Einladungslinks oder der passenden Plattform-Einladung für die Entitlements des Produkts. Dieselben Informationen bleiben im Customer Portal unter der Bestellhistorie verfügbar, solange der Grant aktiv ist.

OAuth-basierte Bereitstellung

Der Abonnentenzugriff auf Discord, GitHub und Notion erfordert, dass der Kunde Dodo Payments autorisiert, diesen Zugriff zu gewähren. Diese Grants bleiben Pending, bis der Kunde den OAuth-Ablauf über den Link in seiner E-Mail oder im Customer Portal abschließt. Nach der Autorisierung wechselt der Grant zu Delivered, und Dodo Payments stellt den Plattformzugriff bereit.

Widerruf

Wenn ein Grant widerrufen wird, entfernt Dodo Payments den Zugriff auf der Plattform: Die Discord-Rolle, der GitHub-Mitbearbeiter oder der Lizenzschlüssel wird entfernt beziehungsweise deaktiviert. Der Kunde sieht die Änderung im Customer Portal.
Bei Digital Files verhindert der Widerruf neue vorab signierte Download-URLs, macht jedoch keine Kopien ungültig, die ein Kunde bereits heruntergeladen hat. Plane deine Zugriffsbeschränkung für Inhalte entsprechend.

Grants verwalten

Öffne ein beliebiges Entitlement im Dashboard, um seine Grants anzuzeigen. Das Detailfenster zeigt die Gesamtzahl der ausgestellten Grants, einen Statusfilter und eine Zeile pro Grant mit dem Kunden, dem Zugriffsdatum, dem Status und der Aktion Revoke. Um Grants programmgesteuert zu verwalten, liste sie mit dem Filter status auf und widerrufe einen einzelnen Grant über seine ID:

API-Verwaltung

Create Entitlement

Erstelle ein Entitlement eines beliebigen Integrationstyps.

List Entitlements

Liste Entitlements, gefiltert nach Integrationstyp.

Get Entitlement

Rufe ein Entitlement und seine aufgelöste Konfiguration ab.

Update Entitlement

Aktualisiere den Namen, die Beschreibung oder die Integrationskonfiguration.

Delete Entitlement

Lösche ein Entitlement vorläufig. Bestehende Grants werden nicht widerrufen, aber Dodo Payments verwaltet sie nicht mehr.

Upload File

Lade eine Datei mit bis zu 500 MiB in ein Digital-Files-Entitlement hoch.

List Grants

Liste die Grants eines Entitlements, gefiltert nach Status und Kunde.

Revoke Grant

Widerrufe einen einzelnen Grant manuell.

Webhooks

Dodo Payments sendet vier Webhook-Ereignisse für den Grant-Lebenszyklus. Abonniere sie, damit deine Anwendung mit dem Zugriff jedes Kunden synchron bleibt.

Entitlement Grant Webhook Payloads

Zeige das vollständige Payload-Schema, Beispielereignisse und die Referenz für revocation_reason an.

Best Practices

  • Verwende ein Entitlement pro Bereitstellungskanal. Teile ein Discord-Entitlement nicht über Produkte mit unterschiedlichen Rollenabsichten hinweg. Erstelle ein Entitlement pro Rolle, damit der Widerruf sauber bleibt.
  • Teste zuerst im Testmodus. Erstelle das Entitlement, verknüpfe es mit einem Testprodukt, führe einen Checkout durch und beobachte, wie der Grant von Pending zu Delivered wechselt. Kündige anschließend das Testabonnement und bestätige, dass der Grant widerrufen wird.
  • Höre auf entitlement_grant.delivered, nicht auf payment.succeeded. Eine Zahlung kann erfolgreich sein, bevor die Bereitstellung abgeschlossen ist, insbesondere bei OAuth-Abläufen. Warte, bis der Grant Delivered erreicht, bevor du abhängige Funktionen in deinen eigenen Systemen freischaltest. Ein Grant, der bei der Erstellung bereitgestellt wird, etwa ein automatisch erfüllter Lizenzschlüssel oder ein Feature Flag, wird stattdessen als entitlement_grant.created mit status: "Delivered" empfangen.
  • Behandle entitlement_grant.failed als handlungsrelevant. Ein fehlgeschlagener Grant bedeutet, dass ein Kunde bezahlt, aber keinen Zugriff erhalten hat. Zeige diese Grants deinem Supportteam an oder löse eine erneute Ausstellung aus.
  • Ordne revocation_reason deinen Kundenbindungsabläufen zu. Ein subscription_on_hold-Widerruf kann behoben werden, da der Kunde möglicherweise seine Karte aktualisiert. Ein manual-Widerruf ist beabsichtigt. Behandle sie in Kundenmitteilungen unterschiedlich.
  • Entziehe den Zugriff nicht bei subscription.past_due. Dieses Ereignis startet eine Kulanzfrist, und der Kunde behält den Zugriff bis zum Ende des Zeitraums. Warte auf subscription.on_hold oder subscription.cancelled.
Zuletzt geändert am 26. September 2026