権利は、成功した支払いまたはアクティブなサブスクリプションを実際のアクセスに変えます:顧客の受信トレイのライセンスキー、アプリがチェックするフィーチャーフラグ、Discord の役割、GitHub リポジトリ、Notion テンプレート、Framer リミックスリンク、Telegram チャット招待、またはダウンロード可能なファイル バンドル。Dodo Payments は、支払いライフサイクルの変化に応じてそのアクセスを自動的に発行、追跡、および取り消します。

The Entitlements dashboard. Each entitlement is a reusable template; the right pane shows individual customer grants.
特権とは何ですか?
特権とは、顧客に提供するものの再利用可能な定義です: Proライセンスキー、“Patrons” Discord役割、プライベートGitHubリポジトリへのアクセス、ダウンロード可能な電子書籍バンドルなど。特権を製品に添付し、Dodo Paymentsが残りを処理します。 顧客が製品を購入すると、Dodo Payments は grant(1人の顧客に対してそのentitlementを発行したもの)を作成します。Grant はいくつかのステータスを順に遷移します。Pending は配信中、Delivered は顧客がアクセス可能になった時点、Failed は配信を完了できなかった場合、Revoked はアクセスが取り消された場合を示します。
利用可能な統合
Dodo Paymentsは、各特権を専用の統合を通じて配信します。あなたが販売するものに合った統合を選択してください。License Keys
アクティベーション制限と有効期限を持つユニークなライセンスキーを生成します。ソフトウェア、プラグイン、CLIに最適です。
Digital Files
事前サインされたダウンロードURLとオプションの指示を持つダウンロード可能なファイル(電子書籍、テンプレート、メディア)を配信します。
Feature Flags
自分のアプリで購入を通じて機能をゲートします。即時に配信され、API を介して確認され、キャンセル時に取り消されます。
Discord
購入時に顧客に Discord サーバーで役割を付与します。キャンセル時に自動的に取り消されます。
GitHub
選択した許可レベルで、プライベートリポジトリに顧客を共同作業者として追加します。
Telegram
購入後にプライベートな Telegram チャットまたはチャンネルに顧客を追加します。
Framer
支払った顧客向けに Framer テンプレートのリミックスリンクを解除します。
Notion
購入時に Notion テンプレートを顧客のワークスペースに複製します。
権利のしくみ
権利は、すでに受け取っている Webhook としての同じ支払いおよびサブスクリプションのイベントによって駆動されます。購入の場合、権利 API を自分で呼び出す必要はありません。Dodo Payments は、支払いライフサイクルに基づいて自動的に権利を作成および取り消します。権利のライフサイクル
1
Created
grant は、payment が完了するか、subscription が active になると作成されます。Feature flags は
Delivered に直接移行します。entitlement が fulfillment_mode: auto(デフォルト)を使用している場合、License keys も Delivered に直接移行します。fulfillment_mode: manual では、grant は Pending に作成され、Fulfill License Key Grant からキーを指定するまでキーは設定されません。その他のすべての integration は Pending で開始します。OAuth ベースの integration(Discord、GitHub、Notion)では、customer がアクセスして consent を完了する必要がある oauth_url が公開されます。新しく作成された grant では、この field は null であり、customer が delivery email または customer portal から accept flow を開始すると設定されます。Platform-direct integration(Telegram、Framer、Digital Files)は、delivery の provision 中だけ短時間 Pending に留まり、その後 Delivered に移行します。2
Delivered
配信が完了すると(License keyの生成、ロールの割り当て、リポジトリへのアクセス権の付与、ファイルリンクの解決、OAuthの完了など)、grant は
Delivered に遷移し、delivered_at が設定されます。3
Failed
integrationの呼び出しが再試行不能なエラー(OAuth tokenの取り消し、権限の拒否、ファイルが存在しなくなった場合など)を返すと、grant は
Failed に遷移します。error_code フィールドと error_message フィールドに、その理由が記録されます。4
Revoked
アクセスが取り消されると(サブスクリプションのキャンセル、返金の発行、またはmerchantによる取り消しなど)、grant は
Revoked に遷移します。revocation_reason フィールドに、そのトリガーが記録されます。イベントによる権利の動作
サブスクリプション駆動の権利は、
(entitlement, customer, subscription) によって冪等です。更新および再活性化は重複した権利を作成しません。一回限りの権利は、(entitlement, customer, payment) によって冪等です。最初の権利を作成
1
Open Entitlements
Dodo Payments ダッシュボードの Entitlements に移動し、+ をクリックして新しい権利を作成します。
2
Pick an integration
統合タイプを選択してください:License Key、Digital Files、Feature Flag、Discord、GitHub、Telegram、Figma、Framer、またはNotion。プラットフォーム統合の場合は、まだ接続していなければ、まずアカウントを接続してください。
3
Configure delivery
統合に固有のフィールドを記入してください。たとえば、GitHub はリポジトリと許可レベルを求め、Discord はサーバーとオプションの役割を求め、ライセンスキーは有効化制限と有効期限を求めます。

