Licensnycklar är entitlement-typen License Key. Skapa ett License Key-entitlement en gång med den aktiveringsgräns, giltighetstid och det aktiveringsmeddelande du vill ha och koppla det sedan till valfri produkt. Som standard genererar och skickar Dodo Payments en nyckel via e-post för varje köpt enhet eller varje prenumerationsplats.
Vad är licensnycklar?
En licensnyckel är en unik token som ger åtkomst till din produkt. Använd licensnycklar för:- Programvarulicenser: skrivbordsappar, plugins och CLI:er.
- Platsbaserade kontroller: begränsa aktiveringar per användare eller enhet.
- Digitala varor: begränsa åtkomst till hämtningar, uppdateringar eller premiumfunktioner.
Create a License Key Entitlement
1
Open Entitlements
Gå till Entitlements i dashboarden och klicka på + för att skapa ett entitlement.
2
Choose License Key
Välj License Keys, ange ett Name och konfigurera hur varje utfärdad nyckel ska fungera:
- Fulfillment Mode: Automatic (standard) genererar och skickar varje nyckel via e-post. Manual låter dig ange varje nyckel själv. Se Manual Fulfillment.
- Activations Limit: det maximala antalet aktiva aktiveringar per nyckel, till exempel
1för en enskild användare eller5för en teamlicens. Välj Unlimited om ingen gräns ska gälla. - License Length: hur länge en nyckel förblir giltig efter att den utfärdats, till exempel 30 dagar eller 1 år, eller No expiration. För prenumerationsprodukter väljer du No expiration: nycklar som utfärdas för en prenumeration löper inte ut, och deras giltighet följer prenumerationens status.
- Activation Message: valfria instruktioner riktade till kunden, upp till 2 500 tecken, som inkluderas i e-postmeddelandet där nyckeln levereras. Till exempel:
Paste the key in Settings → LicenseellerRun: mycli activate <key>.

