Lizenzschlüssel sind der Entitlement-Typ License Key. Erstellen Sie einmal ein License Key-Entitlement mit dem gewünschten Aktivierungslimit, Ablaufdatum und Aktivierungsnachricht und fügen Sie es anschließend jedem beliebigen Produkt hinzu. Standardmäßig generiert und sendet Dodo Payments für jede gekaufte Einheit oder jeden Abonnement-Sitz einen Schlüssel per E-Mail.
Was sind Lizenzschlüssel?
Ein Lizenzschlüssel ist ein eindeutiges Token, das den Zugriff auf Ihr Produkt autorisiert. Verwenden Sie Lizenzschlüssel für:- Softwarelizenzierung: Desktop-Apps, Plugins und CLIs.
- Sitzbasierte Kontrollen: Aktivierungen pro Benutzer oder Gerät begrenzen.
- Digitale Güter: Downloads, Updates oder Premiumfunktionen freischalten.
Erstellen Sie eine License Key-Berechtigung
1
Open Entitlements
Gehen Sie im Dashboard zu Entitlements und klicken Sie auf +, um ein Entitlement zu erstellen.
2
Choose License Key
Wählen Sie License Keys, geben Sie einen Name ein und konfigurieren Sie, wie sich jeder ausgestellte Schlüssel verhalten soll:
- Fulfillment Mode: Automatic (Standard) generiert jeden Schlüssel und sendet ihn per E-Mail. Mit Manual können Sie jeden Schlüssel selbst bereitstellen. Siehe Manual Fulfillment.
- Activations Limit: die maximale Anzahl aktiver Aktivierungen pro Schlüssel, zum Beispiel
1für einen einzelnen Benutzer oder5für eine Teamlizenz. Wählen Sie Unlimited, um kein Limit festzulegen. - License Length: wie lange ein Schlüssel nach seiner Ausstellung gültig bleibt, zum Beispiel 30 Tage oder 1 Jahr, oder No expiration. Wählen Sie bei Abonnementprodukten No expiration: Für ein Abonnement ausgestellte Schlüssel haben kein Ablaufdatum, und ihre Gültigkeit folgt dem Abonnementstatus.
- Activation Message: optionale, an Kunden gerichtete Anweisungen mit bis zu 2.500 Zeichen, die in der E-Mail zum Schlüssel enthalten sind. Zum Beispiel:
Paste the key in Settings → LicenseoderRun: mycli activate <key>.

