Berechtigungen verwandeln eine erfolgreiche Zahlung oder ein aktives Abonnement in echten Zugriff: ein Lizenzschlüssel im Posteingang Ihres Kunden, ein Feature Flag, das Ihre App überprüft, eine Discord-Rolle, ein GitHub-Repository, eine Notion-Vorlage, ein Framer-Remix-Link, eine Telegram-Chat-Einladung oder ein herunterladbares Dateipaket. Dodo Payments stellt diesen Zugriff automatisch aus, verfolgt 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.
Feature Flags
Sperren Sie Funktionen in Ihrer eigenen App nach einem Kauf. Sofort bereitgestellt, per API überprüft, bei Kündigung widerrufen.
Discord
Gewährt einem Kunden eine Rolle auf Ihrem Discord-Server, wenn er kauft. Widerruf automatisch bei Kündigung.
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
Berechtigungen werden von denselben Zahlungs- und Abonnementereignissen angetrieben, die Sie bereits als Webhooks erhalten. Sie müssen die Grant-API nicht selbst für Käufe aufrufen. Dodo Payments erstellt und widerruft Berechtigungen basierend auf dem zugrunde liegenden Zahlungslebenszyklus automatisch.Lebenszyklus der Berechtigung
Created
Eine Berechtigung wird erstellt, wenn eine Zahlung abgeschlossen oder ein Abonnement aktiv wird. Lizenzschlüssel und Feature-Flags springen direkt zu
delivered. Alle anderen Integrationen beginnen in pending. Auf OAuth basierende Integrationen (Discord, GitHub, Notion) beinhalten einen oauth_url, den der Kunde besuchen muss, um die Zustimmung abzuschließen. Plattformdirekte Integrationen (Telegram, Framer, Digitale Dateien) verbleiben nur kurz in pending, während die Bereitstellung erfolgt, und wechseln dann zu delivered.Delivered
Sobald die Bereitstellung abgeschlossen ist (Lizenzschlüssel generiert, Rolle zugewiesen, Repository-Zugriff gewährt, Dateilinks gelöst, OAuth abgeschlossen), wechselt die Berechtigung zu
delivered und delivered_at wird gesetzt.Failed
Wenn der Integrationsaufruf einen nicht erneut versuchbaren Fehler zurückgibt (zum Beispiel widerrufenes OAuth-Token, verweigerte Berechtigung, Datei existiert nicht mehr), wechselt die Berechtigung zu
failed. Die Felder error_code und error_message erfassen den Grund.Berechtigungsverhalten nach Ereignis
| Ereignis | Verhalten |
|---|---|
payment.succeeded (Einmalzahlung) | Erteilen Sie eine Berechtigung pro angehängtem Berechtigungsnachweis. |
payment.succeeded (Abonnement-gebundene Zahlung) | Keine Aktion. Berechtigungen werden durch das folgende Abonnementereignis ausgelöst. |
subscription.active | Erteilen Sie Berechtigungen für alle angehängten Berechtigungsnachweise, die noch keine haben. Gewähren Sie alle zuvor für dasselbe Abonnement widerrufenen Berechtigungen erneut. |
subscription.renewed | Keine Aktion. Bestehende Berechtigungen bestehen über Erneuerungen hinaus. |
subscription.on_hold | Widerrufen Sie alle ausgelieferten und ausstehenden Berechtigungen. 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 Berechtigungen und erteilen Sie dann Berechtigungen für die neuen Planberechtigungen. revocation_reason: plan_changed. |
refund.succeeded (Einmalzahlung) | Widerrufen Sie Berechtigungen für diese Zahlung. revocation_reason: refund. |
| Manueller API-Widerruf | Widerrufen Sie mit revocation_reason: manual. Manuelle Widerrufe werden bei Abonnementerneuerung nicht automatisch erneut gewährt. |
| Lizenzschlüssel deaktiviert | Für Lizenzschlüsselberechtigungen widerruft das Deaktivieren des zugrunde liegenden Schlüssels die Berechtigung mit revocation_reason: license_key_disabled. Die Berechtigung wird automatisch wieder aktiviert, wenn der Schlüssel wieder aktiviert wird. |
| Plattform-Abweichung erkannt | Wenn die Plattformseite einer Integration aus dem Gleichgewicht gerät (eine Discord-Rolle manuell entfernt wurde, die GitHub-App den Repository-Zugriff verloren hat oder ein Abgleichvorgang ein fehlendes Ziel erkannt hat), wird die Berechtigung mit revocation_reason: platform_external widerrufen. Wird bei Abonnementerneuerung nicht automatisch erneut gewährt, bis das zugrunde liegende Plattformproblem behoben ist. |
Abonnementgetriebene Berechtigungen sind idempotent pro
(entitlement, customer, subscription); Erneuerungen und Reaktivierungen erzeugen keine doppelten Berechtigungen. Einmalige Berechtigungen sind idempotent pro (entitlement, customer, payment).Erstellen Sie Ihr erstes Berechtigungsnachweis
Open Entitlements
Gehen Sie in Ihrer Dodo Payments-Dashboard zu Berechtigungen und klicken Sie auf +, um ein neues Berechtigungsnachweis zu erstellen.
Pick an integration
Wählen Sie den Integrationstyp: Lizenzschlüssel, Digitale Dateien, Feature Flag, Discord, GitHub, Telegram, Framer oder Notion. Für Plattformintegrationen verbinden Sie zuerst Ihr Konto, wenn Sie dies nicht bereits getan haben.
Configure delivery
Füllen Sie die integrationsspezifischen Felder aus. Zum Beispiel fragt GitHub nach einem Repository und einer Berechtigungsebene; Discord fragt nach einem Server und einer optionalen Rolle; der Lizenzschlüssel fragt nach Aktivierungslimits und Ablaufdatum.

