はじめに
Discord 連携を使用すると、支払い、サブスクリプション、異議申し立て、その他の Dodo Payments イベントを、指定した Discord チャンネルに投稿できます。チームは API をポーリングしたりダッシュボードを確認したりすることなく、普段コラボレーションしている場所で各イベントを確認できます。Dodo Payments ダッシュボードの Developer → Webhooks へのアクセス権と、Discord サーバーの Manage Webhooks 権限が必要です。
始め方
1
Create a Discord Webhook
Discord で通知を受け取るチャンネルを開き、Edit Channel をクリックします。Integrations → Webhooks → New Webhook に移動し、webhook に名前を付けてチャンネルを確認し、Copy Webhook URL をクリックします。
2
Open the Webhook Section
Dodo Payments dashboardで、Developer → Webhooksに移動し、Add endpointをクリックします。

3
Select Discord
Integration で Discord を選択します。How to connect Discord パネルには、Discord webhook の作成手順が再度表示されます。
4
Paste the Webhook URL
Discord webhook URL は
https://discord.com/api/webhooks/ で始まります。これを Endpoint URL に貼り付けます。Discord では API key は必要ありません。5
Select Events
Subscribed events で、変換処理が処理するイベントを選択します。Discord は
content または embeds のないメッセージを拒否するため、変換処理が変換しないイベントは配信に失敗します。6
Edit Transformation Code
Transformation code で、各イベントを Discord embed にマッピングする方法を調整するか、examples から始めます。
7
Test & Create
Test this code で Simulate をクリックし、サンプル payload の embed をプレビューします。次に Create endpoint をクリックします。
8
Done
これで、サブスクライブした各イベントのメッセージが Discord チャンネルに届きます。
変換コードの例
各 handler はwebhook.payload を、1 つの embed を含む Discord メッセージに置き換えます。Dodo Payments の金額は通貨の最小単位で表されるため、例では 100 で割って通貨コードを表示しています。
最小限の支払い embed
支払いが成功したときに embed を投稿します(payment.succeeded):
payment_embed.js
サブスクリプションイベント
サブスクリプションが有効になったとき(subscription.active)またはキャンセルされたとき(subscription.cancelled)に embed を投稿します:
subscription_embed.js
異議申し立てアラート
dispute.opened、dispute.won、dispute.lost など、すべての異議申し立てイベントに対して embed を投稿します。タイトルと色は、異議申し立ての dispute_status に従います:
dispute_embed.js
ヒント
- リッチな書式と色には埋め込みを使用します。
- タイトルは短くし、詳細はフィールドに記載します。
- 結果を示す色を使用します。成功には緑、失敗には赤、警告にはオレンジを使用します。
トラブルシューティング
No Messages in Discord
No Messages in Discord
- チャンネルのIntegrations → WebhooksにWebhookがまだ存在し、Endpoint URLがそのURLと一致していることを確認します。
- transformationが
embedsを含むJSONオブジェクトを返すことを確認します。 - Subscribed eventsに想定しているイベントが含まれていることを確認します。
- Developer → WebhooksのLogsタブでendpointの配信試行を開き、Discordのレスポンスコードを確認します。
Transformation Errors
Transformation Errors
- エディターでコードを検証します。構文エラーがあると配信がブロックされます。
- フィールド名がWebhook payloadの構造と一致していることを確認します。