3
Save the Entitlement
Klicken Sie auf Create Entitlement. Sie können das Entitlement nun jedem beliebigen Produkt hinzufügen.
An Produke anhängen
Öffnen Sie ein Produkt, gehen Sie zum Abschnitt Entitlements und wählen Sie Ihr License Key-Entitlement aus. Ein Produkt kann bei demselben Kauf zusammen mit anderen Entitlements einen Lizenzschlüssel bereitstellen, zum Beispiel Discord-Zugriff, Dateidownloads oder Zugriff auf ein GitHub-Repository.
Selecting the License Key entitlement in the product entitlements panel.
Wie Schlüssel ausgegeben werden
Die Ausstellung von Schlüsseln folgt dem standardmäßigen grant lifecycle. Jedes Ereignis wirkt sich wie folgt auf Lizenzschlüssel aus:Verhalten bei Mengen
Die Anzahl der Schlüssel hängt davon ab, woher der Grant stammt. Jeder Schlüssel erhält seinen eigenen Grant.- Abonnementprodukte stellen einen Schlüssel pro Sitz aus (
subscriptions.quantity). - Einmalige Produkte stellen einen Schlüssel pro Einheit des Warenkorbpostens aus (
product_cart.quantity). - Manuelle API-Grants stellen genau einen Schlüssel aus.
Fulfillment Mode
Jedes License Key-Entitlement verfügt über einfulfillment_mode, das steuert, wer den Schlüssel bereitstellt:
auto(Standard, Automatic im Dashboard): Dodo Payments generiert den Schlüssel bei Zahlung oder Abonnement und sendet ihn per E-Mail. Dies entspricht dem Verhalten in der Tabelle oben und gilt, wennfulfillment_modenicht angegeben wird.manual(Manual im Dashboard): Für jede gekaufte Einheit wird einPending-Grant ohne Schlüssel erstellt, und Sie stellen jeden Schlüsselwert selbst bereit. Siehe Manual Fulfillment.
Manuelles Fulfillment
Beim manuellen Fulfillment stellen Sie jeden Lizenzschlüssel selbst bereit, anstatt ihn von Dodo Payments generieren zu lassen. Der Kauf erstellt einenPending-Grant ohne Schlüssel, benachrichtigt Sie per Webhook und wartet darauf, dass Sie den Schlüsselwert übermitteln. Verwenden Sie dies, wenn die Schlüssel aus Ihrem eigenen System, von einem Drittanbieter oder aus einem begrenzten Pool vorgedruckter Codes stammen.
Eine schrittweise Anleitung vom Erstellen des Produkts bis zur Zustellung des Schlüssels finden Sie im Manual License Key Fulfillment Integration Guide.
Wann sollte es verwendet werden?
Automatisches Fulfillment eignet sich für die meisten Softwarelizenzen. Wählen Sie manuelles Fulfillment, wenn Dodo Payments den Schlüssel nicht selbst generieren kann:- Eigene Schlüssel verwenden: Ihre Anwendung, ein Desktopprodukt oder Ihr eigener Lizenzserver generiert den Schlüssel.
- Drittanbieter: Sie verkaufen von einem vorgelagerten Anbieter ausgestellte Schlüssel weiter, zum Beispiel einen Spieleschlüssel, ein API-Credential oder eine Lizenz für eine Partnerplattform.
- Begrenzter Bestand: Sie geben Codes aus einem vorab zugewiesenen Pool einzeln aus.
- Manuelle Prüfung: Sie möchten einen Kauf prüfen, bevor Sie den Zugriff freigeben.
Manuelles Fulfillment aktivieren
Um manuelles Fulfillment über die API zu aktivieren, setzen Siefulfillment_mode: "manual" im integration_config des License Key-Entitlements. Setzen Sie im Dashboard Fulfillment Mode auf Manual.
fulfillment_mode ist abwärtskompatibel. Entitlements, die vor Einführung dieser Einstellung erstellt wurden, verfügen über kein fulfillment_mode und verhalten sich wie auto. Der Wechsel zu manual betrifft nur Grants, die nach der Änderung erstellt werden. Bereits zugestellte Schlüssel ändern sich nicht.Grants mit ausstehendem Fulfillment finden
Wenn ein Kunde ein Produkt mit einem Entitlement im manuellen Modus kauft, erstellt Dodo Payments den Grant im StatusPending ohne Schlüssel und sendet Ihnen einen entitlement_grant.created-Webhook mit integration_type: "license_key" und status: "Pending". Reagieren Sie auf diesen Webhook oder fragen Sie den Endpunkt List Customer Grants mit den Filtern integration_type und status ab:
Den Schlüssel zustellen
Um einen Schlüssel zuzustellen, senden Sie ihn an den Endpunkt Fulfill License Key Grant. Der Grant wechselt zuDelivered, und Dodo Payments sendet den Schlüssel per E-Mail an den Kunden. Es handelt sich um dieselbe E-Mail, die der Kunde beim automatischen Fulfillment erhält.
cURL
activations_limit und expires_at sind optional. Wenn Sie sie weglassen, verwendet Dodo Payments die Konfiguration des Entitlements. Jeder Grant kann nur einmal erfüllt werden: Beim erneuten Versuch, einen bereits erfüllten Grant zu erfüllen, wird 409 zurückgegeben, anstatt einen zweiten Schlüssel auszustellen.
Sie müssen den Schlüssel nicht selbst per E-Mail senden. Dodo Payments stellt ihn bereit, sobald der Grant erfüllt wurde. Importing keys mit
POST /license_keys funktioniert anders: Der Kunde wird dabei nicht benachrichtigt.Aktivierung, Validierung und Deaktivierung
Ihre Software verwaltet einen Schlüssel zur Laufzeit über drei Endpunkte. Die Aktivierung registriert ein Gerät oder eine Installation für den Schlüssel, die Validierung prüft, ob der Schlüssel verwendet werden kann, und die Deaktivierung gibt eine Aktivierung frei.Public Endpoints: Die Endpunkte zum Aktivieren, Deaktivieren und Validieren von Lizenzen sind öffentlich und erfordern keinen API-Schlüssel. Rufen Sie sie direkt aus Desktopsoftware, CLIs oder browserbasierten Clients auf, ohne Ihre API-Credentials offenzulegen. Die SDK-Konstruktoren erfordern weiterhin einen Bearer-Token-Wert, daher verwenden die SDK-Beispiele einen Platzhalter.
Eine Lizenz aktivieren
Die Aktivierung erstellt eine Aktivierungsinstanz für den Schlüssel und gibt sie mit einerlki_-ID zurück. Speichern Sie diese ID, da Sie sie benötigen, um die Instanz zu deaktivieren. Die Anfrage gibt 403 zurück, wenn der Schlüssel nicht aktiv ist, 404, wenn der Schlüssel nicht existiert, und 422, wenn der Schlüssel sein Aktivierungslimit erreicht hat.
Eine Lizenz validieren
Die Validierung gibtvalid: true zurück, wenn der Status des Schlüssels active ist und der Schlüssel noch nicht abgelaufen ist. Um zusätzlich zu prüfen, ob eine bestimmte Aktivierungsinstanz noch existiert, übergeben Sie deren license_key_instance_id.
Eine Aktivierungsinstanz deaktivieren
Die Deaktivierung entfernt eine Aktivierungsinstanz und gibt eine Aktivierung des Schlüssels frei. Übergeben Sie den Schlüssel und die Instanz-ID, die von der Aktivierung zurückgegeben wurde. Die Anfrage gibt403 zurück, wenn die Instanz nicht zum Schlüssel gehört, und 404, wenn der Schlüssel nicht existiert.
Schlüssel verwalten
Um ausgestellte Schlüssel anzuzeigen, öffnen Sie das License Key-Entitlement unter Entitlements. Die Grant-Liste zeigt eine Zeile pro Kundenschlüssel mit dem Kunden, dem Zugriffsdatum, dem Status und einer Revoke-Aktion. Um Ablaufdatum, Aktivierungsanzahl und Aktivierungslimit eines Schlüssels anzuzeigen, öffnen Sie ihn unter Sales → License Keys. Um Grants programmgesteuert aufzulisten, rufen Sie List Grants auf. Bei jedem License-Key-Grant enthält daslicense_key-Objekt den Schlüssel, den Status, das Ablaufdatum, die verwendeten Aktivierungen und das Aktivierungslimit. Bei einem Grant im manuellen Modus, der sich noch im Status Pending befindet, ist das Objekt null.
Vorhandene Lizenzschlüssel über die API importieren
Um Lizenzschlüssel aus einem anderen System zu migrieren, importieren Sie sie über die API Create License Key. Ihre Kunden können weiterhin dieselben Schlüsselzeichenfolgen aktivieren, validieren und deaktivieren, sodass Sie keine neuen Schlüssel ausstellen müssen. Die Anfrage erfordertkey, customer_id und product_id. Lassen Sie activations_limit für unbegrenzte Aktivierungen weg und expires_at für einen Schlüssel, der niemals abläuft. Der Import einer Schlüsselzeichenfolge, die bereits existiert, gibt 409 zurück.
Unterschiede zwischen den Schlüsselquellen
Das Feldsource zeichnet auf, wie jeder Lizenzschlüssel erstellt wurde:
Verwenden Sie
source, um migrierte und manuell erfüllte Schlüssel von durch Dodo Payments generierten Schlüsseln zu unterscheiden, etwa beim Abgleich oder bei der Prüfung von Schlüsseln. Das Feld befindet sich in Lizenzschlüssel-Datensätzen, zum Beispiel in der Antwort von POST /license_keys. Das license_key-Objekt in Grants von List Grants enthält es nicht. Der veraltete Endpunkt GET /license_keys, der source zurückgibt und einen source-Filter akzeptiert, ist deprecated.
Lizenzschlüssel in der Return URL
Wenn ein Kunde ein Produkt mit einem License Key-Entitlement kauft, hängt Dodo Payments den generierten Schlüssel alslicense_key-Queryparameter an Ihre return_url an. Ihre Erfolgsseite kann den Schlüssel ohne zusätzlichen API-Aufruf anzeigen:
%2C URL-kodiert. Lesen Sie den Parameter daher mit einem URL-Parser aus, der ihn dekodiert, bevor Sie ihn aufteilen:
subscription_id und den Abonnementstatus anstelle von payment_id:
API-Verwaltung
Lifecycle Operations (Public Endpoints)
Lifecycle Operations (Public Endpoints)
Aktivierung, Deaktivierung und Validierung sind öffentlich und erfordern keinen API-Schlüssel.
Activate License
Erstellt eine Aktivierungsinstanz für einen Lizenzschlüssel.
Deactivate License
Entfernt eine Aktivierungsinstanz, um Kapazität freizugeben.
Validate License
Prüft, ob ein Schlüssel aktiv und noch nicht abgelaufen ist, bevor Sie Zugriff gewähren.
License Key Management
License Key Management
Erstellt, listet, ruft ab und aktualisiert einzelne Lizenzschlüssel-Datensätze. Verwenden Sie diese Endpunkte, um vorhandene Schlüssel zu importieren oder Nutzungsdetails auszulesen.
Create License Key
Erstellt einen Lizenzschlüssel oder importiert einen vorhandenen.
List License Keys
Listet alle Schlüssel mit Status- und Nutzungsdetails auf.
Get License Key
Ruft einen bestimmten Schlüssel und seine Metadaten ab.
Update License Key
Ändert das Ablaufdatum oder Aktivierungslimit oder aktiviert bzw. deaktiviert einen Schlüssel.
Entitlement Management
Entitlement Management
Verwaltet das License Key-Entitlement selbst: sein Aktivierungslimit, seine Lizenzdauer und seine Aktivierungsnachricht.
Create Entitlement
Erstellt ein License Key-Entitlement.
Update Entitlement
Aktualisiert die Konfiguration des Entitlements.
List Grants
Listet die für ein Entitlement ausgestellten Schlüssel auf.
Revoke Grant
Widerruft den Schlüssel eines Kunden manuell.
Webhooks
Die Zustellung und der Widerruf von Lizenzschlüsseln senden die vierentitlement_grant.* Webhook-Ereignisse. Bei License-Key-Grants enthält die Payload ein license_key-Objekt mit Schlüssel, Status, Ablaufdatum, verwendeten Aktivierungen und Aktivierungslimit.
Das Legacy-Ereignis license_key.created wird weiterhin ausgelöst, wenn ein Lizenzschlüssel-Datensatz erstellt wird. Siehe die Payload-Seite für License Key-Webhooks.
Legacy-Lizenzschlüssel
Produkte, die mit dem älteren
license_key_enabled-Flag erstellt wurden, wurden automatisch migriert zu einem License Key-Entitlement. Die Migration ist transparent: Die Schlüssel bestehender Kunden funktionieren weiterhin, die öffentlichen Endpunkte /licenses/activate, /licenses/validate und /licenses/deactivate funktionieren weiterhin, und die API-Endpunkte /license_keys/* lesen und schreiben denselben Schlüsselspeicher.Der eigenständige Dashboard-Bereich Sales → License Keys bleibt als flache Liste aller ausgestellten Schlüssel für Prüfung und Suche verfügbar. Um Aktivierungslimits, Lizenzdauer oder Aktivierungsnachricht zu ändern, bearbeiten Sie das migrierte License Key-Entitlement unter Entitlements.Best Practices
- Wählen Sie klare Aktivierungslimits: Verwenden Sie Standardwerte wie 1 für Einzelbenutzer-Apps oder 3–5 für Teamlizenzen und dokumentieren Sie diese für Ihre Kunden.
- Formulieren Sie präzise Aktivierungsnachrichten: Kunden kopieren sie aus der Lizenzschlüssel-E-Mail. Genaue Pfade und Befehle vermeiden Supportanfragen.
- Validieren Sie Schlüssel über die API: Rufen Sie bei netzwerkverbundenen Produkten
/licenses/validateauf, anstatt sich auf eine lokal zwischengespeicherte Aktivierung zu verlassen. - Verwenden Sie Webhooks für Widerrufe: Verarbeiten Sie
entitlement_grant.revoked, um In-App-Funktionen zu deaktivieren, wenn ein Kunde kündigt oder eine Rückerstattung erhält. - Testen Sie Abonnements und einmalige Käufe: Das Verhalten von Lizenzschlüsseln unterscheidet sich zwischen beiden, beispielsweise laufen Abonnementschlüssel nicht ab. Testen Sie daher beide Varianten, bevor Sie live gehen.