Nigana Pay
Dokumentasi API

Buat invoice

Membuat invoice QRIS dinamis dengan nominal tetap.

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
POST/api/invoices

Body

FieldTipeWajibKeterangan
amountintegerYaNominal rupiah. Batas bawaan 1.000 sampai 5.000.000 (lihat limits di /api/me).
order_idstringTidakID pesanan di sistemmu, maksimal 64 karakter dan unik per merchant. Bila kosong dibuatkan otomatis.
descriptionstringTidakDeskripsi singkat, maksimal 120 karakter.
redirect_urlstringTidakURL https tujuan setelah pembayaran lunas.

Respons 201

{
  "id": "9f2c1a7b3e5d8a41c0b2",
  "order_id": "INV-1001",
  "amount": 25000,
  "total": 25000,
  "status": "pending",
  "expires_at": 1767225600,
  "pay_url": "https://pay.tokomu.id/pay.html?id=9f2c1a7b3e5d8a41c0b2"
}
  • total adalah nominal yang harus dibayar pelanggan sesuai QR.
  • expires_at adalah batas waktu QR (bawaan 10 menit setelah dibuat).

Galat

KodePesanPenyebab
422amount harus bilangan bulat antara …Nominal di luar batas atau bukan bilangan bulat
422redirect_url harus memakai httpsURL tidak https atau tidak valid
409order_id sudah dipakaiorder_id yang sama sudah ada di akunmu
409Nominal yang sama sedang menunggu pembayaran…Ada invoice menunggu dengan nominal yang sama
429Terlalu banyak invoice dibuat…Lebih dari 30 invoice per menit
502pesan dari gatewayGateway QRIS gagal membuat QR

Mengapa nominal sama ditolak?

QRIS dicocokkan lewat nominal. Jika dua invoice menunggu dengan nominal sama, satu pembayaran tidak bisa dibedakan miliknya yang mana. Karena itu, selama ada invoice menunggu dengan nominal tersebut (milik merchant mana pun), pembuatan yang baru ditolak dengan 409.

Strategi umum: tangkap 409 lalu tambahkan selisih kecil pada nominal, atau tampilkan invoice yang sudah ada kepada pelanggan.