Dokumentasi API

Integrasikan layanan kami ke sistem kamu dengan mudah.

REST API · JSON

API Console (Live Test)

Coba langsung endpoint API tanpa tools tambahan.

Panduan Endpoint API

Cek Saldo User GET

Memuat...

Cek sisa saldo aktif pada akun Anda secara real-time.

Contoh Response:

{
  "balance": 100000
}

Membuat Invoice Deposit GET

Memuat...

Buat tagihan/invoice deposit baru untuk menghasilkan QRIS.

Contoh Response:

{
  "success": true,
  "invoice_id": "64c8d9e...",
  "amount": 10000,
  "fee": 123,
  "total": 10123,
  "qris_image": "https://...",
  "expired_at": "2025-01-01 12:00:00"
}

Cek Status Invoice GET

Memuat...

Cek status pembayaran invoice (pending, paid, expired).

Contoh Response:

{
  "invoice_id": "64c8d9e...",
  "amount": 10000,
  "fee": 123,
  "total": 10123,
  "status": "pending",
  "qris_image": "https://...",
  "expired_at": "2025-01-01 12:00:00",
  "created_at": "2025-01-01 11:30:00"
}

Batalkan Invoice (Cancel QRIS) POST

Memuat...

Metode: POST — kirim invoice_id via query param atau JSON body

Membatalkan invoice yang statusnya masih pending. Invoice akan berubah menjadi expired. Invoice yang sudah paid tidak bisa dibatalkan.

Contoh Request:

POST /api/v1/invoice/cancel?invoice_id={invoice_id}&apikey={api_key}

Contoh Response (Berhasil):

{
  "success": true,
  "invoice_id": "64c8d9e...",
  "status": "expired",
  "message": "Invoice berhasil dibatalkan"
}

Contoh Response (Gagal — sudah paid):

{
  "error": "Invoice tidak bisa dibatalkan, status saat ini: paid"
}

Buat Permintaan Withdraw DANA POST

Memuat...

Metode: POST JSON

Body request harus berupa JSON dengan format:

{
  "amount": 50000,
  "accountNumber": "081234567890",
  "accountName": "John Doe"
}

Ajukan permintaan penarikan dana via DANA. Status awal adalah pending. Admin akan menyetujui (status menjadi success) atau menolak (status menjadi rejected).

Contoh Request Body:

{
  "amount": 100000,
  "accountNumber": "081234567890",
  "accountName": "John Doe"
}

Contoh Response (Berhasil):

{
  "success": true,
  "message": "Permintaan penarikan berhasil diajukan",
  "withdraw_id": "65a1b2c3d4e5f6...",
  "amount": 100000,
  "fee": 1000,
  "total_deduct": 101000,
  "new_balance": 899000,
  "status": "pending",
  "created_at": "2025-01-15T10:30:00.000Z"
}

Cek Status Withdraw (Real-time) GET

Memuat...

Cek status real-time dari permintaan withdraw.

pending success rejected

Contoh Response:

{
  "success": true,
  "withdraw_id": "65a1b2c3d4e5f6...",
  "amount": 100000,
  "fee": 1000,
  "total_deduct": 101000,
  "status": "success",
  "method": "dana",
  "account_number": "081234567890",
  "account_name": "John Doe",
  "admin_note": null,
  "created_at": "2025-01-15T10:30:00.000Z",
  "processed_at": "2025-01-15T14:20:00.000Z"
}

Riwayat Withdraw GET

Memuat...

Ambil daftar riwayat withdraw dengan pagination dan filter status.

Contoh Response:

{
  "success": true,
  "data": [
    {
      "withdraw_id": "65a1b2c3...",
      "amount": 100000,
      "fee": 1000,
      "total_deduct": 101000,
      "status": "success",
      "method": "dana",
      "account_number": "081234567890",
      "account_name": "John Doe",
      "admin_note": null,
      "created_at": "2025-01-15T10:30:00.000Z",
      "processed_at": "2025-01-15T14:20:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 5,
    "total_pages": 1
  }
}