Discordエンタイトルメントは、支払い顧客をサーバーに追加し(オプションで役割を割り当て)、サブスクリプションがアクティブになるか一括購入がクリアされるとすぐに追加します。キャンセル、払い戻し、プラン変更により役割は自動的に取り消されます。
配信される内容
- 顧客は受け取りメールやカスタマーポータルのOAuthリンクを通してDiscordアカウントを接続します。
- 認証すると、Dodo Paymentsはあなたのサーバーに追加し(または既存のメンバーシップを見つけ)設定した役割を割り当てます。
- 特定の役割を選ばなかった場合、サーバーのメンバーシップのみが付与されます。
Discordを接続する
1
Open Entitlements
Dodo Paymentsダッシュボードで、Entitlements に移動し、+ をクリックして新しいエンタイトルメントを開始します。
2
Pick Discord
Discord Access を統合として選択します。まだDiscordをビジネスに接続していない場合は、Connect Discord を促されます。
クリックすると、新しいタブでDiscordが開きます。ログインし、ゲートしたいサーバーを選び、ボットの権限(Manage Roles, Kick Members, Create Invite)をそのサーバーで確認します。

Discordがリダイレクトした後、サーバーが接続されていることを確認できます。

Connect Discord prompt before the OAuth handoff.


Discord OAuth: pick the server, then confirm the bot's permissions on it.

Server connected — return to the Dodo Payments dashboard to continue.
3
Pick a server and role
ダッシュボードに戻ったら、接続した サーバー(ギルド)を選びます。配信時に割り当てる役割を任意に選択するか、空白のままでサーバーのメンバーシップのみを付与します。エンタイトルメントに名前を付けて、Create Entitlementをクリックします。

4
Save the entitlement
エンタイトルメントを保存します。これで、製品に添付することが可能です。
顧客フロー
- 顧客がチェックアウトを完了します。
- Dodo Payments は、
Pendingステータスで grant を作成します。そのoauth_urlは、顧客が accept flow を開始するまでnullです。accept flow が開始されると、Discord authorization URL が設定されます。 - 顧客は「Discordに参加」ボタン(OAuth link)があるメールを受け取ります。このリンクは Customer Portal でも確認できます。
- 顧客が認証すると、bot がサーバーに追加し、設定された role を割り当てます。grant は
Deliveredに移行します。 - subscription がキャンセル、一時停止、または期限切れになった場合、あるいは merchant が手動で revoke した場合、bot が role を削除し、grant は
Revokedに移行します。
必須設定
APIを使用した作成
Webhooks
Discordのグラントを追跡するために、entitlement_grant.* webhook eventsを購読します:
entitlement_grant.createdはstatus: "Pending"とともに発生します。この時点でoauth_urlはnullです。顧客が delivery email または Customer Portal から accept flow を開始すると設定されます。- role が割り当てられると、
entitlement_grant.deliveredが発生します。 - role が削除されると、
entitlement_grant.revokedが発生します。
トラブルシューティング
Customer never sees the role assigned
Customer never sees the role assigned
grant は顧客が OAuth フローを完了するまで
Pending の状態です。entitlement の grants リストを確認し、顧客が OAuth リンクをクリックしたかどうかを確認してください。必要に応じて、配信メールを再送信してください。Grant moves to failed with permission errors
Grant moves to failed with permission errors
Dodo Paymentsボットがサーバーに残り、
Manage Rolesの権限を持ち、割り当てられている役割の上に配置されていることを確認してください。エンタイトルメントを再保存すると、検証が再実行されます。Customer cancelled but still has the role
Customer cancelled but still has the role
Discordは役割の削除を即座に伝播しますが、顧客のローカルDiscordクライアントがキャッシュすることがあります。再接続またはリフレッシュが必要です。サーバー側の状態は正しいです。