Creating a GitHub entitlement. Each integration shows the fields it needs.
4
Save
権利を保存します。これで、任意の商品に添付することができます。
商品に権利を添付
商品を開き、Advanced Settings → Entitlements & Credits を展開し、商品購入時に配信される権利を選択します。単一の商品で複数の権利を同時に配信できます。たとえば、Pro プランには、ライセンスキー、GitHub アクセス、および Discord 役割を含めることができます。
Attaching entitlements to a product. Selected entitlements are delivered on every successful purchase or active subscription.
顧客体験
Eメールと顧客ポータル
顧客は、購入後に配信メールを受け取り、ライセンスキー、ダウンロードリンク、OAuth 招待リンク、またはプラットフォーム招待など、製品の権利に該当するものが含まれます。同じ情報は、Customer Portal の注文履歴から無期限に利用可能です。OAuth ベースの配信
Discord、GitHub、Notionのsubscriber accessでは、顧客がDodo Paymentsにアクセス権の付与を承認する必要があります。これらのgrantは、顧客がメールまたはCustomer Portalのリンクを使用してOAuthフローを完了するまで、Pending ステータスのままです。承認が完了すると、grant は Delivered に遷移し、platform accessが直ちにプロビジョニングされます。
取り消し
取り消された権利はプラットフォームレベルで削除されます:Discord の役割が削除され、GitHub の共同作業者が削除され、ライセンスキーが無効になります。顧客は、顧客ポータルで変更が反映されたことを見ることができます。権利の管理
ダッシュボードから任意の権利を開いて、その権利を確認します。権利の詳細パネルには、総権利数、ステータスフィルタ、顧客情報、配信日、および取り消しアクションが表示されます。 権利をプログラム的に管理することもできます:API 管理
Create Entitlement
任意の統合タイプの新規権利を作成します。
List Entitlements
統合タイプごとのフィルタリングを使用して権利を一覧表示します。
Get Entitlement
権利とその解決済み設定を取得します。
Update Entitlement
名前、説明、または統合設定を更新します。
Delete Entitlement
権利をソフト削除します;既存の権利は影響を受けません。
Upload File
最大 500 MiB までのファイルをデジタルファイルの権利にアップロードします。
List Grants
ステータスおよび顧客フィルタを使用して権利のすべてを一覧表示します。
Revoke Grant
単一の権利を手動で取り消します。
Webhooks
Dodo Payments は、権利のライフサイクルに対して 4 つの webhook イベントを発行します。これらのイベントを購読して、各顧客がアクセスできる内容に関してアプリケーションを同期状態に保ちます。Entitlement Grant Webhook Payloads
完全なペイロードスキーマ、サンプルイベント、および
revocation_reason リファレンスを表示します。ベストプラクティス
- delivery channel ごとに entitlement を 1 つ使用します。 異なる role の意図を持つ複数の product 間で 1 つの Discord entitlement を共有しないでください。revoke を明確に行えるよう、role ごとに 1 つ作成します。
- まず test mode でテストします。 entitlement を作成して test product に紐付け、checkout を実行し、grant が
Pending → Deliveredを通じて遷移することを確認します。test subscription をキャンセルすると grant が revoke されることを確認してください。 entitlement_grant.deliveredをリッスンし、payment.succeededは使用しません。 payment は fulfilment が完了する前に成功する可能性があります(特に OAuth flow の場合)。自社 system で依存する feature のロックを解除する前に、delivered event を待ってください。entitlement_grant.failedを対応が必要なものとして扱います。 failed grant は、customer が支払いを済ませたにもかかわらず access を取得できていないことを意味します。これらを support team に通知するか、regrant を実行してください。revocation_reasonを retention flow にマッピングします。subscription_on_holdrevoke は回復可能です(customer はカードを更新できる場合があります)。manualrevoke は意図的なものです。customer との communication では、これらを区別して扱ってください。