BASE URL
https://zyrodevvstore.surnxuesk.biz:10858/api
Semua endpoint di bawah ini relatif ke base URL di atas. Ganti domainmu.com dengan domain server kamu.
🔐 Autentikasi
Untuk endpoint owner, sertakan header Authorization: Bearer <OWNER_TOKEN>. Endpoint public tidak butuh auth.
GET/balance
Ambil saldo akun.
curl https://zyrodevvstore.surnxuesk.biz:10858/api/balance
# Response:
{
"balance": 50000,
"saldo": 50000
}
POST/invoice
Buat invoice QRIS baru. Minimal Rp 1.000.
curl -X POST https://zyrodevvstore.surnxuesk.biz:10858/api/invoice \
-H "Content-Type: application/json" \
-d '{
"amount": 50000,
"payment_code": "QRIS"
}'
# Response:
{
"success": true,
"invoice_id": "64c8d9e...",
"amount": 50000,
"fee": 500,
"total": 50500,
"payment_code": "QRIS",
"payment_name": "QRIS",
"link_pembayaran": "https://app.dana.id/bayar",
"qris_image": "https://qris.ppg/qr.png",
"expired_at": "2025-01-01 12:00:00"
}
GET/invoice/status?invoice_id=xxx
Cek status invoice. Status: pending, paid, expired, cancelled.
curl "https://zyrodevvstore.surnxuesk.biz:10858/api/invoice/status?invoice_id=64c8d9e..."
# Response:
{
"invoice_id": "64c8d9e...",
"status": "pending",
"amount": 50000,
"paid_at": null
}
POST/withdraw
Request penarikan saldo. Min. Rp 5.000. Fee DANA & GoPay = Rp 2.000.
curl -X POST https://zyrodevvstore.surnxuesk.biz:10858/api/withdraw \
-H "Content-Type: application/json" \
-d '{
"username": "budi123",
"method": "DANA",
"account": "08123456789",
"name": "Budi Santoso",
"amount": 50000,
"fee": 2000
}'
# Response:
{
"status": "pending",
"trx_id": "WD-1234567890-ABCD",
"message": "Request dikirim, tunggu approve owner"
}
GET/owner/withdrawals 🔒
List semua request WD. Butuh token owner.
curl https://zyrodevvstore.surnxuesk.biz:10858/api/owner/withdrawals \
-H "Authorization: Bearer OWNER_TOKEN"
POST/owner/withdrawals/approve 🔒
Approve WD request. Butuh token owner.
curl -X POST https://zyrodevvstore.surnxuesk.biz:10858/api/owner/withdrawals/approve \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OWNER_TOKEN" \
-d '{"id": "WD-1234567890-ABCD"}'
POST/owner/withdrawals/reject 🔒
Reject WD request. Butuh token owner.
curl -X POST https://zyrodevvstore.surnxuesk.biz:10858/api/owner/withdrawals/reject \
-H "Content-Type: application/json" \
-H "Authorization: Bearer OWNER_TOKEN" \
-d '{"id": "WD-1234567890-ABCD"}'
GET/owner/users 🔒
List semua user + saldo. Butuh token owner.
curl https://zyrodevvstore.surnxuesk.biz:10858/api/owner/users \
-H "Authorization: Bearer OWNER_TOKEN"
⚠️ Error Response
Semua error balikin JSON dengan field error.
{
"error": "Minimal Rp 1.000"
}
# HTTP Status:
# 400 = Bad Request (validasi gagal)
# 401 = Unauthorized (token gak valid)
# 403 = Forbidden (bukan owner)
# 500 = Server Error
📝 Catatan
• Semua request pakai Content-Type: application/json
• Endpoint /owner/* wajib header Authorization
• Invoice otomatis di-polling tiap 5 detik oleh web
• Backup otomatis dikirim ke Telegram tiap 10 menit