Lizenzschlüssel sind der Berechtigungstyp “License Key”. Erstellen Sie eine License Key-Berechtigung einmalig mit dem gewünschten Aktivierungslimit, Ablauf und Anweisungen, verknüpfen Sie sie mit einem Produkt, und Dodo Payments generiert und liefert automatisch einen Schlüssel pro Kauf oder Abonnementplatz.
Was sind Lizenzschlüssel?
Lizenzschlüssel sind einzigartige Tokens, die den Zugriff auf Ihr Produkt autorisieren. Sie sind ideal für:- Softwarelizenzierung: Desktop-Apps, Plugins und CLIs
- Pro-Benutzer-Kontrollen: Begrenzen Sie die Aktivierungen pro Benutzer oder Gerät
- Digitale Waren: Steuern Sie Downloads, Updates oder Premium-Funktionen
Erstellen Sie eine License Key-Berechtigung
1
Open Entitlements
Gehen Sie zu Berechtigungen in Ihrem Dodo Payments-Dashboard und klicken Sie auf +, um eine neue Berechtigung zu erstellen.
2
Choose License Key
Wählen Sie License Key als Integration. Konfigurieren Sie, wie sich jeder ausgegebene Schlüssel verhält:
- Aktivierungslimit: Maximale gleichzeitige Aktivierungen pro Schlüssel (z.B.
1für Einzelbenutzer,5für Teamlizenzen, leer lassen für unbegrenzt). - Dauer: Wie lange der Schlüssel nach der Ausgabe gültig bleibt (z.B. 30 Tage, 1 Jahr). Für Abonnement-gestützte Schlüssel leer lassen; Schlüssel bleiben gültig, solange das Abonnement aktiv ist.
- Aktivierungsanweisungen: Kundengerichtete Anweisungen, die mit dem Schlüssel per E-Mail gesendet werden. Beispiele:
Paste the key in Settings → LicenseoderRun: mycli activate <key>.