Berechtigungen an Produkte anhängen
Öffnen Sie ein Produkt, erweitern Sie Erweiterte Einstellungen → Berechtigungen & Credits und wählen Sie die Berechtigungen aus, die geliefert werden sollen, wenn das Produkt gekauft wird. Ein einzelnes Produkt kann mehrere Berechtigungen gleichzeitig bereitstellen. Zum Beispiel kann ein Pro-Plan einen Lizenzschlüssel, GitHub-Zugriff und eine Discord-Rolle enthalten.
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 Berechtigungen auf dem Produkt angewendet werden. Dieselben Details bleiben im Kundenportal unter ihrer Bestellhistorie unbegrenzt verfügbar.OAuth-basierte Lieferung
Zugriffe für Discord, GitHub und Notion-Abonnenten erfordern, dass der Kunde Dodo Payments autorisiert, ihm/ihr Zugriff zu gewähren. Diese Berechtigungen verbleiben im Statuspending, bis der Kunde den OAuth-Fluss mit dem Link aus seiner E-Mail oder dem Kundenportal abschließt. Sobald sie autorisieren, wechselt die Berechtigung zu delivered und der Plattformzugriff wird sofort bereitgestellt.
Widerruf
Widerrufene Berechtigungen werden auf Plattformebene entfernt: die Discord-Rolle wird entfernt, der GitHub-Mitarbeiter wird entfernt, der Lizenzschlüssel wird deaktiviert. Kunden sehen die Änderung im Kundenportal widergespiegelt.Berechtigungen verwalten
Öffnen Sie ein Berechtigungsnachweis von Ihrem Dashboard aus, um seine Berechtigungen zu sehen. Das Detailfenster der Berechtigung zeigt die Gesamtanzahl der Berechtigungen, Statusfilter, Kundeninformationen, Lieferdaten und eine Widerrufsaktion. Sie können Berechtigungen auch programmgesteuert verwalten:API-Verwaltung
Create Entitlement
Erstellen Sie ein neues Berechtigungsnachweis eines beliebigen Integrationstyps.
List Entitlements
Listen Sie Berechtigungsnachweise mit Filterung nach Integrationstyp.
Get Entitlement
Rufen Sie ein Berechtigungsnachweis und dessen gelöste Konfiguration ab.
Update Entitlement
Aktualisieren Sie Name, Beschreibung oder Integrationskonfiguration.
Delete Entitlement
Löschen Sie ein Berechtigungsnachweis soft; bestehende Berechtigungen sind nicht betroffen.
Upload File
Laden Sie eine Datei in eine Digitale Dateien-Berechtigung hoch (bis zu 500 MiB).
List Grants
Listen Sie alle Berechtigungen für ein Berechtigungsnachweis mit Status und Kundenfiltern auf.
Revoke Grant
Widerrufen Sie manuell eine einzelne Berechtigung.
Webhooks
Dodo Payments löst vier Webhook-Ereignisse für den Berechtigungslebenszyklus aus. Abonnieren Sie diese Ereignisse, um Ihre Anwendung mit dem in Einklang zu bringen, worauf jeder Kunde Zugriff hat.| Ereignis | Wird ausgelöst, wenn |
|---|---|
entitlement_grant.created | Ein neuer Berechtigung erstellt wird. Lizenzschlüssel-Berechtigungen 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 Berechtigung wird als geliefert gekennzeichnet. Der Kunde hat jetzt Zugriff. |
entitlement_grant.failed | Die Berechtigung konnte nicht geliefert werden. Überprüfen Sie error_code und error_message. |
entitlement_grant.revoked | Der Zugriff 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.Best Practices
- Verwenden Sie pro Bereitstellungskanal ein Berechtigungsnachweis. Teilen Sie keine einzelne Discord-Berechtigung über Produkte mit unterschiedlichen Rollenabsichten; erstellen Sie eine pro Rolle für saubereren Widerruf.
- Testen Sie zuerst im Testmodus. Erstellen Sie die Berechtigung, fügen Sie sie einem Testprodukt hinzu, führen Sie eine Checkout durch und beobachten Sie, wie die Berechtigung durch
pending → deliveredwechselt. Bestätigen Sie, dass die Kündigung des Testabonnements die Berechtigung widerruft. - Hören Sie auf
entitlement_grant.delivered, nicht aufpayment.succeeded. Eine Zahlung kann erfolgreich sein, bevor die Erfüllung abgeschlossen ist (besonders bei OAuth-Flows). Warten Sie auf das Lieferereignis, bevor Sie abhängige Funktionen in Ihren eigenen Systemen entsperren. - Behandeln Sie
entitlement_grant.failedals handlungsrelevant. Eine fehlgeschlagene Berechtigung bedeutet, dass ein Kunde bezahlt hat, aber keinen Zugriff erhalten hat. Zeigen Sie diese Ihrem Support-Team oder lösen Sie eine erneute Grant-Aktion aus. - Karte
revocation_reasonzu Ihren Retentionsflüssen ab. Einesubscription_on_hold-Widerruf ist rückholbar (der Kunde könnte seine Karte aktualisieren). Einemanual-Widerruf ist beabsichtigt. Behandeln Sie sie unterschiedlich in der Kundenkommunikation.