Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Behörighet förvandlar en lyckad betalning eller aktiv prenumeration till verklig åtkomst: en licensnyckel i din kunds inkorg, en Discord-roll, ett GitHub-repository, en Notion-mall, en Framer remix-länk, en Telegram-chattinbjudan eller ett nedladdningsbart filpaket. Dodo Payments hanterar och återkallar den åtkomsten automatiskt när betalningscykeln förändras.

Vad är Entitlements?
En entitlement är en återanvändbar definition av något du levererar till en kund: en Pro licensnyckel, en “Patrons”-roll i Discord, åtkomst till ditt privata GitHub-repository, ett nedladdningsbart e-bokpaket. Du fäster entitlements till produkter, och Dodo Payments hanterar resten. När en kund köper produkten skapar Dodo Payments ett grant, en enskild kunds tilldelning av den entitlement. Grants rör sig genom ett litet antal statusar:pending medan leveransen pågår, delivered när kunden har tillgång, failed om leveransen inte kunde slutföras, och revoked när åtkomst återkallas.
Tillgängliga Integrationer
Dodo Payments levererar varje entitlement genom en dedikerad integration. Välj integrationen som matchar det du säljer.License Keys
Generera unika licensnycklar med aktiveringsgränser och utgångsdatum. Bäst för mjukvara, plugins och CLI:er.
Digital Files
Leverera nedladdningsbara filer (e-böcker, mallar, media) med undertecknade nedladdnings-URL:er och valfria instruktioner.
Discord
Ge en kund en roll i din Discord-server när de köper. Återkallas automatiskt vid avbokning.
GitHub
Lägg till kunder som medarbetare till ett privat repository på den behörighetsnivå du väljer.
Telegram
Lägg till kunder i en privat Telegram-chatt eller -kanal efter köp.
Framer
Lås upp en Framer-mall remix-länk för betalande kunder.
Notion
Duplicera en Notion-mall in i kundens arbetsyta vid köp.
Hur Grants Fungerar
Grants drivs av samma betalnings- och prenumerationshändelser som du redan får som webhooks. Du behöver inte anropa grant-API:et själv för köp. Dodo Payments skapar och återkallar grants automatiskt baserat på den underliggande betalningscykeln.Grant Lifecycle
Created
Ett grant skapas när en betalning slutförs eller en prenumeration blir aktiv. Licensnycklar hoppar direkt till
delivered. Alla andra integrationer börjar i pending. OAuth-baserade integrationer (Discord, GitHub, Notion) inkluderar en oauth_url som kunden måste besöka för att slutföra samtycke. Plattform-direkta integrationer (Telegram, Framer, Digitala Filer) sitter endast kortvarigt i pending medan leverans tillhandahålls, och övergår sedan till delivered.Delivered
När leveransen slutförs (licensnyckel genererad, roll tilldelad, repository-åtkomst beviljad, fillänkar lösta, OAuth slutförd), flyttas granten till
delivered och delivered_at sätts.Failed
Om integrationsanropet returnerar ett icke-återförsökbart fel (återkallad OAuth-token, nekad behörighet, filen finns inte längre), flyttas granten till
failed. Fälten error_code och error_message fångar upp anledningen.Grant-beteende per Händelse
| Händelse | Beteende |
|---|---|
payment.succeeded (engångsbetalning) | Utfärda en grant per tillagd entitlement. |
payment.succeeded (prenumerationslänkad betalning) | No-op. Grants drivs av prenumerationshändelsen nedan. |
subscription.active | Utfärda grants för eventuella tillagda entitlements som inte redan har en. Tilldela om alla grants som tidigare återkallats för samma prenumeration. |
subscription.renewed | No-op. Befintliga grants kvarstår vid förnyelser. |
subscription.on_hold | Återkalla alla levererade och väntande grants. revocation_reason: subscription_on_hold. |
subscription.cancelled | Återkalla alla. revocation_reason: subscription_cancelled. |
subscription.expired | Återkalla alla. revocation_reason: subscription_expired. |
subscription.plan_changed | Återkalla alla nuvarande grants och utfärda sedan grants för den nya planens entitlements. revocation_reason: plan_changed. |
refund.succeeded (engångsbetalning) | Återkalla grants för den betalningen. revocation_reason: refund. |
| Manuell API-återkallelse | Återkalla med revocation_reason: manual. Manuella återkallelser återställdes inte automatiskt vid prenumerationsförnyelse. |
| Licensnyckel inaktiverad | För licensnyckel-grants, inaktivering av den underliggande nyckeln återkallar granten med revocation_reason: license_key_disabled. Granten återaktiveras automatiskt om nyckeln återaktiveras. |
| Plattform-drift upptäckt | Om plattformssidan av en integration drar ut ur synkorn (en Discord-roll borttagen manuellt, GitHub-appen förlorar repository-åtkomst, eller en avstämningspass upptäcker ett saknat mål), återkallas granten med revocation_reason: platform_external. Återställdes inte automatiskt vid prenumerationsförnyelse tills det underliggande plattformsproblemet löses. |
Prenumerationsdrivna grants är idempotenta per
(entitlement, customer, subscription); förnyelser och återaktiveringar skapar inte dubblett grants. Engångsgrants är idempotenta per (entitlement, customer, payment).Skapa din första Entitlement
Open Entitlements
Gå till Entitlements i din Dodo Payments-instrumentpanel och klicka på + för att skapa en ny entitlement.
Pick an integration
Välj integrationstyp: Licensnyckel, Digitala filer, Discord, GitHub, Telegram, Framer eller Notion. För plattformsintegrationer, anslut ditt konto först om du inte redan har gjort det.
Configure delivery
Fyll i de integrationsspecifika fälten. Till exempel, GitHub ber om ett repository och en behörighetsnivå; Discord ber om en server och en eventuell roll; Licensnyckel ber om aktiveringsgränser och utgångsdatum.

