API Documentation
Integrasikan layanan verifikasi rekening bank dan e-wallet ke dalam aplikasi atau website Anda dengan REST API Cek Rekening Bank & E-Wallet. Dibangun untuk kecepatan, keandalan, dan kemudahan integrasi.
https://cekbank.web.id/api/v1
Authentication
Sebagian besar endpoint memerlukan autentikasi. Anda harus menyertakan API Key yang valid dalam header setiap request.
Bearer Token Auth
Kirimkan API Key Anda menggunakan skema Bearer pada header Authorization.
Authorization: Bearer ek_live_YOUR_API_KEY_HERE
Rate Limiting
Setiap akun memiliki batas request per jam (default: 100/jam). Informasi limit tersedia di response header: X-RateLimit-Limit, X-RateLimit-Remaining. Jika melebihi limit, server akan mengembalikan HTTP 429.
HTTP Status Codes
| Code | Status | Keterangan |
|---|---|---|
200 | OK | Request berhasil |
400 | Bad Request | Rekening tidak ditemukan |
401 | Unauthorized | API Key tidak valid atau tidak aktif |
402 | Payment Required | Saldo tidak mencukupi |
403 | Forbidden | IP tidak ada dalam whitelist |
422 | Unprocessable | Parameter request tidak valid |
429 | Too Many Requests | Rate limit terlampaui |
503 | Service Unavailable | API upstream sedang down |
1. Cek Rekening
Mengecek nama pemilik dari sebuah nomor rekening bank atau e-wallet secara real-time. Memotong saldo per *request*.
Request Payload
| Parameter | Type | Required | Description |
|---|---|---|---|
bank_code | String | Yes | Kode bank (cth: BCA, BRI, DANA) |
account_number | String | Yes | Nomor rekening tujuan |
Example Request
{
"bank_code": "BCA",
"account_number": "1234567890"
}
Example Response
{
"success": true,
"status": "found",
"is_cached": true,
"response_time_ms": 12,
"data": {
"bank_code": "BCA",
"bank_name": "Bank Central Asia",
"account_number": "1234567890",
"account_name": "JOHN DOE",
"checked_at": "2023-10-25T14:30:00+07:00"
}
}
cURL Example
curl -X POST https://cekbank.web.id/api/v1/verify \
-H "Authorization: Bearer ek_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"bank_code": "BCA", "account_number": "1234567890"}'
2. Daftar Bank
Mendapatkan daftar lengkap kode bank dan e-wallet yang didukung oleh sistem.
Example Response
{
"success": true,
"data": [
{
"bank_code": "BCA",
"bank_name": "Bank Central Asia",
"type": "bank"
},
{
"bank_code": "DANA",
"bank_name": "DANA E-Wallet",
"type": "ewallet"
}
],
"total": 2
}
3. Cek Saldo
Melihat jumlah sisa saldo aktif dan status akun API Anda saat ini.
Example Response
{
"success": true,
"data": {
"client_name": "John Doe",
"email": "john@example.com",
"balance": 150000,
"is_active": true,
"is_free_forever": false,
"rate_limit_per_hour": 100
}
}
4. Topup Saldo ⚡
Snap PaymentTopup saldo akun API Anda menggunakan ekosistem EchoPay Snap Payment. Endpoint ini akan mengembalikan checkout_url yang bisa Anda buka (redirect atau popup) untuk memproses pembayaran (QRIS, VA, E-Wallet, Retail).
Otomatis & Real-time: Kami menggunakan Webhook terintegrasi. Segera setelah pembayaran berhasil, sistem akan otomatis melakukan verifikasi dan menambah saldo Anda detik itu juga.
Request Payload
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | Integer | Yes | Nominal topup (Min. 10000) |
payment_method | String | No | Default: QRIS |
Example Request
{
"amount": 50000,
"payment_method": "QRIS"
}
Example Response
{
"success": true,
"message": "Deposit created",
"data": {
"invoice_no": "INV-16982233",
"amount": 50000,
"checkout_url": "https://...",
"status": "pending"
}
}
5. Riwayat Mutasi
Melihat seluruh riwayat mutasi saldo API client Anda (pemotongan, topup, refund).
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | Integer | 1 | Halaman yang diinginkan |
limit | Integer | 20 | Jumlah data per halaman (max 100) |
Example Response
{
"success": true,
"data": [
{
"type": "usage",
"amount": -500,
"balance_before": 50000,
"balance_after": 49500,
"description": "Check BCA 1234567890",
"created_at": "2026-07-16 22:00:00"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"total_pages": 8
}
}
Quick Start (Multi-Language)
Contoh integrasi cepat menggunakan berbagai bahasa pemrograman. Base URL akan otomatis menyesuaikan domain deploy Anda.
PHP (cURL)
$ch = curl_init('https://cekbank.web.id/api/v1/verify');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ek_live_YOUR_API_KEY',
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode([
'bank_code' => 'BCA',
'account_number' => '1234567890'
])
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
Python (requests)
import requests
response = requests.post(
'https://cekbank.web.id/api/v1/verify',
headers={'Authorization': 'Bearer ek_live_YOUR_API_KEY'},
json={'bank_code': 'BCA', 'account_number': '1234567890'}
)
data = response.json()
JavaScript (fetch)
const response = await fetch('https://cekbank.web.id/api/v1/verify', {
method: 'POST',
headers: {
'Authorization': 'Bearer ek_live_YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
bank_code: 'BCA',
account_number: '1234567890'
})
});
const data = await response.json();