3
Save the entitlement
Speichern. Die Berechtigung ist jetzt verfügbar, um sie mit jedem Produkt zu verknüpfen.
An Produke anhängen
Öffnen Sie ein Produkt, erweitern Sie Erweiterte Einstellungen → Berechtigungen & Gutschriften und wählen Sie Ihre License Key-Berechtigung aus. Ein einzelnes Produkt kann gemeinsam mit anderen Berechtigungen (Discord-Zugang, Dateidownloads, GitHub-Repo-Zugang usw.) einen Lizenzschlüssel bei demselben Kauf liefern.
Selecting the License Key entitlement in the product entitlements panel.
Wie Schlüssel ausgegeben werden
Die Schlüsselausgabe folgt dem Standard Zuwendungslebenszyklus:Verhaltensweise der Menge
- Abonnementprodukte geben einen Schlüssel pro Sitzplatz aus (
subscriptions.quantity). - Einmalprodukte geben einen Schlüssel pro Warenkorbposition aus (
product_cart.quantity). - Manuelle API-Zuwendungen geben genau einen Schlüssel aus.
Erfüllungsmodus
Jede Lizenzschlüsselberechtigung hat einenfulfillment_mode, der steuert, wer den Schlüssel bereitstellt:
auto(default): Dodo Payments generiert den Schlüssel automatisch und sendet ihn per E-Mail, sobald eine Zahlung oder ein Abonnement erfolgt. Dies ist das oben beschriebene Verhalten und gilt, wennfulfillment_modeweggelassen wird.manual: Beim Kauf wird einePending-Berechtigung ohne Schlüssel erstellt, und Sie geben jeden Schlüsselwert selbst an. Weitere Informationen finden Sie unten unter Manuelle Erfüllung.
Manuelle Erfüllung
Standardmäßig generiert Dodo Payments einen Lizenzschlüssel und sendet ihn per E-Mail, sobald ein Kunde bezahlt. Bei der manuellen Erfüllung geben Sie den Schlüssel selbst an: Beim Kauf wird einePending-Berechtigung ohne Schlüssel erstellt, Sie werden benachrichtigt und der Vorgang wartet darauf, dass Sie den Schlüsselwert übermitteln. Verwenden Sie diese Option, wenn die Schlüssel aus Ihrem eigenen System, von einem Drittanbieter oder aus einem begrenzten Vorrat vorgedruckter Codes stammen.
Sie suchen nach einem Schritt-für-Schritt-Aufbau? Lesen Sie den Manual License Key Fulfillment Integration Guide für eine vollständige Anleitung von der Produkterstellung bis zur Lieferung des Schlüssels.
Wann es zu verwenden ist
Die automatische Erfüllung ist die richtige Standardeinstellung für die meisten Softwarelizenzen. Wählen Sie die manuelle Erfüllung, wenn Dodo Payments den Schlüssel nicht selbst erstellen kann:- Bring-your-own-keys: Der Schlüssel wird von Ihrer Anwendung, einem Desktop-Produkt oder Ihrem eigenen Lizenzserver generiert.
- Drittanbieter: Sie verkaufen Schlüssel eines externen Anbieters weiter (ein Spielschlüssel, eine API-Zugangsdaten, eine Partnerplattform).
- Begrenzter Bestand: Sie geben Codes aus einem vorab zugewiesenen Pool aus und möchten sie einzeln zuweisen.
- Manuelle Überprüfung: Sie möchten einen Kauf überprüfen, bevor Sie Zugriff gewähren.
Manuelle Erfüllung aktivieren
Setzen Siefulfillment_mode: "manual" in der Integrationskonfiguration der Lizenzschlüsselberechtigung:
fulfillment_mode ist rückwärtskompatibel. Berechtigungen, die vor dieser Einstellung erstellt wurden, haben keinen fulfillment_mode und verhalten sich weiterhin als auto. Der Wechsel zu manual betrifft nur Berechtigungen, die nach der Änderung erstellt wurden; bereits gelieferte Schlüssel bleiben unberührt.Berechtigungen finden, die auf Erfüllung warten
Wenn ein Kunde ein Produkt im manuellen Modus kauft, wird die Berechtigung mit dem StatusPending und ohne Schlüssel erstellt, und ein entitlement_grant.created-Webhook wird mit integration_type: "license_key" und status: "Pending" ausgelöst. Sie können auf diesen Webhook reagieren oder den Kundenberechtigungen auflisten-Endpunkt mit den Filtern integration_type und status abfragen:
Den Schlüssel liefern
Übermitteln Sie den Schlüssel mit dem Endpunkt Lizenzschlüssel-Berechtigung erfüllen. Die Berechtigung wechselt zuDelivered, und der Kunde erhält den Schlüssel automatisch per E-Mail – dieselbe E-Mail, die er auch bei der automatischen Erfüllung erhalten würde.
cURL
activations_limit und expires_at sind optional und greifen auf die Berechtigungskonfiguration zurück, wenn sie weggelassen werden. Jede Berechtigung kann einmal erfüllt werden; das erneute Versuchen einer bereits erfüllten Berechtigung gibt 409 zurück, anstatt einen zweiten Schlüssel auszugeben.
Sie müssen den Schlüssel nicht selbst per E-Mail versenden — die Lieferung erfolgt automatisch, wenn die Berechtigung erfüllt wird. Dies unterscheidet sich von Schlüssel importieren über
POST /license_keys, was bewusst nicht den Kunden benachrichtigt.Aktivierung, Validierung, Deaktivierung
Die Aktivierungs-, Validierungs- und Deaktivierungs-API-Endpunkte sind öffentlich und erfordern keinen API-Schlüssel. Verwenden Sie sie direkt von Desktop-Software, CLIs oder browserbasierten Clients, um Schlüssel zur Laufzeit zu verifizieren.Öffentliche Endpunkte: Die Endpunkte zur Aktivierung, Deaktivierung und Validierung von Lizenzen sind öffentlich und erfordern keinen API-Schlüssel. Rufen Sie sie direkt von Ihren Client-Anwendungen auf, ohne Ihre API-Zugangsdaten offenzulegen.
Eine Lizenz aktivieren
Eine Lizenz validieren
Eine Aktivierungsinstanz deaktivieren
Schlüssel verwalten
Öffnen Sie die Lizenzschlüsselberechtigung in Ihrem Dashboard, um jede Berechtigung zu sehen (eine Zeile pro Kunden-Schlüssel) mit Lieferdatum, Aktivierungsanzahl und einer Rücknahmeaktion. Jedes Berechtigungsdetail zeigt den zugehörigen Lizenzschlüssel, das Ablaufdatum, die verwendeten Aktivierungen und das Aktivierungslimit an. Sie können Berechtigungen auch programmatisch auflisten:Bestehende Lizenzschlüssel über die API importieren
Haben Sie bereits Lizenzschlüssel in einem anderen System? Verwenden Sie die Create License Key API, um sie in Dodo Payments zu importieren. So können Sie bestehende Schlüssel migrieren, ohne Ihre Kunden zu stören – sie können weiterhin gegen die gleichen Schlüsselstränge aktivieren, validieren und deaktivieren, ohne dass sie erneut ausgegeben werden.Wie sich Schlüssel je nach Quelle unterscheiden
Verwende das Feld
source in Datensätzen von Lizenzschlüsseln, um migrierte Bestände und manuell erfüllte Schlüssel von automatisch ausgestellten Schlüsseln zu unterscheiden, wenn du Abgleiche oder Audits durchführst. Lies es aus dem Objekt license_key in Grants, die von List Grants zurückgegeben werden; der veraltete Endpunkt GET /license_keys ist deprecated.
Lizenzschlüssel in der Rückgabe-URL
Wenn ein Kunde einen Kauf für ein Produkt mit einer Lizenzschlüsselberechtigung abschließt, wird der generierte Schlüssel automatisch als Abfrageparameter an Ihrereturn_url angehängt. Auf diese Weise können Sie den Schlüssel sofort auf Ihrer Erfolgseite anzeigen, ohne einen zusätzlichen API-Aufruf machen zu müssen.
subscription_id anstelle von payment_id verwendet:
API-Management
Lifecycle Operations (Public Endpoints)
Lifecycle Operations (Public Endpoints)
Aktivierung, Deaktivierung und Validierung sind öffentlich; kein API-Schlüssel erforderlich.
Activate License
Erstellen oder aufzeichnen einer Aktivierungsinstanz für einen Lizenzschlüssel.
Deactivate License
Eine vorherige Aktivierung widerrufen, um Kapazität freizugeben.
Validate License
Überprüfen Sie die Authentizität, den Status und die Einschränkungen, bevor Sie Zugriff gewähren.
License Key Management
License Key Management
Erstellen, auflisten, abrufen und aktualisieren von einzelnen Lizenzschlüssel-Datensätzen. Verwenden Sie diese, um vorhandene Schlüssel zu importieren oder Nutzungsdetails abzurufen.
Create License Key
Erstelle einen neuen Lizenzschlüssel oder importiere einen vorhandenen.
List License Keys
Durchsuche alle Schlüssel mit Status- und Nutzungsdetails.
Get License Key
Rufe einen bestimmten Schlüssel und seine Metadaten ab.
Update License Key
Ändere den Ablauf, Aktivierungslimits oder aktiviere bzw. deaktiviere einen Schlüssel.
Entitlement Management
Entitlement Management
Verwalte das License-Key-Entitlement selbst: sein Aktivierungslimit, seine Dauer und seine Anweisungen.
Create Entitlement
Erstelle ein License-Key-Entitlement.
Update Entitlement
Aktualisiere die Konfiguration des Entitlements.
List Grants
Liste die für ein Entitlement ausgestellten Schlüssel auf.
Revoke Grant
Widerrufe den Schlüssel eines Kunden manuell.
Webhooks
Die Zustellung und der Widerruf von Lizenzschlüsseln lösen die vierentitlement_grant.* Webhook-Events aus. Die Grant-Payload enthält ein ausgefülltes Objekt license_key mit dem Schlüssel, dem Ablauf, den verwendeten Aktivierungen und dem Limit.
Die älteren license_key.*-Events (license_key.created) werden weiterhin für den Lebenszyklus des zugrunde liegenden Lizenzschlüssel-Datensatzes ausgelöst; siehe die Seite zur Payload von License-Key-Webhooks.
Legacy-Lizenzschlüssel
Produkte, die mit dem älteren Flag
license_key_enabled erstellt wurden, wurden automatisch zu einem License-Key-Entitlement migriert. Die Migration erfolgt transparent: Die Schlüssel bestehender Kunden funktionieren weiterhin unverändert, die öffentlichen Endpunkte /licenses/activate, /licenses/validate und /licenses/deactivate funktionieren weiterhin, und die API-Endpunkte /license_keys/* lesen weiterhin aus demselben Schlüsselspeicher und schreiben in ihn.Der eigenständige Dashboard-Bereich License Keys bleibt als flache Liste aller ausgestellten Schlüssel verfügbar und eignet sich für Audits und die Suche. Neue Konfigurationen (das Ändern von Aktivierungslimits, Laufzeiten oder Anweisungen) sollten durch Bearbeiten des migrierten License-Key-Entitlements unter Entitlements vorgenommen werden.Best Practices
- Halte Aktivierungslimits klar: Wähle sinnvolle Standardwerte (1 für Einzelbenutzer-Apps, 3–5 für Teamlizenzen) und dokumentiere sie.
- Gib präzise Aktivierungsanweisungen: Kunden kopieren diese aus ihrer E-Mail. Genaue Pfade und Befehle reduzieren daher Supportanfragen.
- Validiere Schlüssel serverseitig: Verwende für Produkte mit Netzwerkverbindung
/licenses/validate, statt die Aktivierung lokal zwischenzuspeichern. - Verwende Webhooks für Widerrufe: Höre auf
entitlement_grant.revoked, um In-App-Funktionen sofort zu deaktivieren, wenn ein Kunde kündigt oder eine Rückerstattung erhält. - Teste mit Subscriptions und Einmalkäufen: Das Verhalten von Lizenzschlüsseln unterscheidet sich zwischen beiden leicht. Teste daher beide, bevor du live gehst.