3
Save the Entitlement
Klicka på Create Entitlement. Du kan nu koppla entitlementet till valfri produkt.
Attach to Products
Öppna en produkt, gå till avsnittet Entitlements och välj ditt License Key-entitlement. En produkt kan leverera en licensnyckel tillsammans med andra entitlements vid samma köp, till exempel Discord-åtkomst, filhämtningar eller åtkomst till ett GitHub-arkiv.
Selecting the License Key entitlement in the product entitlements panel.
How Keys Are Issued
Utfärdandet av nycklar följer den vanliga grant-livscykeln. Varje händelse påverkar licensnycklar enligt följande:Beteende för antal
Antalet nycklar beror på var grantet kommer från. Varje nyckel får sitt eget grant.- Prenumerationsprodukter utfärdar en nyckel per plats (
subscriptions.quantity). - Engångsprodukter utfärdar en nyckel per enhet i kundvagnens radartikel (
product_cart.quantity). - Manuella API-grants utfärdar exakt en nyckel.
Fulfillment Mode
Varje License Key-entitlement har enfulfillment_mode som styr vem som tillhandahåller nyckeln:
auto(standard, Automatic i dashboarden): Dodo Payments genererar och skickar nyckeln via e-post vid betalning eller prenumeration. Detta är beteendet i tabellen ovan och gäller närfulfillment_modeutelämnas.manual(Manual i dashboarden): varje köpt enhet skapar ettPending-grant utan nyckel, och du anger varje nyckelvärde. Se Manual Fulfillment.
Manual Fulfillment
Med manuell fulfillment anger du varje licensnyckel i stället för att Dodo Payments genererar den. Köpet skapar ettPending-grant utan nyckel, meddelar dig via en webhook och väntar på att du ska skicka in nyckelvärdet. Använd detta när nycklar kommer från ditt eget system, en tredjepartsleverantör eller en begränsad pool av förtryckta koder.
Se Manual License Key Fulfillment Integration Guide för en steg-för-steg-guide från produktskapande till nyckelleverans.
När ska det användas?
Automatisk fulfillment passar de flesta programvarulicenser. Välj manuell fulfillment när Dodo Payments inte kan generera nyckeln själv:- Använd dina egna nycklar: din applikation, en skrivbordsprodukt eller din egen licensserver genererar nyckeln.
- Tredjepartsleverantörer: du säljer vidare nycklar som utfärdas av en överordnad leverantör, till exempel en spelnyckel, en API-uppgift eller en partnerplattformens licens.
- Begränsat lager: du delar ut koder från en förallokerad pool och tilldelar dem en i taget.
- Manuell granskning: du vill kontrollera ett köp innan du ger åtkomst.
Aktivera manuell fulfillment
Om du vill aktivera manuell fulfillment via API:t anger dufulfillment_mode: "manual" i License Key-entitlementets integration_config. I dashboarden ställer du in Fulfillment Mode på Manual.
fulfillment_mode är bakåtkompatibelt. Entitlements som skapades innan denna inställning fanns har inget fulfillment_mode och fungerar som auto. En ändring till manual påverkar endast grants som skapats efter ändringen. Redan levererade nycklar ändras inte.Hitta grants som väntar på fulfillment
När en kund köper en produkt med ett entitlement i manuellt läge skapar Dodo Payments grantet med statusPending utan nyckel och skickar en entitlement_grant.created-webhook med integration_type: "license_key" och status: "Pending". Reagera på den webhooken eller använd polling mot endpointen List Customer Grants med filtren integration_type och status:
Leverera nyckeln
Om du vill leverera en nyckel skickar du den till endpointen Fulfill License Key Grant. Grantet övergår tillDelivered och Dodo Payments skickar nyckeln via e-post till kunden. Det är samma e-postmeddelande som kunden får vid automatisk fulfillment.
cURL
activations_limit och expires_at är valfria. När du utelämnar dem använder Dodo Payments entitlementets konfiguration. Varje grant kan uppfyllas en gång: om du försöker igen med ett redan uppfyllt grant returneras 409 i stället för att en andra nyckel utfärdas.
Du behöver inte skicka nyckeln via e-post själv. Dodo Payments levererar den när grantet uppfylls. Importing keys med
POST /license_keys fungerar annorlunda: kunden meddelas inte.Aktivering, validering och inaktivering
Din programvara hanterar en nyckel under körning genom tre endpoints. Aktivering registrerar en enhet eller installation mot nyckeln, validering kontrollerar att nyckeln kan användas och inaktivering frigör en aktivering.Publika endpoints: Endpoints för att aktivera, inaktivera och validera licenser är publika och kräver ingen API-nyckel. Anropa dem direkt från skrivbordsprogram, CLI:er eller webbläsarbaserade klienter utan att exponera dina API-uppgifter. SDK-konstruktorerna kräver fortfarande ett bearer-tokenvärde, så SDK-exemplen skickar en platshållare.
Aktivera en licens
Aktivering skapar en aktiveringsinstans för nyckeln och returnerar den med ettlki_-ID. Spara detta ID eftersom du behöver det för att inaktivera instansen. Begäran returnerar 403 om nyckeln inte är aktiv, 404 om nyckeln inte finns och 422 om nyckeln har nått sin aktiveringsgräns.
Validera en licens
Validering returnerarvalid: true när nyckelns status är active och nyckeln inte har löpt ut. Om du även vill kontrollera att en specifik aktiveringsinstans fortfarande finns skickar du dess license_key_instance_id.
Inaktivera en aktiveringsinstans
Inaktivering tar bort en aktiveringsinstans och frigör en aktivering på nyckeln. Skicka nyckeln och det instans-ID som aktiveringen returnerade. Begäran returnerar403 om instansen inte tillhör nyckeln och 404 om nyckeln inte finns.
Hantera nycklar
Om du vill se utfärdade nycklar öppnar du License Key-entitlementet under Entitlements. Grantlistan visar en rad per kundnyckel med kunden, datumet då den användes, statusen och åtgärden Revoke. Om du vill se en nyckels giltighetstid, aktiveringsantal och aktiveringsgräns öppnar du den under Sales → License Keys. Om du vill lista grants programmatiskt anropar du List Grants. På varje licensnyckel-grant innehåller objektetlicense_key nyckeln, statusen, giltighetstiden, använda aktiveringar och aktiveringsgränsen. Objektet är null för ett grant i manuellt läge som fortfarande har status Pending.
Importera befintliga licensnycklar via API
Om du vill migrera licensnycklar från ett annat system importerar du dem med API:t Create License Key. Dina kunder fortsätter att aktivera, validera och inaktivera samma nyckelsträngar, så du behöver inte utfärda nycklar på nytt. Begäran kräverkey, customer_id och product_id. Utelämna activations_limit för obegränsade aktiveringar och utelämna expires_at för en nyckel som aldrig löper ut. Om du importerar en nyckelsträng som redan finns returneras 409.
Hur nycklar skiljer sig beroende på källa
Fältetsource registrerar hur varje licensnyckel skapades:
Använd
source för att skilja migrerade och manuellt uppfyllda nycklar från nycklar som Dodo Payments genererat, till exempel när du stämmer av eller granskar nycklar. Fältet finns i licensnyckelposter, till exempel i svaret från POST /license_keys. Objektet license_key i grants från List Grants innehåller inte fältet. Den äldre endpointen GET /license_keys, som returnerar source och accepterar ett source-filter, är föråldrad.
Licensnycklar i return-URL:en
När en kund köper en produkt med ett License Key-entitlement lägger Dodo Payments till den genererade nyckeln i dinreturn_url som frågeparametern license_key. Din bekräftelsesida kan visa nyckeln utan ett extra API-anrop:
%2C, så läs parametern med en URL-parser, som avkodar den, innan du delar upp den:
subscription_id och prenumerationsstatusen i stället för payment_id:
API-hantering
Lifecycle Operations (Public Endpoints)
Lifecycle Operations (Public Endpoints)
Aktivering, inaktivering och validering är publika och kräver ingen API-nyckel.
Activate License
Skapa en aktiveringsinstans för en licensnyckel.
Deactivate License
Ta bort en aktiveringsinstans för att frigöra kapacitet.
Validate License
Kontrollera att en nyckel är aktiv och inte har löpt ut innan du beviljar åtkomst.
License Key Management
License Key Management
Skapa, lista, hämta och uppdatera enskilda licensnyckelposter. Använd dessa endpoints för att importera befintliga nycklar eller läsa användningsdetaljer.
Create License Key
Skapa en licensnyckel eller importera en befintlig.
List License Keys
Bläddra bland alla nycklar med status- och användningsdetaljer.
Get License Key
Hämta en specifik nyckel och dess metadata.
Update License Key
Ändra giltighetstiden eller aktiveringsgränsen eller aktivera eller inaktivera en nyckel.
Entitlement Management
Entitlement Management
Hantera själva License Key-entitlementet: dess aktiveringsgräns, licenslängd och aktiveringsmeddelande.
Create Entitlement
Skapa ett License Key-entitlement.
Update Entitlement
Uppdatera entitlementets konfiguration.
List Grants
Lista nycklarna som utfärdats för ett entitlement.
Revoke Grant
Återkalla en kunds nyckel manuellt.
Webhooks
Leverans och återkallning av licensnycklar skickar de fyraentitlement_grant.* webhook-händelserna. För licensnyckel-grants innehåller nyttolasten ett license_key-objekt med nyckeln, statusen, giltighetstiden, använda aktiveringar och aktiveringsgränsen.
Den äldre händelsen license_key.created utlöses fortfarande när en licensnyckelpost skapas. Se sidan License Key webhook payload.
Äldre licensnycklar
Produkter som skapats med den äldre flaggan
license_key_enabled har migrerats automatiskt till ett License Key-entitlement. Migreringen är transparent: befintliga kunders nycklar fortsätter att fungera, de publika endpointsen /licenses/activate, /licenses/validate och /licenses/deactivate fortsätter att fungera och API-endpointsen /license_keys/* läser från och skriver till samma nyckellager.Den fristående dashboard-sektionen Sales → License Keys finns fortfarande kvar som en platt lista över alla utfärdade nycklar för granskning och sökning. Om du vill ändra aktiveringsgränser, licenslängd eller aktiveringsmeddelande redigerar du det migrerade License Key-entitlementet under Entitlements.Bästa praxis
- Välj tydliga aktiveringsgränser: välj standardvärden som 1 för appar för enskilda användare eller 3–5 för teamlicenser och dokumentera dem för dina kunder.
- Skriv tydliga aktiveringsmeddelanden: kunder kopierar dem från e-postmeddelandet med licensnyckeln, så exakta sökvägar och kommandon förebygger supportärenden.
- Validera nycklar mot API:t: för nätverksanslutna produkter anropar du
/licenses/validatei stället för att förlita dig på en lokalt cachad aktivering. - Använd webhooks för återkallning: hantera
entitlement_grant.revokedför att inaktivera funktioner i appen när en kund avslutar eller får en återbetalning. - Testa prenumerationer och engångsköp: licensnycklars beteende skiljer sig mellan dessa, till exempel löper prenumerationsnycklar inte ut, så testa båda innan du går live.