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.
Berechtigungen verwandeln eine erfolgreiche Zahlung oder ein aktives Abonnement in realen Zugang: einen Lizenzschlüssel im Posteingang Ihres Kunden, eine Discord-Rolle, ein GitHub-Repository, eine Notion-Vorlage, einen Framer-Remix-Link, eine Telegram-Chat-Einladung oder ein herunterladbares Datei-Paket. Dodo Payments stellt diesen Zugang automatisch aus, verfolgt ihn und widerruft ihn, wenn sich der Zahlungslebenszyklus ändert.

Was sind Berechtigungen?
Eine Berechtigung ist eine wiederverwendbare Definition von etwas, das Sie einem Kunden liefern: ein Pro-Lizenzschlüssel, eine “Patrons”-Discord-Rolle, Zugang zu Ihrem privaten GitHub-Repository, ein herunterladbares eBook-Paket. Sie fügen Produkte Berechtigungen hinzu, und Dodo Payments kümmert sich um den Rest. Wenn ein Kunde das Produkt kauft, erstellt Dodo Payments eine Zuweisung, die Ausgabe dieser Berechtigung an einen einzelnen Kunden. Zuweisungen durchlaufen eine kleine Anzahl von Status:pending, während die Lieferung im Gange ist, delivered, sobald der Kunde Zugang hat, failed, wenn die Lieferung nicht abgeschlossen werden konnte, und revoked, wenn der Zugang entzogen wird.
Verfügbare Integrationen
Dodo Payments liefert jede Berechtigung durch eine dedizierte Integration. Wählen Sie die Integration, die zu Ihrem Verkauf passt.License Keys
Erstellen Sie eindeutige Lizenzschlüssel mit Aktivierungsbegrenzungen und Ablauf. Am besten geeignet für Software, Plugins und CLIs.
Digital Files
Liefern Sie herunterladbare Dateien (eBooks, Vorlagen, Medien) mit vorgesignierten Download-URLs und optionalen Anweisungen.
Discord
Gewähren Sie einem Kunden eine Rolle auf Ihrem Discord-Server, wenn er kauft. Widerrufen Sie automatisch bei Kündigung.
GitHub
Fügen Sie Kunden als Mitarbeiter zu einem privaten Repository auf der von Ihnen gewählten Berechtigungsstufe hinzu.
Telegram
Fügen Sie Kunden nach dem Kauf zu einem privaten Telegram-Chat oder -Kanal hinzu.
Framer
Entsperren Sie einen Framer-Vorlagen-Remix-Link für zahlende Kunden.
Notion
Duplizieren Sie eine Notion-Vorlage in den Arbeitsbereich des Kunden beim Kauf.
Wie Zuweisungen funktionieren
Zuweisungen werden durch dieselben Zahlungs- und Abonnementereignisse gesteuert, die Sie bereits als Webhooks erhalten. Sie müssen die Zuweisungs-API für Käufe nicht selbst aufrufen. Dodo Payments erstellt und widerruft Zuweisungen automatisch basierend auf dem zugrunde liegenden Zahlungslebenszyklus.Zuweisungslebenszyklus
Created
Eine Zuweisung wird erstellt, wenn eine Zahlung abgeschlossen wird oder ein Abonnement aktiv wird. Lizenzschlüssel springen direkt zu
delivered. Jede andere Integration beginnt in pending. OAuth-basierte Integrationen (Discord, GitHub, Notion) beinhalten ein oauth_url, das der Kunde besuchen muss, um die Zustimmung abzuschließen. Plattformdirekte Integrationen (Telegram, Framer, Digitale Dateien) verweilen nur kurz in pending, während die Lieferung bereitgestellt wird, und wechseln dann zu delivered.Delivered
Sobald die Lieferung abgeschlossen ist (Lizenzschlüssel generiert, Rolle zugewiesen, Repository-Zugang gewährt, Dateilinks aufgelöst, OAuth abgeschlossen), wechselt die Zuweisung zu
delivered und delivered_at wird gesetzt.Failed
Wenn der Integrationsaufruf einen nicht erneut versuchbaren Fehler zurückgibt (widerrufener OAuth-Token, verweigerte Berechtigung, Datei existiert nicht mehr), wechselt die Zuweisung zu
failed. Die Felder error_code und error_message erfassen den Grund.Zuweisungsverhalten nach Ereignis
| Ereignis | Verhalten |
|---|---|
payment.succeeded (Einmalzahlung) | Erstellen Sie pro angehängter Berechtigung eine Zuweisung. |
payment.succeeded (abonnementgebundene Zahlung) | Keine Operation. Zuweisungen werden durch das untenstehende Abonnementereignis gesteuert. |
subscription.active | Erstellen Sie Zuweisungen für alle angehängten Berechtigungen, die noch keine haben. Geben Sie alle zuvor widerrufenen Zuweisungen für dasselbe Abonnement erneut zu. |
subscription.renewed | Keine Operation. Bestehende Zuweisungen bleiben über Verlängerungen hinweg bestehen. |
subscription.on_hold | Widerrufen Sie alle gelieferten und ausstehenden Zuweisungen. revocation_reason: subscription_on_hold. |
subscription.cancelled | Widerrufen Sie alle. revocation_reason: subscription_cancelled. |
subscription.expired | Widerrufen Sie alle. revocation_reason: subscription_expired. |
subscription.plan_changed | Widerrufen Sie alle aktuellen Zuweisungen, und erstellen Sie dann Zuweisungen für die Berechtigungen des neuen Plans. revocation_reason: plan_changed. |
refund.succeeded (Einmalzahlung) | Widerrufen Sie Zuweisungen für diese Zahlung. revocation_reason: refund. |
| Manuelle API-Widerruf | Widerrufen mit revocation_reason: manual. Manuelle Widerrufe werden bei Abonnementverlängerung nicht automatisch erneut zugewiesen. |
| Lizenzschlüssel deaktiviert | Bei Lizenzschlüssel-Zuweisungen widerruft das Deaktivieren des zugrunde liegenden Schlüssels die Zuweisung mit revocation_reason: license_key_disabled. Die Zuweisung wird automatisch wieder aktiviert, wenn der Schlüssel erneut aktiviert wird. |
| Plattformdrift erkannt | Wenn die Plattformseite einer Integration aus der Synchronisation gerät (eine Discord-Rolle manuell entfernt, die GitHub-App verliert Repository-Zugang oder ein Abgleichspass erkennt ein fehlendes Ziel), wird die Zuweisung mit revocation_reason: platform_external widerrufen. Wird bei Abonnementverlängerung nicht automatisch erneut zugewiesen, bis das zugrunde liegende Plattformproblem gelöst ist. |
Abonnementgetriebene Zuweisungen sind idempotent pro
(entitlement, customer, subscription); Verlängerungen und Reaktivierungen erstellen keine doppelten Zuweisungen. Einmalige Zuweisungen sind idempotent pro (entitlement, customer, payment).Erstellen Sie Ihre erste Berechtigung
Open Entitlements
Gehen Sie zu Berechtigungen in Ihrem Dodo Payments-Dashboard und klicken Sie auf +, um eine neue Berechtigung zu erstellen.
Pick an integration
Wählen Sie den Integrationstyp: Lizenzschlüssel, Digitale Dateien, Discord, GitHub, Telegram, Framer oder Notion. Für Plattformintegrationen verbinden Sie zuerst Ihr Konto, falls noch nicht geschehen.
Configure delivery
Füllen Sie die integratioonspezifischen Felder aus. GitHub fragt zum Beispiel nach einem Repository und einer Berechtigungsstufe; Discord fragt nach einem Server und einer optionalen Rolle; der Lizenzschlüssel fragt nach Aktivierungsgrenzen und Ablaufdatum.

