Skip to main content
Coba Lagi Manual mencoba kembali pembayaran perpanjangan langganan yang gagal segera setelah Anda memintanya, dari halaman detail pembayaran atau melalui API. Pembayaran dibebankan ke metode pembayaran yang tersimpan di langganan, dan berjalan secara independen dari jadwal Payment Retries otomatis.

Apa Itu Coba Lagi Manual?

Saat pembayaran perpanjangan gagal, langganan berpindah ke on_hold dan Payment Retries mencoba kembali membebankan biaya berdasarkan jadwal back-off. Terkadang Anda tahu bahwa pembayaran akan berhasil sekarang: pelanggan telah mengonfirmasi bahwa mereka mengisi saldo akunnya, atau tim dukungan Anda sedang berbicara dengan mereka. Coba Lagi Manual memungkinkan Anda mengirim satu percobaan segera, tanpa menunggu berjam-jam atau berhari-hari hingga percobaan terjadwal berikutnya.
  • Hanya pembayaran perpanjangan: Coba Lagi Manual berlaku untuk invoice perpanjangan langganan saat langganan berada dalam status on_hold. Pembayaran pertama, pembayaran satu kali, biaya perubahan paket, dan biaya sesuai permintaan tidak memenuhi syarat.
  • Tanpa tindakan pelanggan: Biaya dibebankan ke metode pembayaran yang sudah tersimpan di langganan.
  • Independen dari percobaan otomatis: Percobaan manual tidak mengurangi jumlah percobaan dari jadwal otomatis, tidak memindahkan percobaan terjadwal berikutnya, dan tetap berfungsi meskipun Payment Retries dinonaktifkan.
  • Mencoba kembali invoice, bukan pembayaran: Pembayaran yang gagal hanyalah titik awal. Dodo Payments mencari invoice perpanjangan terbuka yang mendasarinya dan menagihkan utang tersebut, sehingga tidak masalah pembayaran gagal mana pada invoice yang Anda gunakan untuk mencoba lagi.

Mencoba Lagi dari Dashboard

1

Open the failed payment

Buka Transactions → Payments dan klik pembayaran perpanjangan yang gagal untuk membuka halaman Transaction details.
2

Click Retry Payment Manually

Klik Retry Payment Manually di sudut kanan atas. Tombol ini hanya tersedia saat pembayaran memenuhi syarat.
3

Check the result

Pembayaran baru dibuat untuk percobaan tersebut dan muncul di Activity Log. Jika biaya berhasil, langganan kembali ke active dan tanggal penagihan berikutnya maju seperti biasa. Jika pemroses pembayaran belum menyelesaikan biaya tersebut, pembayaran akan ditampilkan sebagai sedang diproses hingga webhook payment.succeeded atau payment.failed melaporkan hasilnya.
Transaction details page for a failed payment showing the error code and message, an Activity Log, and a Retry Payment Manually button

Retry Payment Manually on the transaction details page of a failed renewal

Kelayakan

Percobaan manual hanya dikirim jika semua pemeriksaan di bawah ini berhasil. Kolom Reason code adalah yang dikembalikan API: dalam reason pada GET /payments/{payment_id}/retry, dan sebagai error code pada POST /payments/{payment_id}/retry.
Coba Lagi Manual lebih terbatas daripada percobaan otomatis dalam satu hal: status langganan harus on_hold. Percobaan otomatis tetap berjalan untuk status nonaktif lainnya; lihat Transisi Status Langganan.
Mencoba kembali hard decline pada kartu yang sama tidak akan berhasil, dan penolakan berulang dapat menurunkan tingkat otorisasi Anda. Jika alasannya adalah MANUAL_RETRY_HARD_DECLINE, minta pelanggan memperbarui metode pembayarannya. Subscription Dunning melakukan hal ini secara otomatis.

Batas Percobaan

Setiap invoice perpanjangan mengizinkan 3 percobaan manual, dengan masa tunggu di antaranya: Batas ini berlaku dalam mode test dan mode live. Saat percobaan ditolak karena alasan ini, API mengembalikan MANUAL_RETRY_LIMIT_REACHED (HTTP 429). Isi error hanya memuat code dan message. Untuk mengetahui kapan percobaan berikutnya tersedia, periksa status percobaan dan baca retry_available_at. Nilainya adalah null setelah ketiganya digunakan. Percobaan otomatis tidak dihitung dalam batas ini, dan percobaan manual tidak dihitung dalam 8 percobaan pada jadwal otomatis.

Percobaan Manual vs. Otomatis

Mencoba Lagi melalui API

Periksa kelayakan terlebih dahulu, lalu kirim percobaan ulang. Kedua endpoint menerima ID pembayaran yang gagal.

Memeriksa Apakah Pembayaran Dapat Dicoba Lagi

GET /payments/{payment_id}/retry tidak pernah gagal untuk pembayaran yang tidak memenuhi syarat. Endpoint ini mengembalikan can_retry: false dengan kode reason, sehingga dashboard atau alat dukungan Anda dapat menampilkan status yang sama seperti dashboard Dodo Payments. Endpoint ini memerlukan peran Viewer.
Response

Mengirim Coba Lagi Manual

POST /payments/{payment_id}/retry membuat pembayaran baru dan menagihkan metode pembayaran yang tersimpan. Endpoint ini memerlukan peran Editor.
Response

Respons Error

Setiap kode dijelaskan dalam referensi Error Codes.

Webhook

Coba lagi manual membuat pembayaran biasa, sehingga webhook yang sama dipicu seperti pada percobaan perpanjangan lainnya: Pada objek pembayaran dalam event ini, retry_attempt bernilai 1 atau lebih tinggi dan subscription_id ditetapkan, sama seperti pada percobaan otomatis. Simpan payment_id dari respons percobaan ulang jika Anda perlu membedakan percobaan manual dari percobaan terjadwal.

Payment Webhook Payloads

Skema payload lengkap untuk event pembayaran.

Terkait

Subscription Payment Retries

Jadwal back-off otomatis yang berjalan bersamaan dengan percobaan manual.

Subscription Dunning

Kirim email kepada pelanggan untuk memperbarui metode pembayaran mereka setelah hard decline.

Handle Payment Failures

Baca kode penolakan dan tentukan kapan percobaan ulang layak dilakukan.

Error Codes

Setiap kode MANUAL_RETRY_*, pemicunya, dan pesannya.
Terakhir diubah pada 25 September 2026