Skip to main content

Cek Status Transaksi

Endpoint untuk mengecek status transaksi yang telah dilakukan menggunakan ref_id.

Endpoint: POST /v1/status

tip

Lebih baik gunakan Webhook untuk notifikasi otomatis daripada polling endpoint ini. Jika harus polling, jangan lebih sering dari setiap 10 detik.

Parameter Request

ParameterTipeWajibKeterangan
api_idstringAPI ID
timestampintegerUnix timestamp
signaturestringHMAC-SHA256
ref_idstringID referensi transaksi yang ingin dicek

Contoh Request

<?php
$api_id = 'your_api_id';
$api_key = 'your_api_key';
$secret_key = 'your_secret_key';
$timestamp = time();

// Business params
$businessParams = ['ref_id' => 'TRX12345asdxxx'];

// Urutkan A ke Z (ksort)
ksort($businessParams);

$canonicalBody = json_encode($businessParams, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
$bodyHash = hash('sha256', $canonicalBody);
$stringToSign = implode('|', [$api_id, $api_key, $timestamp, $bodyHash]);
$signature = hash_hmac('sha256', $stringToSign, $secret_key);

$payload = array_merge($businessParams, [
'api_id' => $api_id,
'timestamp' => $timestamp,
'signature' => $signature,
]);

$ch = curl_init('https://api.isikuota.com/v1/status');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);

Contoh Response

{
"success": true,
"code": "SUCCESS",
"message": "Successfully checked order status",
"data": {
"ref_id": "ORDER-2025-001",
"code": "TSEL10",
"name": "Telkomsel 10.000",
"customer_no": "081234567890",
"sn": "1234-5678-9012-3456",
"price": 10955,
"status": "Success",
"created_at": "2024-01-15 14:30:00"
},
"errors": null,
"meta": null
}

Field Response

FieldTipeKeterangan
ref_idstringID referensi transaksi
codestringKode produk
namestringNama produk
customer_nostringNomor tujuan transaksi
snstring/nullSerial Number / kode voucher (hanya tersedia jika status: Success)
priceintegerHarga yang dibayarkan (Rp)
statusstringStatus transaksi
created_atstringWaktu transaksi dibuat

Status Transaksi

StatusKeteranganTindakan
PendingSedang diprosesTunggu callback atau cek ulang dalam beberapa saat
SuccessBerhasil — sn tersediaUpdate status di sistem Anda
FailedGagal — saldo dikembalikanNotifikasi user, tawarkan coba lagi
Jangan langsung retry

Jika sebuah request timeout, cek status dulu via endpoint ini menggunakan ref_id sebelum membuat transaksi baru. Transaksi mungkin sudah berhasil meski response tidak diterima.