← Back to all posts
2026-09-21 · MailAnvil Team

Email Dunning: Cara Menagih Pembayaran Gagal Tanpa Jadi Spam — Panduan untuk Startup Indonesia

Churn karena pembayaran gagal itu diam-diam. Customer tidak marah, tidak kirim email komplain — mereka cuma berhenti bayar. Kartu kredit expired, saldo GoPay habis, virtual account tidak dibayar. Startup SaaS Indonesia rata-rata kehilangan 1–2% MRR bulanan karena involuntary churn ini, dan hampir semuanya bisa dicegah dengan satu hal: email dunning yang benar.

Email dunning = rangkaian email otomatis yang menagih pembayaran gagal. Kedengarannya sederhana, tapi mayoritas startup mengerjakannya dengan salah: satu email generik "payment failed, please update" lalu diam. Hasilnya customer berhenti tanpa sadar, dan kamu kehilangan revenue yang seharusnya bisa diselamatkan.

Anatomi dunning sequence yang bekerja

Standar industri adalah 3–4 email dalam 10–14 hari:

Tahap Waktu Tujuan Tone
1 — Informasi Hari 0 (saat gagal) Beri tahu, minta perbaiki Netral, helpful
2 — Pengingat Hari 3–4 Reminder + link update kartu Netral
3 — Peringatan Hari 7 Akun akan di-suspend tanggal X Tegas
4 — Suspen Hari 10–14 Konfirmasi suspen + cara reaktivasi Tegas, sopan

Aturan penting:

  1. Jangan pernah bayangin user selalu bersalah. Seringkali bank issue atau provider payment timeout. Tahap 1 harus netral: "kami gagal memproses pembayaranmu", bukan "kamu gagal bayar".
  2. Satu CTA per email: link ke halaman update metode pembayaran (bukan link ke dashboard "cari sendiri").
  3. Retry + email berbarengan. Setiap kali retry pembayaran gagal lagi, kirim email itu hari itu juga — jangan tunggu jadwal tahap berikutnya.

Kasus nyata di Indonesia

SaaS B2B Jakarta (akuntansi): pelanggan bayar via virtual account BCA. VA expired, invoice tidak dibayar. Tanpa dunning, tim finance manual follow-up via WhatsApp — makan 10 jam/minggu. Dengan dunning otomatis, 60% pembayaran tertunggak selesai tanpa intervensi manusia.

Platform kelas online (Yogyakarta): langganan bulanan via kartu kredit — chargeback rate rendah tapi expired card tinggi. Email tahap 1 dengan tombol "Perbarui kartu" langsung di body email menyelamatkan ~70% kasus.

Aplikasi food delivery (Surabaya) B2B merchant invoicing: invoice WhatsApp blast manual diganti email otomatis. Merchat langsung punya paper trail yang bisa dibaca ulang — tidak hilang di 47 chat WhatsApp lain.

Contoh implementasi: 3-tahap dengan MailAnvil API

Kirim dunning email dari server kamu (bukan dari Gmail tim support — reputasi domain email transaksional penting untuk deliverability).

// dunning.js — Node.js/Express
const API_KEY = process.env.MAILANVIL_API_KEY;

async function sendDunningEmail(customer, stage) {
  const templates = {
    1: { subject: `Pembayaran untuk ${customer.plan} gagal diproses`, days: 0 },
    2: { subject: `Reminder: metode pembayaran ${customer.plan} perlu diperbarui`, days: 3 },
    3: { subject: `Aksi diperlukan: langganan ${customer.plan} akan dijeda ${customer.suspendDate}`, days: 7 },
  };
  const t = templates[stage];

  const res = await fetch('https://api.mailanvil.com/v1/send', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json',
      // Idempotency-Key mencegah double-send kalau cron jalan 2x
      'Idempotency-Key': `dunning-${customer.id}-stage-${stage}`,
    },
    body: JSON.stringify({
      from: '[email protected]',
      to: [customer.email],
      subject: t.subject,
      html: renderDunningTemplate(customer, stage), // template kamu
      text: renderDunningText(customer, stage),
    }),
  });
  return res.status === 202; // queued
}

Cron harian kamu tinggal: cari invoice gagal, cek berapa hari sejak gagal, tentukan stage, kirim. Idempotency-Key penting — kalau cron tumpang tindih atau retry, email yang sama tidak terkirim dua kali.

Deliverability untuk dunning: email tagihan berisiko tinggi masuk spam karena mirip phishing. Trik:

Kepatuhan UU PDP

Email penagihan adalah komunikasi atas kontrak — dasar hukumnya performance of contract, bukan consent marketing, jadi kamu tidak butuh opt-in eksplisit. Tapi tetap wajib:

Checklist sebelum jalan

Total effort: 1–2 hari kerja engineer. Dampak: memulihkan 1–2% MRR yang bocor diam-diam setiap bulan. Tidak banyak proyek dengan ROI segitu.


Coba MailAnvil gratis di mailanvil.com — 500 email/bulan gratis, bayar pakai QRIS/GoPay mulai Rp149rb/bulan.