Lewati ke konten utama

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?#

GET/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
curl https://sekalipay.com/api/v1/gateway/payment/ORDER-2026-00184 \
  -H "X-API-Key: $SEKALIPAY_API_KEY" \
  -H "Accept: application/json"
200 OK
{
  "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. null bila belum lunas.

Apa arti setiap status?#

StatusArtiYang dilakukan
pendingMenunggu pembayaran.Tunggu webhook. Jangan kirim barang.
paidLunas (produksi).Proses pesanan.
completedLunas (simulasi sandbox).Perlakukan sama dengan paid.
canceledLewat batas bayar tanpa pembayaran.Anggap belum dibayar, tetapi siapkan jalan bila berubah menjadi paid (lihat di bawah).
failedPembayaran 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?#

HTTPKodeArti
404PAYMENT_NOT_FOUNDTidak ada tagihan dengan merchant_ref_id itu di akun ini.
500INTERNAL_SERVER_ERRORKesalahan di sisi kami; detailnya tidak dikirim. Coba lagi, atau hubungi dukungan dengan waktu kejadian dan merchant_ref_id.
404 Not Found
{
  "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