Dokumentasi API
Panduan lengkap integrasi API pembayaran untuk platform atau aplikasi kamu.
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
}
*/
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. 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"
}
*/
E. 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",
"code": "dana",
"fee": 1000,
"min": 10000,
"max": 1000000
},
{
"name": "GoPay",
"code": "gopay",
"fee": 2000,
"min": 10000,
"max": 1000000
}
],
"instant_methods": [
{
"name": "Dana",
"code": "dana",
"fee": 1000,
"min": 10000,
"max": 1000000
},
{
"name": "GoPay",
"code": "gopay",
"fee": 2000,
"min": 10000,
"max": 1000000
}
]
}
*/
F. 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 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 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"
}
}
*/
G. 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"
}
*/