error_code standar dan error_message yang mudah dipahami. Panduan ini menunjukkan cara membaca kolom tersebut, menentukan apakah perlu mencoba lagi, dan memulihkan pembayaran dengan aman.
Bagaimana Dodo Payments Melaporkan Kegagalan
Setiap pembayaran yang gagal memiliki kolom berikut pada objek pembayaran:error_code dan error_message adalah null hingga pembayaran gagal. Selalu periksa status terlebih dahulu.Webhook payment.failed
Webhook payment.failed adalah cara paling andal untuk mendeteksi kegagalan. Event tersebut membungkus objek pembayaran lengkap dalam data:
payment.failed payload
error_code dan melakukan routing berdasarkan nilainya:
Tentukan Apakah Perlu Retry: Soft vs. Hard Decline
error_code memberi tahu apakah retry dengan metode pembayaran yang sama layak dilakukan.
Lihat Transaction Failures untuk daftar lengkap jenis decline dan tindakan yang direkomendasikan.
Menangani Kegagalan Saat Checkout vs. Saat Renewal
Cara pemulihan yang Anda lakukan bergantung pada apakah customer sedang hadir.- At checkout (customer present)
- On subscription renewal (customer not present)
Pelanggan sedang aktif melakukan checkout. Tampilkan pesan yang jelas dan izinkan mereka mencoba lagi atau menggunakan kartu lain.
requires_payment_method— pelanggan tidak pernah memberikan metode pembayaran. Ini biasanya merupakan pelanggan yang meninggalkan checkout, bukan decline. Hubungi kembali pelanggan agar menyelesaikan pembayaran (lihat Pemulihan Keranjang yang Ditinggalkan).requires_customer_action— autentikasi tambahan (seperti 3DS) diperlukan. Minta pelanggan menyelesaikannya. Lihat 3D Secure.
Melakukan Retry pada Pembayaran yang Gagal
Subscriptions: Aktifkan Subscription Payment Retries untuk memulihkan soft decline secara otomatis. Untuk mencoba lagi segera tanpa menunggu jadwal, gunakan Manual Payment Retry dari dashboard atau API. Anda juga dapat memicu pemulihan dengan meminta pelanggan memperbarui metode pembayaran mereka melalui Update Payment Method API, yang akan menagih tunggakan apa pun. Pembayaran satu kali: Kirim ulang checkout ataupayment_link agar pelanggan dapat mencoba lagi dengan metode yang berbeda. Tidak ada percobaan ulang otomatis untuk pembayaran satu kali.
Tampilkan Error kepada Pelanggan dengan Aman
Tampilkan pesan yang ramah kepada pelanggan, jangan pernah menampilkanerror_code mentah atau error_message yang ditujukan untuk merchant.
Pada antarmuka yang dikendalikan Dodo Payments (checkout, Customer Portal, email dunning), pemetaan ini sudah dilakukan untuk Anda, termasuk fallback ke pesan umum untuk decline terkait fraud. Anda hanya memerlukan pemetaan di bawah ini jika menampilkan kegagalan dalam produk Anda sendiri.
Customer-facing messaging
Terkait
Transaction Failures
Setiap kode decline, jenisnya, dan tindakan yang direkomendasikan.
Error Codes
Error API dan logika bisnis yang bukan merupakan decline kartu.
Subscription Payment Retries
Pemulihan otomatis soft decline pada perpanjangan subscription.
Subscription Dunning
Urutan email yang memulihkan hard decline.
Payment Webhooks
Skema payload lengkap untuk event pembayaran.
Testing Failures
Kartu pengujian yang menyimulasikan decline dan kegagalan perpanjangan.