Nigana Pay
Dokumentasi API

Siklus status invoice

Empat status dan kapan invoice berpindah di antaranya.

Daftar dokumentasi

Mulai

PengantarQuickstartAutentikasiSandbox dan mode demo

Invoice QRIS

Buat invoiceAmbil, daftar, batalkanSiklus status invoice

Saldo dan notifikasi

Profil, saldo, mutasiWebhook

Referensi

Kode error dan batas lajuContoh kodeFAQChangelog
StatusArtiBisa berubah ke
pendingMenunggu pembayaran, QR masih berlakupaid, expired, cancelled
paidLunas, saldo sudah bertambahFinal
expiredLewat batas waktu QRpaid (selama masa tenggang)
cancelledDibatalkan oleh merchantFinal

Masa tenggang pembayaran terlambat

QR di sisi gateway kadang masih bisa dibayar setelah batas waktu. Karena itu invoice expired tetap dicek ke gateway sampai 1 jam setelah expires_at. Bila pembayaran ditemukan, invoice menjadi paid dan webhook dikirim seperti biasa.

Siapa pemilik sebuah nominal?

Karena pencocokan memakai nominal, bila ada invoice lebih baru dengan nominal sama (menunggu, kedaluwarsa dalam masa tenggang, atau sudah lunas), invoice yang lebih lama tidak akan diklaim. Aturan ini mencegah satu pembayaran mengkredit dua invoice.

Kapan status diperbarui?

  • Saat GET /api/invoices/{id} dipanggil.
  • Saat halaman bayar dibuka atau disegarkan (polling oleh browser pelanggan).
  • Saat halaman pertama GET /api/invoices dimuat (maksimal 10 invoice hidup disegarkan).

Pengecekan ke gateway dibatasi 30 kali per menit untuk tiap invoice.

Biaya dan saldo

Saat lunas, fee = round(amount × fee_percent / 100) dan saldo bertambah amount − fee. Pelunasan bersifat atomik dan idempoten: sebuah invoice tidak mungkin dikreditkan dua kali.