Langsung ke konten utama

Pendahuluan

Sambungkan Dodo Payments ke ribuan aplikasi dan layanan melalui N8N. Otomatiskan alur kerja dengan memicu alur kerja N8N saat peristiwa pembayaran terjadi, mulai dari mengirim email hingga memperbarui spreadsheet, membuat tugas, operasi basis data, dan banyak lagi.
Integrasi ini memerlukan URL webhook N8N dari konfigurasi alur kerja Anda.

Memulai

1

Buka Bagian Webhook

Di dasbor Dodo Payments Anda, navigasikan ke Webhooks → + Tambah Endpoint dan perluas dropdown integrasi.
Tambah Endpoint dan dropdown integrasi
2

Pilih N8N

Pilih kartu integrasi N8N.
3

Buat Webhook di N8N

Di N8N, buat alur kerja baru dan tambahkan node Webhook sebagai pemicu. Konfigurasikan sebagai webhook POST dan salin URL webhook.
4

Tempel URL Webhook

Tempel URL webhook N8N ke dalam konfigurasi endpoint.
5

Konfigurasi Transformasi

Edit kode transformasi untuk memformat data untuk alur kerja N8N Anda.
6

Uji & Buat

Uji dengan payload contoh dan klik Buat untuk mengaktifkan integrasi.
7

Aktifkan Alur Kerja

Di N8N, aktifkan alur kerja Anda untuk mulai menerima peristiwa webhook.
8

Selesai!

🎉 Peristiwa pembayaran sekarang akan memicu alur kerja N8N Anda secara otomatis.

Contoh Kode Transformasi

Payload Webhook Dasar

basic_webhook.js
function handler(webhook) {
  if (webhook.eventType === "payment.succeeded") {
    const p = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      payment_id: p.payment_id,
      amount: (p.total_amount / 100).toFixed(2),
      currency: p.currency || "USD",
      customer_email: p.customer.email,
      customer_name: p.customer.name,
      payment_method: p.payment_method || "unknown",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Penangan Acara Langganan

subscription_webhook.js
function handler(webhook) {
  const s = webhook.payload.data;
  switch (webhook.eventType) {
    case "subscription.active":
      webhook.payload = {
        event_type: "subscription_started",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        customer_name: s.customer.name,
        product_id: s.product_id,
        amount: (s.recurring_pre_tax_amount / 100).toFixed(2),
        frequency: s.payment_frequency_interval,
        next_billing: s.next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
    case "subscription.cancelled":
      webhook.payload = {
        event_type: "subscription_cancelled",
        subscription_id: s.subscription_id,
        customer_email: s.customer.email,
        cancelled_at: s.cancelled_at,
        cancel_at_next_billing: s.cancel_at_next_billing_date,
        timestamp: webhook.payload.timestamp
      };
      break;
  }
  return webhook;
}

Penangan Pemberitahuan Sengketa

dispute_webhook.js
function handler(webhook) {
  if (webhook.eventType.startsWith("dispute.")) {
    const d = webhook.payload.data;
    webhook.payload = {
      event_type: webhook.eventType,
      dispute_id: d.dispute_id,
      payment_id: d.payment_id,
      amount: (d.amount / 100).toFixed(2),
      status: d.dispute_status,
      stage: d.dispute_stage,
      remarks: d.remarks || "",
      urgent: webhook.eventType === "dispute.opened",
      timestamp: webhook.payload.timestamp
    };
  }
  return webhook;
}

Kasus Penggunaan N8N yang Populer

  • Kirim email Gmail/Outlook untuk konfirmasi pembayaran
  • Buat urutan email di Mailchimp/ConvertKit
  • Kirim notifikasi Slack/Discord melalui webhook
  • Buat catatan Google Sheets secara otomatis
  • Kirim pesan Telegram/WhatsApp
  • Tambahkan kontak ke HubSpot/Salesforce
  • Buat kesepakatan di Pipedrive/Close
  • Perbarui catatan pelanggan di Airtable
  • Catat aktivitas di Monday.com
  • Sinkronkan data ke basis data PostgreSQL/MySQL
  • Buat tugas di Asana/Trello
  • Tambahkan item to-do di Notion
  • Buat acara kalender di Google Calendar
  • Kirim notifikasi SMS melalui Twilio
  • Buat masalah GitHub untuk sengketa
  • Transformasi dan perkaya data pembayaran
  • Simpan peristiwa di basis data (PostgreSQL, MongoDB)
  • Agregasi metrik dan analitik
  • Hasilkan laporan dan ekspor
  • Picu alur kerja multi-langkah yang kompleks

Tips

  • Jaga struktur payload tetap sederhana untuk memudahkan parsing node N8N
  • Gunakan nama field yang konsisten di semua peristiwa
  • Sertakan timestamp untuk penjadwalan dan waktu alur kerja
  • Uji alur kerja Anda dengan data contoh sebelum mengaktifkan
  • Gunakan node IF N8N untuk logika dan routing bersyarat
  • Manfaatkan node Kode N8N untuk transformasi data kustom
  • Gunakan node Switch untuk merutekan jenis peristiwa yang berbeda ke jalur yang berbeda
  • Siapkan alur kerja kesalahan untuk menangani pengiriman webhook yang gagal

Pemecahan Masalah

  • Verifikasi URL webhook benar dan dapat diakses
  • Periksa bahwa alur kerja diaktifkan di N8N
  • Pastikan node webhook dikonfigurasi sebagai metode POST
  • Uji pengiriman webhook di riwayat eksekusi N8N
  • Verifikasi pengaturan firewall/jaringan memungkinkan webhook masuk
  • Periksa pengaturan otentikasi webhook N8N jika dikonfigurasi
  • Periksa nama field di konfigurasi node N8N
  • Verifikasi tipe data sesuai dengan format yang diharapkan di node
  • Gunakan fitur uji N8N untuk memeriksa data yang masuk
  • Pastikan kode transformasi mengembalikan JSON yang valid
  • Periksa pengaturan format respons node webhook
  • Gunakan node Set untuk mengganti nama atau merestrukturisasi field
  • Tinjau log eksekusi di N8N untuk pesan kesalahan yang lebih rinci
  • Periksa pengaturan koneksi node dan kredensial
  • Verifikasi semua field yang diperlukan ada dalam payload
  • Uji node individu dengan data contoh
  • Aktifkan alur kerja kesalahan untuk menangkap dan menangani kegagalan
  • Periksa batas laju dan kuota API untuk layanan yang terhubung