Skip to main content

はじめに

Slack integration は、成功した支払い、サブスクリプションの変更、異議申し立てなどの Dodo Payments イベントを、選択した Slack チャンネルに投稿します。チームはダッシュボードを確認しなくても、Slack から支払いを追跡し、異議申し立てに対応できます。
Slack connector は、各 Dodo Payments イベントを transformation によって Slack メッセージに変換します。transformation は、配信前にイベント上で実行される JavaScript コードです。connector には transformation code が付属しているため、開始時にコーディングは必要ありません。Dodo Payments dashboard の Developer → Webhooks へのアクセス権と、Slack workspace にアプリを追加する権限が必要です。

始め方

1

Open the Webhook Section

Dodo Payments ダッシュボードで、Developer → Webhooks に移動し、Add endpoint をクリックします。
Add endpoint dialog with the Integration dropdown set to Custom webhook
2

Select Slack Integration

Integration で Slack を選択します。ダッシュボードに Slack の transformation code が読み込まれ、How to connect Slack パネルに設定手順が表示されます。
Add endpoint dialog with Slack selected and the How to connect Slack steps
3

Create a Slack Webhook URL

Slack で、通知を受け取るチャンネル用の incoming webhook を備えたアプリを作成します。
  1. api.slack.com/apps を開き、Create New App をクリックして、From scratch を選択します。
  2. アプリ名(例: Dodo Payments Notifications)を入力し、workspace を選択して Create App をクリックします。
  3. サイドバーで Incoming Webhooks を開き、Activate Incoming Webhooks をオンにします。
  4. Add New Webhook to Workspace をクリックし、チャンネルを選択して Allow をクリックします。
  5. Webhook URL をコピーします。URL は https://hooks.slack.com/services/ で始まります。
チャンネル選択欄と Allow ボタンが表示された Slack 権限画面
4

Paste the Webhook URL

Slack webhook URL を Endpoint URL に貼り付けます。Slack に API key は必要ありません。
5

Select Events

Subscribed events には、Slack connector がサポートするイベントが一覧表示されます。transformation を変更する場合は、処理対象のイベントだけを残してください。Slack は Slack message ではないリクエストを拒否するため、transformation によって変更されないイベントは配信に失敗します。
6

Customize Transformation Code

Transformation code で handler を編集し、メッセージを投稿するイベントと各メッセージの形式を選択します。connector の code をそのまま使用するか、examples を基に開始します。
支払いイベント用の Slack handler が表示された Transformation code editor
7

Test and Create

Test this code でイベントタイプを選択し、Simulate をクリックします。Result に Slack が受信するメッセージが表示されます。次に Create endpoint をクリックします。
Test this code panel with payment.succeeded selected, a Simulate button, and the Create endpoint button
8

Integration Complete!

これで Dodo Payments は、購読した各イベントを Slack チャンネルに投稿します。テストメッセージを投稿するには、endpoint の Testing タブを開き、イベントタイプを選択して Send example をクリックします。

Transformation Code の例

各 handler は webhook.payload を Slack メッセージに置き換え、受信 webhook URL である webhook.url を保持します。Dodo Payments の金額は通貨の最小単位で表されるため、例では 100 で割り、通貨コードを表示しています。JPY や KRW などの小数点以下の桁がない通貨では、金額をそのまま使用してください。

基本的な Payment 通知

Payment が成功、失敗、または処理中になったときに、プレーンテキストのメッセージを投稿します。
payment_notifs.js

リッチな Subscription 通知

Subscription が有効化、キャンセル、または更新されたときに、attachment fields を含む色分けされたメッセージを投稿します。
subscription_notifs.js

Dispute 管理通知

Dispute が開始されたとき、または敗訴したときは赤いメッセージを、勝訴したときは緑のメッセージを投稿します。
dispute_notifs.js

すべてのイベントに対応する包括的な handler

すべてのイベントタイプで同じ形式のメッセージを投稿します。独自の case を持たないイベントには、イベントタイプと時刻を含む汎用メッセージが使用されます。
all_events_notifs.js

ベストプラクティス

Slack 通知を有用なものに保つため、次のプラクティスに従ってください。
  • 各イベントを明確にし、対応しやすくするため、色と fields を含む message attachments を使用します。
  • チームがレコードをすばやく見つけられるよう、金額、customer email、ID などの重要なデータを含めます。
  • イベントタイプに合わせて色を設定します。成功には緑(good)、dispute または失敗には赤(danger)、キャンセルには黄色(warning)、情報イベントには青(#3aa3e3)を使用します。
  • timestamp(ts)を追加し、各メッセージにイベントが発生した時刻を表示します。
機密データを扱う: full license keys や個人データなどの機密性の高い値を Slack に投稿しないでください。all-events の例の license key field のように、値を切り詰めるかマスクしてください。

トラブルシューティング

  • Slack webhook URL が正しく、対応する Slack app が引き続きインストールされていることを確認します。
  • transformation code が有効な JavaScript であることを確認します。
  • 購読しているイベントが発生していることを確認します。イベントを送信するには、endpoint の Testing タブで Send example を使用します。
  • Slack app で Incoming Webhooks が有効になっており、channel に投稿できることを確認します。
  • Developer → Webhooks の Logs タブを開き、失敗した delivery の response を確認します。
  • code が読み取る payload fields が、そのイベントタイプの event payload と一致していることを確認します。
  • Simulate と sample payload を使用して code をテストします。
  • code が読み取る各 field が存在することを確認します。error_message などの optional fields は、null にできます。
  • Subscribed events でイベントが選択されていることを確認します。選択を変更するには、endpoint を開いて Edit をクリックします。
  • Slack connector がイベントをサポートしていることを確認します。Subscribed events には、connector がサポートするイベントのみが一覧表示されます。
  • transformation にそのイベント用の case があることを確認します。例では他のイベントを変更せずに残しているため、Slack に拒否されます。
最終更新日 2026年9月26日