Rättigheter förvandlar en lyckad betalning eller aktiv prenumeration till verklig åtkomst: en licensnyckel i kundens inkorg, en funktionsflagga som din app kontrollerar, en Discord-roll, ett GitHub-förråd, en Notion-mall, en Framer-remixlänk, en Telegram-chattinbjudan eller ett nedladdningsbart filpaket. Dodo Payments utfärdar, spårar och återkallar den åtkomsten automatiskt när betalningslivscykeln 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.
Feature Flags
Porta funktioner i din egen app mot ett köp. Levererat omedelbart, kontrollerat via API, återkallat vid avbokning.
Discord
Ge en kund en roll i din Discord-server när de köper. Återkalla automatiskt vid avbokning.
GitHub
Lägg till kunder som samarbetspartners i ett privat förråd på den tillståndsnivå du väljer.
Telegram
Lägg till kunder i en privat Telegram-chatt eller kanal efter köp.
Framer
Lås upp en Framer-mallremixlänk för betalande kunder.
Notion
Dubbletter en Notion-mall till kundens arbetsyta vid köp.
Hur rättigheterna fungerar
Rättigheter drivs av samma betalnings- och prenumerationshändelser som du redan tar emot som webhooks. Du behöver inte själv kalla på rättighets-API:t för köp. Dodo Payments skapar och återkallar rättigheter automatiskt baserat på den underliggande betalningslivscykeln.Rättigheternas livscykel
Created
En rättighet skapas när en betalning slutförs eller en prenumeration blir aktiv. Licensnycklar och funktionsflaggor 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) stannar i pending endast kort medan leveransen förbereds, sedan övergår de till delivered.Delivered
När leveransen är klar (licensnyckel genererad, roll tilldelad, förrådsåtkomst beviljad, fillänkar lösta, OAuth slutfört), flyttas rättigheten till
delivered och delivered_at sätts.Failed
Om integrationsanropet returnerar ett ej återförsökbart fel (återkallad OAuth-token, nekad behörighet, filen finns inte längre), flyttas rättigheten till
failed. Fälten error_code och error_message fångar anledningen.Rättighetsbeteende per händelse
| Händelse | Beteende |
|---|---|
payment.succeeded (engångsbetalning) | Utfärda en rättighet per bifogad rättighet. |
payment.succeeded (prenumerationsbunden betalning) | No-op. Rättigheter drivs av prenumerationshändelsen nedan. |
subscription.active | Utfärda rättigheter för alla bifogade rättigheter som inte redan har en. Återgiv tidigare återkallade rättigheter för samma prenumeration. |
subscription.renewed | No-op. Befintliga rättigheter kvarstår vid förnyelser. |
subscription.on_hold | Återkalla alla levererade och väntande rättigheter. 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 rättigheter, sedan utfärda rättigheter för den nya planens rättigheter. revocation_reason: plan_changed. |
refund.succeeded (engångsbetalning) | Återkalla rättigheter för den betalningen. revocation_reason: refund. |
| Manuell API-återkallelse | Återkalla med revocation_reason: manual. Manuella återkallanden återgrantas inte automatiskt vid prenumerationsförnyelse. |
| Licensnyckel inaktiverad | För licensnyckelrättigheter, inaktiverar den underliggande nyckeln återkallar rättigheten med revocation_reason: license_key_disabled. Rättigheten återaktiveras automatiskt om nyckeln aktiveras igen. |
| Plattform drift upptäckt | Om plattformens sida av en integration går ur synk (en Discord-roll borttagen manuellt, GitHub-appen förlorar förrådsåtkomst, eller en avstämningspass upptäcker ett saknat mål), återkallas rättigheten med revocation_reason: platform_external. Inte automatiskt återgrantas vid prenumerationsförnyelse förrän det underliggande plattformsproblemet är löst. |
Prenumerationsdrivna rättigheter är idempotenta per
(entitlement, customer, subscription); förnyelser och återaktiveringar skapar inte dubbletträttigheter. Engångsrättigheter är idempotenta per (entitlement, customer, payment).Skapa din första rättighet
Open Entitlements
Gå till Rättigheter i din Dodo Payments-instrumentpanel och klicka på + för att skapa en ny rättighet.
Pick an integration
Välj integrationstyp: Licensnyckel, Digitala Filer, Funktionsflagga, 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 integrationsspecifika fält. Till exempel, GitHub frågar efter ett förråd och en behörighetsnivå; Discord frågar efter en server och en valfri roll; Licensnyckel frågar efter aktiveringsbegränsningar och utgångsdatum.

