Skip to main content
Med manuell leverans av licensnycklar skapar varje köp en 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 manual leverans.
  • 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 en Pending 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 i DODO_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 dess fulfillment_mode till manual.
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.
New License Key entitlement form with name, fulfillment mode, license length, activations limit, and activation message
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.
Product entitlements panel with License Key selected

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 statusen Pending 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 biblioteket standardwebhooks:
Grant-payloaden innehåller 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 efter status. 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 som client.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.
Vid lyckat resultat flyttas grant till 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:
Customer license key email showing the key, product, activation limit, expiry, and activation instructions

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:
Leverans kan göras säkert igen vid tillfälliga fel som timeouts och svar med 5xx. Varje grant kan endast fullföljas en gång, så ett nytt försök efter ett lyckat men obekräftat anrop returnerar 409 i stället för att utfärda en andra nyckel eller skicka ett duplicerat e-postmeddelande. Använd grantens id som din idempotency key.

Verifiera flödet

Så här testar du flödet från början till slut:
  1. Köp produkten i testläge. Se checkout-guiderna.
  2. Bekräfta att din webhook tog emot entitlement_grant.created med status: "Pending" och integration_type: "license_key", eller att grant visas i List Grants-svaret filtrerat efter status=Pending.
  3. Anropa fulfill-endpointen med en testnyckel.
  4. Bekräfta att svaret visar status: "Delivered" med ett ifyllt license_key, att kunden får e-postmeddelandet med nyckeln och att entitlement_grant.delivered utlö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.
Senast ändrad 26 september 2026