Simulasi & Akses Portal Reseller Mitra
Tiket Top Up Saldo Deposit Otomatis
Halaman Dokumentasi API & Sandbox Terkunci
Akses spesifikasi teknis REST API v1 dan fitur Interactive Sandbox Console khusus tersedia bagi Mitra Reseller ZavoPay yang sudah terautentikasi.
Spesifikasi REST API v1
Dokumentasi parameter JSON payload & respons lengkap.
Live Sandbox Console
Uji coba kirim request API secara real-time ke gateway server.
MD5 Signature Validator
Kalkulator otomatis untuk pembuatan MD5 hash signature aman.
Webhook Callback Logs
Pantau notifikasi status transaksi otomatis secara instant.
Spesifikasi Lengkap Integrasi REST API H2H Zavopay
1. Standar Otentikasi & Keamanan (Security Rules)
- Format Header: Semua request API wajib menggunakan header
Content-Type: application/json. - Skema Signature HMAC-SHA256: Nilai
signaturedibuat menggunakanHMAC-SHA256dari urutan parameter request body (A-Z) + timestamp dengan secretapi_key. - IP Whitelist: Request API hanya akan diterima jika IP Server pengirim terdaftar di daftar
ip_whitelistakun reseller Anda. - Deduplikasi Transaksi: Pengiriman request dengan
ref_idyang sama tidak akan diproses dua kali, melainkan mengembalikan status transaksi sebelumnya.
2. Tabel Kode Status Respons (Response Codes / RC)
| Response Code (RC) | Status HTTP | Keterangan Deskripsi | Tindakan Sistem Reseller |
|---|---|---|---|
| 00 | 200 OK | SUCCESS - Transaksi Berhasil Diproses & SN Diterbitkan | Potong saldo pengguna reseller & simpan Serial Number (SN) |
| 01 | 200 OK | PENDING - Transaksi Dalam Antrean Pemrosesan Provider | Tunggu push Webhook Callback atau lakukan polling Cek Status |
| 400 | 400 Bad Request | Signature Invalid / Parameter Wajib Kurang Lengkap | Perbaiki skema MD5 Signature atau periksa nama parameter JSON |
| 401 | 401 Unauthorized | API Key Tidak Valid atau Account Reseller Terblokir | Periksa kembali API Key / Secret Key di halaman profil reseller |
| 403 | 403 Forbidden | IP Address Server Pengirim Tidak Terdaftar di Whitelist | Tambahkan IP Server Anda di menu Whitelist IP Reseller |
| 404 | 404 Not Found | Kode SKU Produk Tidak Ditemukan | Cek daftar SKU produk yang aktif melalui endpoint Pricelist |
| 97 | 400 Bad Request | Stok Produk Sedang Kosong | Gagal transaksi, infokan ke pelanggan stok sedang habis |
| 98 | 400 Bad Request | Produk Sedang Gangguan / Maintenance Upstream | Gagal transaksi, alihkan ke produk jalur alternatif |
| 99 | 400 Bad Request | Saldo Deposit Reseller Tidak Cukup / Gagal Sistem | Lakukan Top Up Saldo Deposit H2H di Zavopay Server |
3. Spesifikasi Endpoint REST API H2H
POST /api/h2h/transaksi.php
Metode utama downstream reseller untuk menembak order transaksi Pulsa, Data, Token PLN, E-Wallet, dan Voucher Game.
{
"member_id": "RES-88901",
"api_key": "zv_key_88901",
"ref_id": "REF-MITRA-1001",
"buyer_sku_code": "PLN20",
"customer_no": "5310029312",
"signature": "md5(member_id + api_key + ref_id)"
}
{
"status": true,
"response_code": "00",
"message": "Transaksi Berhasil Diproses",
"data": {
"h2h_trx_id": "ZAV-TRX-10001",
"ref_id": "REF-MITRA-1001",
"buyer_sku_code": "PLN20",
"customer_no": "5310029312",
"price": 20200,
"status": "SUCCESS",
"sn": "3829-1920-4820-1920 / PLN TOKEN READY",
"timestamp": "2026-08-15T19:40:00.000Z"
}
}
POST /api/h2h/pricelist.php
Mengambil daftar katalog produk, harga jual H2H reseller, dan status ketersediaan stok secara live.
{
"member_id": "RES-88901",
"api_key": "zv_key_88901",
"category": "Pulsa" // Optional: Pulsa, Data, PLN, E-Wallet, Voucher Game
}
{
"status": true,
"response_code": "00",
"message": "Daftar Harga Berhasil Dimuat",
"total_products": 19,
"data": [
{
"buyer_sku_code": "S10",
"product_name": "Telkomsel 10.000",
"category": "Pulsa",
"price": 10300,
"status": "active",
"seller_product_status": true
}
]
}
POST /api/h2h/profile.php
Mengecek sisa saldo deposit reseller, tier level akun, dan URL Callback Webhook yang terdaftar.
{
"member_id": "RES-88901",
"api_key": "zv_key_88901",
"signature": "md5(member_id + api_key + 'PROFILE')"
}
{
"status": true,
"response_code": "00",
"message": "Berhasil Ambil Profil & Saldo",
"data": {
"member_id": "RES-88901",
"name": "Reseller Mitra Utama",
"balance": 1500000,
"tier": "VIP",
"callback_url": "https://api.mitra.com/webhook-receiver"
}
}
POST /api/h2h/status.php
Mengecek status transaksi spesifik berdasarkan ref_id milik reseller jika status awal transaksi PENDING.
{
"member_id": "RES-88901",
"api_key": "zv_key_88901",
"ref_id": "REF-MITRA-1001",
"signature": "md5(member_id + api_key + ref_id)"
}
{
"status": true,
"response_code": "00",
"message": "Status Transaksi Berhasil Diambil",
"data": {
"h2h_trx_id": "ZAV-TRX-10001",
"ref_id": "REF-MITRA-1001",
"status": "SUCCESS",
"sn": "SN994182901238",
"price": 10300
}
}
4. Spesifikasi Realtime Webhook Callback Push Notification
Server Zavopay secara otomatis melakukan HTTP POST Push Notification ke callback_url server Anda saat transaksi yang berstatus PENDING berubah menjadi SUCCESS atau FAILED.
{
"event": "transaction_update",
"h2h_trx_id": "ZAV-TRX-10001",
"ref_id": "REF-MITRA-1001",
"buyer_sku_code": "S10",
"customer_no": "081234567890",
"price": 10300,
"status": "SUCCESS",
"sn": "SN994182901238",
"message": "Transaksi Berhasil Diproses",
"timestamp": "2026-08-15T19:40:00.000Z"
}
{
"status": "OK",
"received": true,
"message": "Callback Received Successfully"
}
*Jika server reseller tidak merespon HTTP 200 OK dalam kurun 5 detik, sistem akan melakukan otomatis retry callback hingga 3 kali.
