Bagaimana mengecek status pembayaran?
Panggil GET /payment/{merchant_ref_id} dengan ref pesanan Anda sendiri. Respons memuat status terbaru; paid (atau completed di sandbox) berarti lunas. Pakai untuk rekonsiliasi dan saat webhook belum sampai, bukan sebagai pengganti webhook.
Isi halaman ini dicocokkan dengan kode API per 16 Oktober 2026.
Ke mana permintaan dikirim?#
/api/v1/gateway/payment/{merchant_ref_id}- Batas per menit:
- 30 permintaan per menit per API key
- Tanda tangan:
- Hanya Enhanced HMAC
Seperti apa contohnya?#
curl https://sekalipay.com/api/v1/gateway/payment/ORDER-2026-00184 \
-H "X-API-Key: $SEKALIPAY_API_KEY" \
-H "Accept: application/json"{
"status": true,
"message": "OK",
"data": {
"merchant_ref_id": "ORDER-2026-00184",
"invoice": "SPY1791446400K3QZ",
"status": "paid",
"amount": 150000,
"fee": 1500,
"total": 151500,
"payment_code": "QRIS",
"payment_link": "https://sekalipay.com/payment/SPY1791446400K3QZ",
"qr_link": "https://sekalipay.com/payment/SPY1791446400K3QZ/qris",
"virtual_account": null,
"checkout_url": null,
"payment_guide": null,
"expired_at": "2026-10-08T08:30:00.000000Z",
"created_at": "2026-10-08T08:00:00.000000Z",
"paid_at": "2026-10-08T08:05:12.000000Z"
}
}Apa isi responsnya?#
Field-nya sama dengan respons buat tagihan tanpa is_sandbox, ditambah dua waktu:
created_atstring- Waktu tagihan dibuat, ISO 8601 UTC.
paid_atstring | null- Waktu lunas, ISO 8601 UTC.
nullbila belum lunas.
Apa arti setiap status?#
| Status | Arti | Yang dilakukan |
|---|---|---|
pending | Menunggu pembayaran. | Tunggu webhook. Jangan kirim barang. |
paid | Lunas (produksi). | Proses pesanan. |
completed | Lunas (simulasi sandbox). | Perlakukan sama dengan paid. |
canceled | Lewat batas bayar tanpa pembayaran. | Anggap belum dibayar, tetapi siapkan jalan bila berubah menjadi paid (lihat di bawah). |
failed | Pembayaran gagal. | Bila pembeli ingin mencoba lagi, buat tagihan baru dengan merchant_ref_id lain. |
canceled bukan akhir yang mutlak
Pembayaran yang dikonfirmasi mitra sesaat setelah batas waktu tetap diterima: statusnya kembali paid dan webhook paid dikirim. Jangan menghapus pesanan atau melepas stok secara permanen tanpa jalan untuk kasus ini.
Seberapa sering boleh mengecek?#
Batasnya 30 permintaan per menit per API key, dihitung bersama untuk semua ref. Andalkan webhook; cek status cukup untuk rekonsiliasi berkala dan saat webhook belum datang beberapa menit setelah pembeli kembali ke situs Anda.
Galat apa yang khusus endpoint ini?#
| HTTP | Kode | Arti |
|---|---|---|
| 404 | PAYMENT_NOT_FOUND | Tidak ada tagihan dengan merchant_ref_id itu di akun ini. |
| 500 | INTERNAL_SERVER_ERROR | Kesalahan di sisi kami; detailnya tidak dikirim. Coba lagi, atau hubungi dukungan dengan waktu kejadian dan merchant_ref_id. |
{
"status": false,
"message": "PAYMENT_NOT_FOUND"
}Siap memakai kunci Anda sendiri?
Masuk ke dasbor merchant untuk mengambil API key dan secret key, mengatur mode akses dan URL webhook, serta mengunduh koleksi Postman berisi kunci akun Anda.
Masuk ke dasbor