Berechtigungen an Produkte anhängen
Öffnen Sie ein Produkt, erweitern Sie Erweiterte Einstellungen → Berechtigungen & Credits und wählen Sie die Berechtigungen, die bei Kauf des Produkts geliefert werden sollen. Ein einzelnes Produkt kann mehrere Berechtigungen gleichzeitig bereitstellen. Ein Pro-Plan kann beispielsweise einen Lizenzschlüssel, GitHub-Zugang und eine Discord-Rolle umfassen.
Kundenerfahrung
E-Mail und Kundenportal
Kunden erhalten nach dem Kauf eine Liefer-E-Mail, die den Lizenzschlüssel, Download-Links, OAuth-Einladungslinks oder die Plattform-Einladung enthält, je nachdem, welche für die Berechtigungen des Produkts gilt. Die gleichen Details bleiben im Kundenportal unter ihrem Bestellverlauf unbegrenzt verfügbar.OAuth-basierte Lieferung
Discord-, GitHub- und Notion-Abonnentenzugriff erfordern, dass der Kunde Dodo Payments autorisiert, ihnen Zugang zu gewähren. Diese Zuweisungen verbleiben im Statuspending, bis der Kunde den OAuth-Fluss über den Link in seiner E-Mail oder im Kundenportal abschließt. Sobald sie autorisieren, wechselt die Zuweisung zu delivered und der Plattformzugang wird sofort bereitgestellt.
Widerruf
Widerrufene Zuweisungen werden auf der Plattformebene entfernt: die Discord-Rolle wird entfernt, der GitHub-Mitarbeiter wird entfernt, der Lizenzschlüssel wird deaktiviert. Kunden sehen die Änderung im Kundenportal widergespiegelt.Zuweisungen verwalten
Öffnen Sie eine Berechtigung aus dem Dashboard, um deren Zuweisungen zu sehen. Das Zuweisungs-Detailfeld zeigt die Gesamtanzahl der Zuweisungen, Statusfilter, Kundeninformationen, Lieferdaten und eine Widerrufaktion. Sie können Zuweisungen auch programmgesteuert verwalten:API-Verwaltung
Create Entitlement
Erstellen Sie eine neue Berechtigung jeder Integrationstyp.
List Entitlements
Listen Sie Berechtigungen mit Filterung nach Integrationstyp auf.
Get Entitlement
Rufen Sie eine Berechtigung und deren aufgelöste Konfiguration ab.
Update Entitlement
Aktualisieren Sie Name, Beschreibung oder Integrationskonfiguration.
Delete Entitlement
Soft-Delete einer Berechtigung; bestehende Zuweisungen bleiben unbeeinflusst.
Upload File
Laden Sie eine Datei zu einer digitalen Dateien-Berechtigung hoch (bis zu 100 MB).
List Grants
Listen Sie alle Zuweisungen für eine Berechtigung mit Status- und Kundenfiltern auf.
Revoke Grant
Widerrufen Sie eine einzelne Zuweisung manuell.
Webhooks
Dodo Payments löst vier Webhook-Ereignisse für den Zuweisungslebenszyklus aus. Abonnieren Sie diese Ereignisse, um Ihre Anwendung mit dem abzustimmen, auf was jeder Kunde zugreifen kann.| Ereignis | Wird ausgelöst, wenn |
|---|---|
entitlement_grant.created | Eine neue Zuweisung erstellt wird. Lizenzschlüssel-Zuweisungen kommen delivered an; jede andere Integration kommt pending an und wechselt zu delivered, sobald der Plattformaufruf erfolgreich ist (oder, für OAuth-basierte Integrationen, sobald der Kunde autorisiert). |
entitlement_grant.delivered | Die Zuweisung wird als geliefert markiert. Der Kunde hat jetzt Zugang. |
entitlement_grant.failed | Die Zuweisung konnte nicht geliefert werden. Überprüfen Sie error_code und error_message. |
entitlement_grant.revoked | Der Zugang wurde entzogen. Überprüfen Sie revocation_reason. |
Entitlement Grant Webhook Payloads
Sehen Sie sich das vollständige Payload-Schema, Beispielereignisse und
revocation_reason-Referenz an.Beste Praktiken
- Verwenden Sie eine Berechtigung pro Lieferkanal. Teilen Sie keine einzelne Discord-Berechtigung über Produkte mit unterschiedlichen Rollenabsichten; erstellen Sie eine pro Rolle für eine saubere Widerrufung.
- Testen Sie zuerst im Testmodus. Erstellen Sie die Berechtigung, fügen Sie sie einem Testprodukt hinzu, führen Sie einen Checkout aus und beobachten Sie die Zuweisungstransition durch
pending → delivered. Bestätigen Sie, dass das Kündigen des Test-Abonnements die Zuweisung widerruft. - Hören Sie auf
entitlement_grant.delivered, nichtpayment.succeeded. Eine Zahlung kann erfolgreich sein, bevor die Erfüllung abgeschlossen ist (insbesondere bei OAuth-Flows). Warten Sie auf das Lieferereignis, bevor Sie abhängige Funktionen in Ihren eigenen Systemen entsperren. - Behandeln Sie
entitlement_grant.failedals handlungsfähig. Eine fehlgeschlagene Zuweisung bedeutet, dass ein Kunde bezahlt hat, aber keinen Zugang erhalten hat. Präsentieren Sie diese Ihrem Support-Team oder lösen Sie einen erneuten Zuweisungsversuch aus. - Ordnen Sie
revocation_reasonIhren Erhaltungsflüssen zu. Einesubscription_on_hold-Widerrufung ist wiederherstellbar (der Kunde kann seine Karte aktualisieren). Einemanual-Widerrufung ist absichtlich. Behandeln Sie sie unterschiedlich in Kundenmitteilungen.