Dokumentasi API
Terakhir diperbarui: 11 Agustus 2026
A. Persiapan
Langkah pertama yang harus kamu lakukan adalah mendaftar dan login ke dashboard. Setelah itu, dapatkan API Key kamu di menu Profil untuk mulai mengintegrasikan sistem pembayaran ke aplikasi kamu.
B. Cek Saldo (Balance)
- Method: GET
- URL: /api/balance
Parameter:
- apikey (string, wajib)
Contoh Request:
const axios = require('axios');
axios.get('BASE_URL/api/balance?apikey=YOUR_API_KEY')
.then(response => console.log(response.data));
/*
Contoh response:
{
"username": "your_username",
"email": "name@gmail.com",
"balance": 150000,
"pending_balance": 100000
}
*/
C. Membuat Invoice
- Method: GET
- URL: /api/invoice
Parameter:
- apikey (string, wajib)
- amount (integer, wajib)
Contoh Request:
const axios = require('axios');
axios.get('BASE_URL/api/invoice?apikey=YOUR_API_KEY&amount=50000')
.then(response => console.log(response.data));
/*
Contoh response:
{
"success": true,
"invoice_id": "64c8d9e...",
"amount": 50000,
"fee": 500,
"total": 50500,
"qris_image": "https://...",
"payment_link": "https://...",
"expired_at": "2025-01-01 12:00:00"
}
*/
D. Webhook
Webhook akan dikirim secara otomatis setiap ada invoice deposit berhasil dibayar. Pastikan server kamu siap menerima HTTP POST
Contoh Struktur body yang akan dikirimkan:
{
"invoice_id": "64c8d9e...",
"amount": 100000,
"fee": 500,
"total": 100500,
"status": "paid",
"balance_after": 500000,
"completed_at": "2026-08-12T10:30:00.000Z"
}
E. Cek Status Invoice
- Method: GET
- URL: /api/invoice/status
Parameter:
- apikey (string, wajib)
- invoice_id (string, wajib)
Contoh Request:
const axios = require('axios');
axios.get('BASE_URL/api/invoice/status?apikey=YOUR_API_KEY&invoice_id=YOUR_INVOICE_ID')
.then(response => console.log(response.data));
/*
Contoh response:
{
"invoice_id": "64c8d9e...",
"amount": 50000,
"fee": 500,
"total": 50500,
"status": "paid",
"qris_image": "https://...",
"payment_link": "https://...",
"expired_at": "2025-01-01 12:00:00",
"created_at": "2025-01-01 11:30:00"
}
*/
F. Lihat Metode Withdraw
- Method: GET
- URL: /api/withdraw/methods
Parameter:
- apikey (string, wajib)
Contoh Request:
const axios = require('axios');
axios.get('BASE_URL/api/withdraw/methods?apikey=YOUR_API_KEY')
.then(response => console.log(response.data));
/*
Contoh response:
{
"manual_methods": [
{
"name": "Dana",
"method": "dana",
"fee": 100,
"min": 10000,
"max": 1000000
}
],
"instant_methods": [
{
"name": "Dana",
"method": "dana",
"fee": 100,
"min": 10000,
"max": 1000000
}
]
}
*/
G. Melakukan Withdraw
- Method: GET
- URL: /api/withdraw
Parameter:
- apikey (string, wajib)
- amount (integer, wajib)
- method (string, wajib)
- account_number (string, wajib)
- instant (boolean, opsional, default false)
Contoh Request Withdraw Manual:
const axios = require('axios');
axios.get('BASE_URL/api/withdraw?apikey=YOUR_API_KEY&amount=50000&method=dana&account_number=08123456789&instant=false')
.then(response => console.log(response.data));
/*
Contoh response sukses (manual):
{
"success": true,
"message": "Permintaan penarikan berhasil diajukan.",
"data": {
"id": "WDc4e3f2a1b2c3",
"amount": 50000,
"fee": 1000,
"method": "Dana",
"account_number": "08123456789",
"status": "pending",
"created_at": "2025-01-01T12:00:00.000Z"
}
}
*/
Contoh Request Withdraw Instan:
const axios = require('axios');
axios.get('BASE_URL/api/withdraw?apikey=YOUR_API_KEY&amount=20000&method=gopay&account_number=08129876543&instant=true')
.then(response => console.log(response.data));
/*
Contoh response sukses (instant):
{
"success": true,
"message": "Permintaan withdraw instan sedang diproses.",
"data": {
"id": "WDf3a1b2c3d4e5",
"amount": 20000,
"fee": 2000,
"method": "GoPay",
"account_number": "08129876543",
"status": "pending",
"created_at": "2025-01-01T12:05:00.000Z"
}
}
*/
H. Cek Status Withdraw
- Method: GET
- URL: /api/withdraw/status
Parameter:
- apikey (string, wajib)
- id (string, wajib) – ID withdraw
Contoh Request:
const axios = require('axios');
axios.get('BASE_URL/api/withdraw/status?apikey=YOUR_API_KEY&id=WDc4e3f2a1b2c3')
.then(response => console.log(response.data));
/*
Contoh response:
{
"id": "WDc4e3f2a1b2c3",
"amount": 50000,
"fee": 1000,
"method": "Dana",
"account_number": "08123456789",
"instant": false,
"status": "success",
"admin_note": null,
"created_at": "2025-01-01T12:00:00.000Z",
"completed_at": "2025-01-01T12:30:00.000Z"
}
*/