pending-beviljande och väntar på att du ska leverera nyckelvärdet från ditt eget system, en tredjepartsleverantör eller en begränsad mängd koder.
När du är klar kommer du att ha:
- En produkt med rättigheter för licensnyckel inställd till
manualleverans. - En webhook-lyssnare som detekterar när en kund väntar på en nyckel.
- Ett leveranssamtal som levererar nyckeln och automatiskt meddelar kunden.
License Keys overview
Den fullständiga livscykeln för licensnyckeln och
fulfillment_mode-inställningen.Fulfill License Key Grant API
API-referens för slutpunkten du anropar för att leverera en nyckel.
Hur det fungerar
Manuell leverans ändrar endast utgivningssteget. Aktivering, validering, avaktivering, utgång och återkallande fungerar precis som en auto-genererad nyckel när den väl är levererad.Förutsättningar
För att följa denna guide behöver du:- Ett Dodo Payments handlarkonto.
- Din API-nyckel (
DODO_PAYMENTS_API_KEY) och hemlig webhook-nyckel från instrumentpanelen. Se Guiden för API-nyckelgenerering. - En backend-slutpunkt som kan ta emot webhooks.
Använd
https://test.dodopayments.com och testläges-uppgifter under byggandet. Byt till https://live.dodopayments.com och live-nycklar när du går till produktion.Steg 1 — Skapa en rättighet för licensnycklar i manuellt läge
En rättighet är en återanvändbar definition av vad du levererar. Skapa en rättighet för licensnyckel och ställ in dessfulfillment_mode till manual.
- Dashboard
- API
Open Entitlements
Gå till Rättigheter i din instrumentpanel och klicka på + för att skapa en ny rättighet.
Choose License Key
Välj Licensnyckel som integration och ge den ett Namn. Formuläret exponerar dessa fält:
- Leveransläge —
Automaticsom standard. Detta är inställningen som möjliggör manuell leverans; du ändrar det i nästa steg. - Licensens längd — hur länge varje utfärdad nyckel är giltig, eller Ingen utgång.
- Aktiveringsgräns — maximalt antal aktiveringar per nyckel, eller Obegränsat.
- Aktiveringsmeddelande — valfritt kundriktat meddelande som visas när de aktiverar nyckeln.

Set Fulfillment Mode to Manual
Öppna dropdown-menyn för Leveransläge och ändra från Automatisk till Manuell. Detta är inställningen som driver hela denna guide — utan den genereras och skickas nycklar automatiskt och inget väntande beviljande skapas. Med Manuell valt skapar varje köp ett
pending-beviljande för dig att fullgöra. Klicka på Skapa rättighet för att spara.fulfillment_mode standard är auto. Att utelämna det eller lämna en befintlig rättighet oförändrad behåller det automatiska beteendet. Endast rättigheter som explicit är inställda på manual skapar väntande beviljanden.Steg 2 — Fäst rättigheten till en produkt
Öppna produkten du vill sälja, expandera Avancerade inställningar → Rättigheter & Krediter, och välj Licensnyckelrättigheten du satte till Manuell i Steg 1. En enda produkt kan leverera denna licensnyckel tillsammans med andra rättigheter vid samma köp.
Leveransläge är en egenskap hos rättigheten, inte produkten. Eftersom du satte den till Manuell i Steg 1 skapar varje produkt denna rättighet är fäst vid
pending licensnyckel-beviljanden vid köp — det finns inget extra att konfigurera här.Steg 3 — Detektera väntande beviljanden
När en kund köper produkten skapar Dodo Payments ett beviljande ipending-status utan nyckel bifogad och skickar en entitlement_grant.created-webhook. Detta är din signal att en kund väntar på en nyckel.
Lyssna efter webhooks
Ställ in en webhook-slutpunkt (Utvecklare → Webhooks i instrumentpanelen) och agera på väntande licensnyckel-beviljanden. Implementationen följer specifikationen Standard Webhooks.integration_type: "license_key", så att du kan känna igen ett licensnyckel-beviljande utan ett extra uppslag. Se Referensen för Entitlement Grant-webhook för hela nyttolasten.
Eller fråga List Grants API
Om du hellre vill undvika webhooks, lista beviljanden för rättigheten och filtrera efterintegration_type och status:
Steg 4 — Leverera nyckeln
Hämta nyckelvärdet från ditt eget system och skicka det med Fullgör Licensnyckel-beviljande slutpunkten. Detta kräver din hemliga API-nyckel (Redaktörsbehörighet); det är inte en av de offentliga licens-slutpunkterna.Begär fält
Licensnyckelsträngen som ska levereras till kunden. Mellanslag trimmas; ett tomt eller endast mellanslag-värde avvisas.
Aktiveringsbegränsning per nyckel. Återgår till rättighetskonfigurationen när den utelämnas.
Förfallodatum per nyckel (ISO 8601). Återgår till rättighetskonfigurationens varaktighet när den utelämnas. För beviljanden utfärdade av prenumerationer förblir giltigheten kopplad till prenumerationen oavsett.
delivered, kunden skickas automatiskt nyckeln (samma e-post som de skulle ha fått under automatisk leverans), och entitlement_grant.delivered utlöses.
Kunden får ett e-postmeddelande med licensnyckeln, produkten, aktiveringsgränsen, utgången och dina aktiveringsinstruktioner:

Du behöver inte skicka nyckeln själv — leverans sker automatiskt när beviljandet fullgörs.
Steg 5 — Hantera fel och omförsökningar
Slutpunkten validerar beviljandet innan något levereras. Hantera dessa svar:| Status | Betydelse | Vad du ska göra |
|---|---|---|
200 | Nyckel levererad, beviljandet är nu delivered. | Klart. |
400 | Inte ett licensnyckel-beviljande, eller nyckeln är tom/mellanslag. | Korrigera begäran; försök inte igen som det är. |
404 | Inget beviljande med det ID för ditt företag. | Verifiera grant_id. |
409 | Beviljande väntar inte på leverans (redan levererad eller har redan en nyckel), eller nyckelvärdet finns redan. | Om redan levererad, behandla som framgång. Om det är en duplikerad nyckel, ange en annan nyckel. |
422 | Begär kroppen misslyckades med validering (t.ex. activations_limit < 1). | Korrigera fältet och försök igen. |
Verifiera flödet
- Köp produkten i testläge (se checkout-guiderna).
- Bekräfta att din webhook tog emot
entitlement_grant.createdmedstatus: "pending"ochintegration_type: "license_key", eller att beviljandet dyker upp i List Grants-svaret med dessa filter. - Anropa fullgörande slutpunkt med en testnyckel.
- Bekräfta att svaret visar
status: "delivered"med ett ifylltlicense_key, att kunden får nyckel-e-postmeddelandet, ochentitlement_grant.deliveredutlöses.
När den väl är levererad kan kunden aktivera och validera nyckeln mot de offentliga licens-slutpunkterna precis som en auto-genererad nyckel.
Relaterad API-referens
Create Entitlement
Skapa licensnyckelrättigheten med
fulfillment_mode: manual.List Grants
Filtrera efter
integration_type och status för att hitta väntande beviljanden.Fulfill License Key Grant
Leverera nyckelvärdet och överför beviljandet till levererat.
Entitlement Grant Webhooks
entitlement_grant.*-händelserna som signalerar väntande och levererade beviljanden.Create Entitlement
Create the License Key entitlement with
fulfillment_mode: manual.List Grants
Filter by
integration_type and status to find pending grants.Fulfill License Key Grant
Deliver the key value and transition the grant to delivered.
Entitlement Grant Webhooks
The
entitlement_grant.* events that signal pending and delivered grants.