KiPaydocs

KONSEP

Satu transaksi, tiga status yang perlu dipahami

Pelajari kapan transaksi masih menunggu, kapan order boleh dipenuhi, dan kapan checkout harus berhenti menerima pembayaran.

STATUS TRANSAKSIStatus, pemicu, dan tindakan backend dalam satu tampilan.
Ledger transisi status transaksi KiPayTabel dua baris membandingkan semua transisi yang valid dari pending. Konfirmasi jaringan menghasilkan paid, lalu backend memverifikasi transaksi dan memenuhi order satu kali. Ketika expires_at tercapai, status menjadi expired dan backend membuat transaksi baru.satu status dapat berubah, dua status akhirSTATUS SAAT INIPEMICUSTATUS BERIKUTNYAAKSI BACKENDDAPAT BERUBAHPENDINGmenunggu pembayaran01 / JARINGANKonfirmasi cocokdengan transaksi iniPAIDstatus akhirVerifikasi lewat APIlalu penuhi order satu kali02 / WAKTUexpires_at tercapaisebelum konfirmasi pembayaranEXPIREDstatus akhirTutup checkout inibuat transaksi baru untuk retryATURAN TETAPStatus akhir tidak berubah lagi.Setiap retry menerima trx_id dan QR baru.
01

Gunakan status sebagai sumber keputusan

Setiap transaksi dimulai dengan status pending, lalu berakhir sebagai paid atau expired. Jangan membuat versi status pembayaran sendiri di aplikasi Anda. Simpan status KiPay dan status order sebagai dua data yang terhubung, tetapi tetap terpisah.

StatusTerminalTindakan aplikasi
pendingTidakTampilkan QR dan tunggu konfirmasi
paidYaVerifikasi, lalu penuhi order
expiredYaTutup checkout dan buat transaksi baru bila diperlukan
02

pending

QR sudah tersedia, tetapi jaringan belum mengonfirmasi pembayaran. Pelanggan masih dapat membayar selama waktu pada expires_at belum terlewati.

Pending bukan kegagalan

Jangan membatalkan order hanya karena status belum berubah setelah beberapa detik. Gunakan expires_at sebagai batas yang pasti.

04

expired

Masa berlaku pembayaran telah berakhir. Jangan gunakan kembali QR dari transaksi ini untuk checkout baru. Buat transaksi baru agar nominal, masa berlaku, dan pelacakan tetap konsisten.