Bifoga rättigheter till produkter
Öppna en produkt, expandera Avancerade inställningar → Rättigheter & Krediter och välj de rättigheter som ska levereras när produkten köps. En enda produkt kan leverera flera rättigheter samtidigt. Till exempel kan ett Pro-plan innehålla en licensnyckel, GitHub-åtkomst och en Discord-roll.
Kundupplevelse
E-post och kundportal
Kunder får ett leveransepostmeddelande efter köpet som innehåller licensnyckeln, nedladdningslänkar, OAuth-inbjudningslänkar eller plattformsinbjudan, vad som än gäller för produkternas rättigheter. Samma detaljer förblir tillgängliga på obestämd tid från Kundportalen under deras orderhistorik.OAuth-baserad leverans
Discord, GitHub och Notion prenumerantåtkomst kräver att kunden auktoriserar Dodo Payments att ge dem åtkomst. Dessa rättigheter förblir ipending-status tills kunden slutför OAuth-flödet med länken från deras e-postmeddelande eller kundportal. När de auktoriserar flyttas rättigheten till delivered och plattformsåtkomsten tillhandahålls omedelbart.
Återkallelse
Återkallade rättigheter tas bort på plattformsnivå: Discord-rollen tas bort, GitHub-samarbetaren tas bort, licensnyckeln inaktiveras. Kunder ser ändringen återspeglas i kundportalen.Hantera rättigheter
Öppna vilken rättighet som helst från instrumentpanelen för att se dess rättigheter. Rättighetspanelen visar totala rättigheter, statusfilter, kundinformation, leveransdatum och en återkallningsåtgärd. Du kan också hantera rättigheter programmatisk:API-hantering
Create Entitlement
Skapa en ny rättighet av vilken integrationstyp som helst.
List Entitlements
Lista rättigheter med filtrering efter integrationstyp.
Get Entitlement
Hämta en rättighet och dess lösta konfiguration.
Update Entitlement
Uppdatera namn, beskrivning eller integrationskonfiguration.
Delete Entitlement
Soft-radera en rättighet; befintliga rättigheter påverkas inte.
Upload File
Ladda upp en fil till en digital filrättighet (upp till 500 MiB).
List Grants
Lista alla rättigheter för en rättighet med status och kundfilter.
Revoke Grant
Återkalla en enskild rättighet manuellt.
Webhooks
Dodo Payments skickar fyra webhook-händelser för rättighetslivscykeln. Prenumerera på dessa händelser för att hålla din applikation i synk med vad varje kund kan få åtkomst till.| Händelse | Utlöses när |
|---|---|
entitlement_grant.created | En ny rättighet skapas. Licensnyckelrättigheter 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 har godkänt). |
entitlement_grant.delivered | Rättigheten övergår till levererat. Kunden har nu åtkomst. |
entitlement_grant.failed | Rättigheten kunde inte levereras. Inspektera error_code och error_message. |
entitlement_grant.revoked | Åtkomst har tagits bort. Inspektera revocation_reason. |
Entitlement Grant Webhook Payloads
Se hela payload-schemat, exempelhändelser och
revocation_reason referens.Bästa praxis
- Använd en rättighet per leveranskanal. Dela inte en enda Discord-rättighet över produkter med olika rollavsikter; skapa en per roll för ren återkallelse.
- Testa i testläge först. Skapa rättigheten, bifoga den till en testprodukt, genomför ett köp och se rättigheten övergå genom
pending → delivered. Bekräfta att avbokning av testprenumerationen återkallar rättigheten. - Lyssna på
entitlement_grant.delivered, intepayment.succeeded. En betalning kan lyckas innan fullföljandet slutförs (särskilt för OAuth-flöden). Vänta på leveranshändelsen innan du låser upp beroende funktioner i dina egna system. - Behandla
entitlement_grant.failedsom åtgärdbar. En misslyckad rättighet betyder att en kund betalade men inte fick åtkomst. Visa dessa för ditt supportteam eller utlöse en ny beviljning. - Map
revocation_reasontill dina retentionflöden. Ensubscription_on_holdåterkallelse är återvinningsbar (kunden kan uppdatera sitt kort). Enmanualåterkallelse är avsiktlig. Behandla dem olika i kundkommunikation.