Skip to main content

Pendahuluan

Integrasi Slack memposting event Dodo Payments, seperti pembayaran yang berhasil, perubahan subscription, dan dispute, ke channel Slack yang Anda pilih. Tim Anda dapat memantau pembayaran dan menangani dispute dari Slack tanpa memeriksa dashboard.
Slack connector mengubah setiap event Dodo Payments menjadi pesan Slack dengan transformation: kode JavaScript yang berjalan pada event sebelum delivery. Connector dilengkapi dengan transformation code, sehingga Anda tidak perlu coding untuk memulainya. Anda memerlukan akses ke Developer → Webhooks di dashboard Dodo Payments dan izin untuk menambahkan app ke Slack workspace Anda.

Memulai

1

Open the Webhook Section

Di dashboard Dodo Payments, buka Developer → Webhooks lalu klik Add endpoint.
Dialog Add endpoint dengan dropdown Integration yang disetel ke Custom webhook
2

Select Slack Integration

Di Integration, pilih Slack. Dashboard memuat kode transformasi Slack dan menampilkan langkah-langkah penyiapan di panel How to connect Slack.
Dialog Add endpoint dengan Slack yang dipilih dan langkah-langkah How to connect Slack
3

Create a Slack Webhook URL

Di Slack, buat app dengan incoming webhook untuk channel yang akan menerima notifikasi:
  1. Buka api.slack.com/apps, klik Create New App, lalu pilih From scratch.
  2. Beri nama app, misalnya Dodo Payments Notifications, pilih workspace Anda, lalu klik Create App.
  3. Di sidebar, buka Incoming Webhooks dan aktifkan Activate Incoming Webhooks.
  4. Klik Add New Webhook to Workspace, pilih channel, lalu klik Allow.
  5. Salin Webhook URL, yang dimulai dengan https://hooks.slack.com/services/.
Layar izin Slack dengan pemilih channel dan tombol Allow
4

Paste the Webhook URL

Tempel Slack webhook URL ke Endpoint URL. Slack tidak memerlukan API key.
5

Select Events

Subscribed events mencantumkan event yang didukung Slack connector. Jika Anda mengubah transformation, pertahankan hanya event yang ditanganinya. Slack menolak request yang bukan pesan Slack, sehingga event yang dibiarkan tidak berubah oleh transformation gagal dikirim.
6

Customize Transformation Code

Di bawah Transformation code, edit handler untuk memilih event mana yang memposting pesan dan seperti apa tampilan setiap pesan. Pertahankan code connector, atau mulai dari examples.
Editor transformation code dengan Slack handler untuk event pembayaran
7

Test and Create

Di bawah Test this code, pilih jenis event lalu klik Simulate. Result menampilkan pesan yang akan diterima Slack. Kemudian klik Create endpoint.
Panel Test this code dengan payment.succeeded yang dipilih, tombol Simulate, dan tombol Create endpoint
8

Integration Complete!

Dodo Payments sekarang memposting setiap event yang di-subscribe ke channel Slack Anda. Untuk memposting pesan pengujian, buka tab Testing pada endpoint, pilih jenis event, lalu klik Send example.

Contoh Kode Transformasi

Setiap handler mengganti webhook.payload dengan pesan Slack dan mempertahankan webhook.url, yaitu URL incoming webhook Anda. Jumlah Dodo Payments menggunakan unit mata uang terkecil, sehingga contoh-contoh ini membaginya dengan 100 dan menampilkan kode mata uang. Untuk mata uang tanpa angka desimal seperti JPY dan KRW, gunakan jumlah tersebut apa adanya.

Notifikasi Pembayaran Dasar

Kirim pesan teks biasa saat pembayaran berhasil, gagal, atau sedang diproses:
payment_notifs.js

Notifikasi Subscription yang Kaya

Kirim pesan berkode warna dengan kolom lampiran saat subscription menjadi aktif, dibatalkan, atau diperpanjang:
subscription_notifs.js

Notifikasi Manajemen Dispute

Kirim pesan merah saat dispute dibuka atau kalah, dan pesan hijau saat dimenangkan:
dispute_notifs.js

Handler Semua Event yang Komprehensif

Kirim pesan dalam format yang sama untuk setiap jenis event. Event yang tidak memiliki case sendiri akan mendapatkan pesan umum yang berisi jenis dan waktu event:
all_events_notifs.js

Praktik Terbaik

Ikuti praktik berikut agar notifikasi Slack tetap bermanfaat:
  • Gunakan lampiran pesan dengan warna dan kolom, sehingga setiap event jelas dan mudah ditindaklanjuti.
  • Sertakan data penting seperti jumlah, email pelanggan, dan ID, sehingga tim Anda dapat menemukan catatan tersebut dengan cepat.
  • Sesuaikan warna dengan jenis event: hijau (good) untuk keberhasilan, merah (danger) untuk dispute atau kegagalan, kuning (warning) untuk pembatalan, dan biru (#3aa3e3) untuk event informasional.
  • Tambahkan timestamp (ts), sehingga setiap pesan menampilkan waktu terjadinya event.
Tangani Data Sensitif: Jangan kirim nilai sensitif seperti kunci lisensi lengkap atau data pribadi ke Slack. Potong atau samarkan nilai tersebut, seperti yang dilakukan pada kolom kunci lisensi dalam contoh semua event.

Pemecahan Masalah

  • Periksa apakah URL Slack webhook sudah benar dan aplikasi Slack-nya masih terpasang.
  • Periksa apakah kode transformasi merupakan JavaScript yang valid.
  • Periksa apakah event yang di-subscribe sedang terjadi. Untuk mengirim salah satunya, gunakan Send example pada tab Testing endpoint.
  • Periksa apakah aplikasi Slack Anda telah mengaktifkan Incoming Webhooks dan dapat mengirim pesan ke channel tersebut.
  • Buka tab Logs di Developer → Webhooks dan periksa respons delivery yang gagal.
  • Periksa apakah field payload yang dibaca kode Anda sesuai dengan event payload untuk jenis event tersebut.
  • Uji kode Anda dengan Simulate dan payload contoh.
  • Periksa apakah setiap field yang dibaca kode Anda tersedia. Field opsional, seperti error_message, dapat berupa null.
  • Periksa apakah event dipilih di Subscribed events. Untuk mengubah pilihan, buka endpoint lalu klik Edit.
  • Periksa apakah konektor Slack mendukung event tersebut. Subscribed events hanya mencantumkan event yang didukung konektor.
  • Periksa apakah transformasi Anda memiliki case untuk event tersebut. Contoh-contoh ini membiarkan event lain tetap apa adanya, dan Slack akan menolaknya.
Terakhir diubah pada 26 September 2026