Skip to main content

Pendahuluan

Integrasi Discord memposting event pembayaran, subscription, sengketa, dan event Dodo Payments lainnya ke channel Discord yang Anda pilih. Tim Anda melihat setiap event di tempat mereka sudah berkolaborasi, tanpa melakukan polling pada API atau memeriksa dasbor.
Anda memerlukan akses ke Developer → Webhooks di dasbor Dodo Payments, serta izin Manage Webhooks di server Discord.

Memulai

1

Create a Discord Webhook

Di Discord, buka channel yang akan menerima notifikasi dan klik Edit Channel. Buka Integrations → Webhooks → New Webhook, beri nama webhook, konfirmasikan channel, lalu klik Copy Webhook URL.
2

Open the Webhook Section

Di dashboard Dodo Payments, buka Developer → Webhooks lalu klik Add endpoint.
Dialog Add endpoint dengan Discord dipilih di dropdown Integration
3

Select Discord

Di Integration, pilih Discord. Panel How to connect Discord mengulangi langkah-langkah untuk membuat Discord webhook.
4

Paste the Webhook URL

Tempel URL Discord webhook, yang diawali dengan https://discord.com/api/webhooks/, ke dalam Endpoint URL. Discord tidak memerlukan API key.
5

Select Events

Di Subscribed events, pilih event yang ditangani oleh transformation Anda. Discord menolak pesan yang tidak memiliki content atau embeds, sehingga event yang tidak dikonversi oleh transformation gagal dikirim.
6

Edit Transformation Code

Di bagian Transformation code, sesuaikan cara setiap event dipetakan ke Discord embed, atau mulai dari contoh.
7

Test & Create

Di bagian Test this code, klik Simulate untuk melihat pratinjau embed untuk sample payload. Lalu klik Create endpoint.
8

Done

Channel Discord Anda kini menerima pesan untuk setiap event yang di-subscribe.

Contoh Kode Transformation

Setiap handler mengganti webhook.payload dengan pesan Discord yang berisi satu embed. Nominal Dodo Payments menggunakan unit mata uang terkecil, sehingga contoh-contoh ini membaginya dengan 100 dan menampilkan kode mata uang.

Minimal Payment Embed

Posting embed saat pembayaran berhasil (payment.succeeded):
payment_embed.js

Subscription Events

Posting embed saat subscription menjadi aktif (subscription.active) atau dibatalkan (subscription.cancelled):
subscription_embed.js

Dispute Alerts

Posting embed untuk setiap event sengketa, seperti dispute.opened, dispute.won, dan dispute.lost. Judul dan warna mengikuti dispute_status sengketa:
dispute_embed.js

Tips

  • Gunakan embed untuk pemformatan dan warna yang lebih kaya.
  • Buat judul tetap singkat, dan masukkan detail ke dalam field.
  • Gunakan warna yang menunjukkan hasil: hijau untuk berhasil, merah untuk gagal, dan oranye untuk peringatan.

Pemecahan Masalah

  • Pastikan webhook masih ada di Integrations → Webhooks pada channel, dan Endpoint URL cocok dengan URL-nya.
  • Periksa apakah transformation mengembalikan objek JSON dengan embeds.
  • Pastikan Subscribed events mencakup event yang Anda harapkan.
  • Buka percobaan pengiriman endpoint di tab Logs pada Developer → Webhooks untuk melihat kode respons Discord.
  • Validasi kode Anda di editor. Kesalahan sintaks memblokir pengiriman.
  • Pastikan nama field sesuai dengan struktur payload webhook.
Terakhir diubah pada 26 September 2026