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"
}
*/