Cek Status Transaksi
Memeriksa hasil sebuah transaksi: masih diproses, berhasil, atau gagal.
POST
https://api.zevaldigital.com/v1/transaction/statusMemeriksa status sebuah transaksi. Pakai ini bila callback belum masuk, atau bila request pembelian Anda tidak mendapat jawaban dan Anda ingin memastikan transaksinya tercatat atau tidak.
Yang perlu dikirim
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
secret_id | string | Ya | Secret ID Anda. |
signature | string | Ya | Hasil md5(secret_id:secret_key:ref_id). Lihat halaman Autentikasi. |
ref_id | string | Ya | Nomor transaksi dari sistem Anda, yaitu ref_id yang dulu Anda kirim saat membeli. |
Contoh kode
Memakai fungsi zeval() dari halaman Autentikasi. Argumen ketiga adalah ref_id yang sama (dipakai untuk signature).
PHP
<?php
$refId = 'INV-1001';
$result = zeval('/v1/transaction/status', ['ref_id' => $refId], $refId);
if ($result['status'] === 'success') {
$trx = $result['data'];
if ($trx['status'] === 'success') {
echo 'Berhasil. SN: ' . $trx['sn'];
} elseif ($trx['status'] === 'failed') {
echo 'Gagal, saldo sudah dikembalikan.';
} else {
echo 'Masih diproses, cek lagi nanti.';
}
} else {
echo $result['message'];
}Node.js
const refId = 'INV-1001';
const result = await zeval('/v1/transaction/status', { ref_id: refId }, refId);
if (result.status === 'success') {
const trx = result.data;
if (trx.status === 'success') console.log('Berhasil. SN:', trx.sn);
else if (trx.status === 'failed') console.log('Gagal, saldo sudah dikembalikan.');
else console.log('Masih diproses, cek lagi nanti.');
} else {
console.log(result.message);
}Python
ref_id = "INV-1001"
result = zeval("/v1/transaction/status", {"ref_id": ref_id}, ref_id)
if result["status"] == "success":
trx = result["data"]
if trx["status"] == "success":
print("Berhasil. SN:", trx["sn"])
elif trx["status"] == "failed":
print("Gagal, saldo sudah dikembalikan.")
else:
print("Masih diproses, cek lagi nanti.")
else:
print(result["message"])Contoh respons
Transaksi berhasil
HTTP 200
{
"code": 200,
"status": "success",
"message": "Berhasil.",
"data": {
"trx_id": "TRX261005P5KZ4H",
"ref_id": "INV-1001",
"product_code": "OKD1",
"product_name": "DANA 1.000",
"destination": "081234567890",
"price": 1400,
"status": "success",
"sn": "1234567890",
"message": "Transaksi berhasil."
}
}Transaksi tidak ditemukan
HTTP 404
{
"code": 404,
"status": "error",
"error_code": "TRANSACTION_NOT_FOUND",
"message": "Transaksi tidak ditemukan."
}Arti status transaksi
Lihat isian data.status pada respons:
| status | Arti dan yang perlu dilakukan |
|---|---|
pending | Masih diproses. Belum final: jangan dianggap gagal dan jangan beli ulang. Tunggu callback atau cek lagi beberapa saat kemudian. |
success | Berhasil. Isian sn berisi serial number atau token bila produknya menghasilkan. |
failed | Gagal. Saldo sudah dikembalikan otomatis. Anda boleh membeli lagi dengan ref_id baru. |
Seberapa sering boleh dicek?Cukup setiap 10–30 detik, dan berhenti begitu statusnya bukan
pending. Bila Anda memakai Callback, endpoint ini hanya perlu dipakai sebagai cadangan.