Pending grant som väntar på att du ska ange nyckelvärdet, i stället för att Dodo Payments genererar en nyckel vid betalning. Nyckeln kan komma från ditt eget system, en tredjepartsleverantör eller en begränsad pool av koder.
När du är klar med den här guiden har du:
- 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 licensnycklar och inställningen
fulfillment_mode.Fulfill License Key Grant API
API-referens för endpointen du anropar för att leverera en nyckel.
Hur det fungerar
Sekvensen nedan visar ett köp, från checkout till leverans av nyckeln: Manuell leverans ändrar endast steget utfärdande. När nyckeln har levererats fungerar den som en automatiskt genererad nyckel för aktivering, validering, avaktivering, utgång och återkallning. Ett köp av flera enheter skapar enPending grant per enhet, och varje grant behöver sin egen nyckel.
Förutsättningar
För att följa den här guiden behöver du:- Ett Dodo Payments merchant-konto.
- En API key, skapad under Developer → API Keys och lagrad i
DODO_PAYMENTS_API_KEY, samt webhookens signeringshemlighet från Developer → Webhooks, lagrad iDODO_PAYMENTS_WEBHOOK_KEY. Se guiden för att skapa en API key. - En backend-endpoint som kan ta emot webhooks.
Använd
https://test.dodopayments.com och autentiseringsuppgifter för testläge medan du bygger. När du går till produktion byter du till https://live.dodopayments.com och nycklar för live-läge.Steg 1 — Skapa en License Key-entitlement i manuellt läge
En entitlement är en återanvändbar definition av vad du levererar. Skapa en License Key-entitlement och ange dessfulfillment_mode till manual.
- Dashboard
- API
1
Open Entitlements
Gå till Entitlements i dashboarden och klicka på + för att skapa en entitlement.
2
Choose License Key
Välj License Keys och ange ett Name. Formuläret innehåller dessa fält:
- Fulfillment Mode: Automatic som standard. Detta är inställningen som aktiverar manuell leverans och du ändrar den i nästa steg.
- License Length: hur länge varje utfärdad nyckel förblir giltig, eller No expiration.
- Activations Limit: det maximala antalet aktiveringar per nyckel, eller Unlimited.
- Activation Message: ett valfritt kundmeddelande som visas när kunden aktiverar nyckeln och inkluderas i e-postmeddelandet med licensnyckeln.

3
Set Fulfillment Mode to Manual
Öppna rullgardinsmenyn Fulfillment Mode och ändra den från Automatic till Manual. Resten av den här guiden bygger på den här inställningen: utan den genererar och mejlar Dodo Payments nycklar automatiskt och skapar ingen väntande grant. När Manual är valt skapar varje köp en
Pending grant som du ska leverera. Klicka på Create Entitlement för att spara.fulfillment_mode är som standard auto. Om du utelämnar den eller lämnar en befintlig entitlement oförändrad fortsätter entitlementen med automatisk leverans. Endast entitlements som uttryckligen har ställts in på manual skapar väntande grants.Steg 2 — Koppla entitlementen till en produkt
Öppna produkten du vill sälja, gå till avsnittet Entitlements och välj den License Key-entitlement du ställde in på Manual i steg 1. En produkt kan leverera den här licensnyckeln tillsammans med andra entitlements i samma köp. Om du inte har någon produkt ännu skapar du först en engångsprodukt eller prenumerationsprodukt. Se Integration Guide för att sälja den via checkout.
Selecting the License Key entitlement in the product entitlements panel.
Leveransläget är en egenskap hos entitlement, inte produkten. Eftersom du ställde in det på Manual i steg 1 skapar varje produkt som har denna entitlement kopplad
Pending license-key grants vid köp. Du behöver inte konfigurera något annat på produkten.Steg 3 — Identifiera väntande grants
När en kund köper produkten skapar Dodo Payments en grant med statusenPending utan kopplad nyckel och skickar en entitlement_grant.created webhook. Den här händelsen signalerar att en kund väntar på en nyckel.
Lyssna efter webhooken
Lägg till en webhook-endpoint under Developer → Webhooks i dashboarden och agera sedan på väntande license-key grants. Webhooks följer specifikationen Standard Webhooks, så du kan verifiera dem med biblioteketstandardwebhooks:
integration_type: "license_key", så du kan identifiera en license-key grant utan en extra uppslagning. Webhook-leveranser kan upprepas, så hoppa över händelser vars webhook-id-header du redan har behandlat. Se referensen för Entitlement Grant-webhooken för hela payloaden.
Eller gör polling mot List Grants API
Om du hellre inte vill förlita dig på webhooks listar du grants för din License Key-entitlement och filtrerar efterstatus. Varje grant på en License Key-entitlement är en license-key grant, så du behöver inget integration_type-filter:
Steg 4 — Leverera nyckeln
Hämta nyckelvärdet från ditt eget system och skicka det sedan till endpointen Fulfill License Key Grant. Anropet kräver din hemliga API key med Editor-behörighet. Det är inte en av de publika license endpoints. SDK:erna exponerar också endpointen, till exempel somclient.entitlements.grants.fulfillLicenseKey() i TypeScript och client.entitlements.grants.fulfill_license_key() i Python.
Request Fields
string
obligatorisk
Licensnyckelsträngen som ska levereras till kunden, upp till 255 tecken. Inledande och avslutande blanksteg tas bort, och ett tomt värde eller ett värde som endast består av blanksteg avvisas.
integer
Aktiveringsgräns per nyckel, minst 1. Om den utelämnas gäller entitlementens Activations Limit.
string
Utgångsdatum per nyckel (ISO 8601). Om det utelämnas löper nyckeln för en engångs-grant ut enligt entitlementens License Length, medan nyckeln för en prenumerations-grant saknar utgångsdatum och därför följer prenumerationens giltighet.
Delivered, Dodo Payments mejlar nyckeln till kunden (samma e-postmeddelande som kunden får vid automatisk leverans), och webhook-händelserna license_key.created och entitlement_grant.delivered utlöses.
E-postmeddelandet innehåller licensnyckeln, produkten, aktiveringsgränsen, utgångsdatumet och dina aktiveringsinstruktioner:

The license key email the customer receives once you fulfill the grant.
Du behöver inte mejla nyckeln själv. Leveransen sker automatiskt när grant har fullföljts.
Steg 5 — Hantera fel och försök igen
Endpointen validerar grant innan den levererar något. Hantera dessa svar:Verifiera flödet
Så här testar du flödet från början till slut:- 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 grant visas i List Grants-svaret filtrerat efterstatus=Pending. - Anropa fulfill-endpointen med en testnyckel.
- Bekräfta att svaret visar
status: "Delivered"med ett ifylltlicense_key, att kunden får e-postmeddelandet med nyckeln och attentitlement_grant.deliveredutlöses.
När nyckeln har levererats kan kunden aktivera och validera den mot de publika license endpoints, precis som en automatiskt genererad nyckel.
Relaterad API-referens
Create Entitlement
Skapa License Key-entitlementen med
fulfillment_mode: manual.List Grants
Filtrera efter
status och customer_id för att hitta väntande grants.Fulfill License Key Grant
Leverera nyckelvärdet och flytta grant till
Delivered.Entitlement Grant Webhooks
Händelserna
entitlement_grant.* som signalerar väntande och levererade grants.