Permintaan pembayaran
Daftar permintaan
Daftar permintaan pembayaran, terbaru dulu, dengan paging kursor.
/v1/transactionsParameter query
Jumlah per halaman, 1–100 (default 20). Nilai lain — di atas 100, nol, negatif, atau bukan angka sama sekali — diam-diam diganti dengan default 20, bukan ditolak, jadi limit yang tidak Anda maksud membuat baris per request berkurang, bukan memunculkan error.
Contoh: 20
Id payreq_* terakhir yang Anda lihat, untuk halaman berikutnya. Jangan gabungkan paging dengan filter di bawah: has_more menjawab untuk query, bukan untuk sisa setelah difilter, jadi halaman yang difilter bisa kembali kosong dengan has_more: true — sedangkan kursornya adalah id terakhir di data, yang tidak ada di halaman kosong. Lakukan paging tanpa filter lalu filter di sisi Anda.
Filter berdasarkan status. Semua filter di sini hanya berlaku pada halaman yang diambil, jadi daftar yang difilter menjangkau paling jauh sebanyak limit catatan — ini bukan pencarian atas seluruh riwayat Anda. Untuk mencakup semuanya, lakukan paging tanpa filter lalu filter di sisi Anda.
Contoh: succeeded
Filter berdasarkan nomor pesanan. Hanya per halaman, seperti status.
Filter berdasarkan referensi Anda sendiri. Hanya per halaman, seperti status.
Rentang waktu (RFC3339), setengah terbuka: created_after menyertakan permintaan yang dibuat tepat pada batas, created_before mengecualikannya, sehingga rentang yang berurutan tidak pernah kehilangan atau menggandakan satu baris. Hanya per halaman, seperti status. Nilai yang bukan RFC3339 ditolak dengan 422 invalid_filter, bukan diabaikan — kirim 2026-08-11T00:00:00+07:00, bukan 2026-08-11.
curl "https://pay.kasera.id/v1/transactions?limit=20&status=succeeded" \ -H "Authorization: Bearer kp_live_..."
{
"data": [
{
"id": "payreq_9b2f...",
"status": "pending",
"currency": "IDR",
"amount": 150000,
"fee": 3000,
"net": 147000,
"description": "Kaos komunitas",
"external_id": "ORD-1234",
"merchant_ref": "INV-2026-001",
"customer": { "name": "Budi", "email": "budi@toko.dev" },
"order_items": [
{ "name": "Kaos komunitas", "price": 75000, "quantity": 2 }
],
"return_url": "https://toko.example/selesai",
"checkout_url": "https://pay.kasera.id/p/xK3f...",
"source": "api",
"qris_string": "00020101021226670016COM.KASERA.WWW...6304A1B2",
"payment_method": "QRIS",
"instructions": {
"title": "Cara membayar dengan QRIS",
"steps": [
"Buka aplikasi e-wallet atau mobile banking Anda.",
"Pilih menu bayar dengan QRIS, lalu scan kode QR di halaman pembayaran.",
"Periksa nama merchant dan nominal, lalu konfirmasi pembayaran.",
"Pembayaran terkonfirmasi otomatis dalam beberapa detik."
]
},
"expires_at": "2026-08-11T13:00:00+07:00",
"paid_at": null,
"created_at": "2026-08-11T12:00:00+07:00"
}
],
"has_more": false
}