Zeval Digital
Dokumentasi API
Mulai
Pengenalan Autentikasi Kode Respons
Endpoint
Cek Saldo Kategori & Brand Daftar Produk Buat Transaksi Cek Tagihan Bayar Tagihan Cek Status Transaksi Callback
Dokumentasi›API V1
v1 Kredensial API Masuk

Cek Status Transaksi

Memeriksa hasil sebuah transaksi: masih diproses, berhasil, atau gagal.

POSThttps://api.zevaldigital.com/v1/transaction/status

Memeriksa 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

ParameterTipeWajibKeterangan
secret_idstringYaSecret ID Anda.
signaturestringYaHasil md5(secret_id:secret_key:ref_id). Lihat halaman Autentikasi.
ref_idstringYaNomor 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:

statusArti dan yang perlu dilakukan
pendingMasih diproses. Belum final: jangan dianggap gagal dan jangan beli ulang. Tunggu callback atau cek lagi beberapa saat kemudian.
successBerhasil. Isian sn berisi serial number atau token bila produknya menghasilkan.
failedGagal. 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.
← SebelumnyaBayar Tagihan Berikutnya →Callback