Skip to main content

Pendahuluan

Jalankan fungsi Inngest dan pekerjaan latar belakang saat event pembayaran terjadi. Dodo Payments mengirim setiap event ke Inngest, tempat fungsi Anda dapat mengirim notifikasi, memperbarui database, dan menjalankan alur kerja multi-langkah dengan fitur percobaan ulang dan penanganan error Inngest.
Anda memerlukan URL webhook Inngest. Buat URL tersebut di dasbor Inngest melalui Manage → Webhooks.

Memulai

1

Open the Webhook Section

Di dasbor Dodo Payments, buka Developer → Webhooks dan klik Add endpoint.
Add endpoint dialog with Inngest selected in the Integration dropdown
2

Select Inngest

Di Integration, pilih Inngest. Di bagian Subscribed events, pilih event yang harus memicu fungsi Anda.
3

Create an Inngest Webhook

Di dasbor Inngest, buka tab Manage dan pilih Webhooks. Buat webhook dan salin URL-nya. Inngest menjalankan fungsi transformasi webhook pada setiap request, jadi pastikan fungsi tersebut tetap menyertakan field name dan data yang diharapkan fungsi Anda.
4

Paste Webhook URL

Tempel URL webhook Inngest ke Endpoint URL.
5

Configure Transformation

Di Transformation code, edit kode untuk memformat event untuk fungsi Inngest Anda. Lihat contoh di bawah.
6

Test & Create

Di bagian Test this code, pilih jenis event dan klik Simulate untuk menjalankan transformasi menggunakan sample payload. Kemudian klik Create endpoint untuk mengaktifkan integrasi.
7

Done

Event Dodo Payments sekarang memicu fungsi Inngest Anda.

Contoh Kode Transformasi

Setiap contoh menulis ulang webhook.payload menjadi event Inngest. name adalah event yang memicu fungsi Anda, data berisi detail event, user berisi data customer, dan ts adalah waktu event dalam milidetik, yang diperlukan oleh format event Inngest.

Basic Event Payload

basic_event.js

Subscription Event Handler

subscription_event.js

Dispute Event Handler

Handler ini meneruskan setiap event dispute.* dan menandai dispute.opened sebagai urgent. Payload sengketa tidak menyertakan detail customer, jadi handler ini tidak mengirim objek user.
dispute_event.js

Kasus Penggunaan Inngest yang Umum

  • Mengirim email konfirmasi
  • Memperbarui data customer
  • Memproses refund
  • Membuat invoice
  • Memperbarui inventaris
  • Menyambut subscriber baru
  • Memproses pembatalan
  • Mengirim pengingat perpanjangan
  • Memperbarui siklus penagihan
  • Menangani pembayaran yang gagal
  • Memperbarui metrik pendapatan
  • Melacak perilaku customer
  • Membuat laporan
  • Menyinkronkan data ke platform analitik
  • Menghitung tingkat churn

Tips

  • Gunakan nama event yang deskriptif. Inngest merekomendasikan pemberian awalan berdasarkan sumber, seperti dodo/payment.succeeded.
  • Letakkan detail customer di user, yang dienkripsi Inngest saat disimpan.
  • Atur ts dari timestamp milik webhook, dalam milidetik, agar event mempertahankan urutan dan waktu aslinya.
  • Gunakan struktur data yang sama di seluruh event.
  • Gunakan fitur percobaan ulang dan penanganan error Inngest.

Pemecahan Masalah

  • Periksa apakah URL endpoint sesuai dengan URL webhook Inngest Anda dan webhook tersebut aktif.
  • Periksa apakah fungsi Inngest Anda telah di-deploy dan aktif.
  • Periksa apakah nama event sesuai dengan trigger fungsi Anda.
  • Tinjau log fungsi Inngest untuk menemukan error.
  • Periksa apakah struktur payload sesuai dengan format event Inngest.
  • Periksa apakah nama event diformat dengan benar.
  • Periksa apakah fungsi transformasi webhook Inngest tetap menyertakan field yang ditetapkan oleh transformasi Dodo Payments.
  • Periksa apakah semua field yang diperlukan telah disertakan.
  • Uji menggunakan alat pengujian webhook Inngest.
Terakhir diubah pada 26 September 2026