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

Open the Webhook Section

Di dasbor Dodo Payments Anda, buka Webhooks → + Add Endpoint lalu buka dropdown integrasi.
Add Endpoint and integrations dropdown
2

Select N8N

Pilih kartu integrasi N8N.
3

Create Webhook in N8N

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

Paste Webhook URL

Tempel URL webhook N8N ke konfigurasi endpoint.
5

Configure Transformation

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

Test & Create

Uji dengan payload sampel dan klik Create untuk mengaktifkan integrasi.
7

Activate Workflow

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

Done!

🎉 Event pembayaran kini akan secara otomatis memicu alur kerja N8N Anda.

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 rangkaian email di Mailchimp/ConvertKit
  • Kirim notifikasi Slack/Discord melalui webhook
  • Buat catatan di Google Sheets secara otomatis
  • Kirim pesan Telegram/WhatsApp
  • Tambahkan kontak ke HubSpot/Salesforce
  • Buat peluang di Pipedrive/Close
  • Perbarui catatan pelanggan di Airtable
  • Catat aktivitas di Monday.com
  • Sinkronkan data ke database PostgreSQL/MySQL
  • Buat tugas di Asana/Trello
  • Tambahkan item yang harus dikerjakan di Notion
  • Buat acara kalender di Google Calendar
  • Kirim notifikasi SMS melalui Twilio
  • Buat isu GitHub untuk sengketa
  • Transformasi dan perkaya data pembayaran
  • Simpan event di database (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 bahwa URL webhook sudah benar dan dapat diakses
  • Periksa bahwa alur kerja sudah diaktifkan di N8N
  • Pastikan node webhook dikonfigurasi dengan metode POST
  • Uji pengiriman webhook di riwayat eksekusi N8N
  • Verifikasi pengaturan firewall/jaringan mengizinkan 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 masuk
  • Pastikan kode transformasi mengembalikan JSON yang valid
  • Periksa pengaturan format respons node webhook
  • Gunakan node Set untuk mengganti nama atau menyusun ulang field
  • Tinjau log eksekusi di N8N untuk pesan kesalahan yang lebih rinci
  • Periksa pengaturan koneksi dan kredensial node
  • Verifikasi semua field yang dibutuhkan ada dalam payload
  • Uji node individu dengan data sampel
  • Aktifkan alur kerja kesalahan untuk menangkap dan menangani kegagalan
  • Periksa batas laju dan kuota API untuk layanan yang terhubung