権利は、成功した支払いまたはアクティブなサブスクリプションを実際のアクセスに変えます:顧客の受信トレイのライセンスキー、アプリがチェックするフィーチャーフラグ、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はその特権の単一の発行である付与を作成します。付与は、小さな状態セットを通過します: 配信が進行中の場合は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
支払いが完了するかサブスクリプションがアクティブ化されると権利が作成されます。ライセンスキーとフィーチャーフラグは、直接
delivered にジャンプします。その他の統合は pending から始まります。OAuth ベースの統合 (Discord、GitHub、Notion) には、顧客が同意を完了するために訪問する必要がある oauth_url が含まれています。プラットフォーム直結型統合 (Telegram、Framer、デジタルファイル) は、プロビジョニング中は短い間 pending にあり、その後 delivered に移行します。2
Delivered
配信が完了すると(ライセンスキー生成、役割付与、リポジトリアクセス付与、ファイルリンク解決、OAuth 完了)、権利は
delivered に移動し、delivered_at が設定されます。3
Failed
統合通話が再試行不可能なエラー(取り消された OAuth トークン、許可が拒否された、ファイルが存在しなくなった)を返した場合、権利は
failed に移動します。error_code および error_message フィールドはその理由をキャプチャします。4
Revoked
アクセスが撤回されると(サブスクリプションがキャンセルされる、返金が発行される、または商人による取り消し)、権利は
revoked に移動します。revocation_reason フィールドはトリガーを記録します。イベントによる権利の動作
サブスクリプション駆動の権利は、
(entitlement, customer, subscription) によって冪等です。更新および再活性化は重複した権利を作成しません。一回限りの権利は、(entitlement, customer, payment) によって冪等です。最初の権利を作成
1
Open Entitlements
Dodo Payments ダッシュボードの Entitlements に移動し、+ をクリックして新しい権利を作成します。
2
Pick an integration
統合タイプを選択します: ライセンスキー、デジタルファイル、フィーチャーフラグ、Discord、GitHub、Telegram、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 サブスクライバーアクセスでは、顧客が Dodo Payments にアクセス権を与えるための認可が必要です。これらの権利は、顧客が Eメールまたは顧客ポータルからリンクを使用して OAuth フローを完了するまで、pending ステータスに留まります。認可されると、権利は delivered に移行し、プラットフォームアクセスが即時に提供されます。
取り消し
取り消された権利はプラットフォームレベルで削除されます: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 リファレンスを表示します。ベストプラクティス
- 配信チャネルごとに一つの権利を使用すること。 異なる役割の意図で異なる製品間で単一の Discord 権利を共有しないでください。クリーンな取り消しのために役割ごとに一つの権利を作成します。
- 最初にテストモードでテストすること。 権利を作成し、テスト製品に添付し、チェックアウトを実行し、権利が
pending → deliveredを経て移行するのを確認します。テストサブスクリプションをキャンセルして権利が取り消されることを確認します。 entitlement_grant.deliveredに聞く。payment.succeededではなく。 支払いは、完了前に成功することがあります(特に OAuth フローの場合)。納品済みイベントを待って、自社システムの依存機能を解除します。entitlement_grant.failedをアクション可能として扱うこと。 失敗した権利は、顧客が支払ったがアクセスを得られなかったことを意味します。これをサポートチームに表面化させるか、再権利をトリガーします。revocation_reasonを保持フローにマッピングすること。subscription_on_holdの取り消しは回復可能です(顧客がカードを更新するかもしれません)。manualの取り消しは意図的です。顧客コミュニケーションで異なる取り扱いをします。