Fäst Entitlements till Produkter
Öppna en produkt, expandera Avancerade Inställningar → Entitlements & Krediter, och välj de entitlements som ska levereras när produkten köps. En enda produkt kan leverera flera entitlements på en gång. Till exempel, en Pro-plan kan inkludera en licensnyckel, GitHub-åtkomst och en Discord-roll.
Kundupplevelse
E-post och kundportal
Kunderna får ett leveransbrev efter köp som innehåller licensnyckeln, nedladdningslänkar, OAuth-inbjudningslänkar eller plattforminbjudan, beroende på vad som gäller för entitlements på produkten. Samma detaljer är tillgängliga på obestämd tid från Kundportalen under deras orderhistorik.OAuth-baserad leverans
Discord, GitHub och Notion abonnentåtkomst kräver att kunden godkänner Dodo Payments att ge dem tillgång. Dessa grants stannar ipending status tills kunden slutför OAuth-flödet med länken från deras e-post eller kundportal. När de godkänner, flyttas granten till delivered och plattformstillgången tillhandahålls omedelbart.
Återkallelse
Återkallade grants tas bort på plattformnivå: Discord-rollen tas bort, GitHub-kollaboratören tas bort, licensnyckeln inaktiveras. Kunderna ser ändringen återspeglas i kundportalen.Hantera Grants
Öppna vilken entitlement som helst från instrumentpanelen för att se dess grants. Grant-detaljpanelen visar totala grants, statusfilter, kundinformation, leveransdatum och en återkallelseåtgärd. Du kan också hantera grants programmatiskt:API-hantering
Create Entitlement
Skapa en ny entitlement av valfri integrationstyp.
List Entitlements
Lista entitlements med filtrering efter integrationstyp.
Get Entitlement
Hämta en entitlement och dess lösta konfiguration.
Update Entitlement
Uppdatera namn, beskrivning eller integrationskonfiguration.
Delete Entitlement
Mjuk-radera en entitlement; befintliga grants påverkas inte.
Upload File
Ladda upp en fil till en Digitala Filer-entitlement (upp till 100 MB).
List Grants
Lista alla grants för en entitlement med status och kundfilter.
Revoke Grant
Återkalla en enskild grant manuellt.
Webhooks
Dodo Payments skickar fyra webhook-händelser för grant-livscykeln. Prenumerera på dessa händelser för att hålla din applikation synkroniserad med vad varje kund kan komma åt.| Händelse | Skickas när |
|---|---|
entitlement_grant.created | Ett nytt grant skapas. Licensnyckel-grants anländer delivered; varje annan integration anländer pending och övergår till delivered när plattformsanropet lyckas (eller, för OAuth-baserade integrationer, när kunden auktoriserar). |
entitlement_grant.delivered | Granten övergår till levererad. Kunden har nu åtkomst. |
entitlement_grant.failed | Granten kunde inte levereras. Inspektera error_code och error_message. |
entitlement_grant.revoked | Åtkomst har återkallats. Inspektera revocation_reason. |
Entitlement Grant Webhook Payloads
Visa hela payload-schemat, exempelhändelser och
revocation_reason-referens.Bästa praxis
- Använd en entitlement per leveranskanal. Dela inte en enda Discord-entitlement över produkter med olika rollintentioner; skapa en per roll för ren återkallelse.
- Testa i testläge först. Skapa entitlemen, fäst den till en testprodukt, kör en kassa och se granten övergå genom
pending → delivered. Bekräfta att annullering av testprenumerationen återkallar granten. - Lyssna på
entitlement_grant.delivered, intepayment.succeeded. En betalning kan lyckas innan uppfyllelse är klar (speciellt för OAuth-flöden). Vänta på levererad händelse innan du låser upp beroende funktioner i dina egna system. - Behandla
entitlement_grant.failedsom åtgärdsbar. Ett misslyckat grant betyder att en kund har betalat men inte fick tillgång. Flagga dessa till ditt supportteam eller starta en omgrant. - Kartlägg
revocation_reasontill dina kvarhållningsflöden. Ensubscription_on_holdåterkallelse är återställbar (kunden kan uppdatera sitt kort). Enmanualåterkallelse är avsiktlig. Behandla dem olika i kundkommunikation.