Ambil satu invoice
GET/api/invoices/{id}
Status disegarkan ke gateway saat dipanggil, sehingga cocok untuk rekonsiliasi setelah webhook.
{
"id": "9f2c1a7b3e5d8a41c0b2",
"order_id": "INV-1001",
"description": "Kopi susu",
"amount": 25000,
"fee": 175,
"total": 25000,
"status": "paid",
"created_at": 1767225000,
"expires_at": 1767225600,
"paid_at": 1767225210,
"pay_url": "https://pay.tokomu.id/pay.html?id=9f2c1a7b3e5d8a41c0b2"
}
Bila invoice bukan milikmu atau tidak ada, jawabannya 404.
Daftar invoice
GET/api/invoices
| Query | Keterangan |
|---|---|
status | paid, pending, expired, cancelled, atau failed (gabungan kedaluwarsa dan dibatalkan). Nilai lain dijawab 422. |
q | Cari di order_id dan description (maksimal 40 karakter). |
limit | 1 sampai 100, bawaan 50. |
before | Kursor dari field next respons sebelumnya. |
{
"invoices": [
{ "id": "9f2c…", "order_id": "INV-1001", "description": "Kopi susu", "amount": 25000,
"fee": 175, "total": 25000, "status": "paid",
"created_at": 1767225000, "paid_at": 1767225210, "expires_at": 1767225600 }
],
"next": "1767225000_9f2c1a7b3e5d8a41c0b2"
}
next bernilai null bila tidak ada halaman berikutnya. Kirim nilainya apa adanya sebagai before.
Batalkan invoice
DELETE/api/invoices/{id}
Hanya invoice berstatus pending yang bisa dibatalkan. Respons { "ok": true }, atau 404 bila invoice tidak ada atau sudah diproses.
Membatalkan tidak menjamin pelanggan belum membayar. Jika pembayaran terlanjur masuk sebelum pembatalan, status sudah
paid dan pembatalan ditolak.