Kembali ke Fitur
Live Snippet Customizer:

ArexansPay REST API v1.0

Gateway Pembayaran QRIS Dinamis & Multi-Payment Channel Otomatis Tanpa Potongan Biaya (0% MDR).

Production Ready
QRIS Dinamis Instan

Generate QRIS EMVCo dinamis dengan kode unik otomatis yang langsung tersimpan di sistem.

Mutasi Otomatis Tasker

Baca notifikasi mutasi BCA, Mandiri, SeaBank, DANA, dll lewat listener HP secara real-time.

SSE Real-Time Push

Kirim sinyal status pembayaran lunas dalam tempo kurang dari 50 milidetik ke browser pengguna.

Base URL API:
https://yourdomain.com

Otentikasi & HTTP Headers

Semua request privat wajib menyertakan License Key atau API Key toko Anda.

Header Tipe Wajib? Deskripsi
X-API-Key string WAJIB License API Key toko Anda (didapat dari dashboard atau menu Profil).
Content-Type string WAJIB Wajib bernilai application/json untuk semua request POST.
X-QRIS-ID string OPSIONAL QRIS ID Toko Anda (contoh: axspay-na49b8c-...) sebagai identifikasi sekunder.
AI Integration Ready ChatGPT / Claude / Cursor

Prompt Rangkuman Dokumentasi untuk AI Assistant

Salin teks prompt ini dan kirim ke AI Assistant untuk mengenerate modul pembayaran otomatis.

POST /api/v1/create
Perlu X-API-Key

Membuat transaksi tagihan baru dengan nominal unik otomatis. Sistem akan menghasilkan payload QRIS dinamis serta gambar QR code base64 yang siap ditampilkan langsung di frontend.

Request Body (JSON)

Field Tipe Wajib? Contoh Keterangan
base_amount number YA 50000 Nominal dasar tagihan dalam Rupiah.
payment_channel string OPSIONAL "qris" Pilihan channel: qris, bank_bca, bank_mandiri, bank_seabank, ewallet_dana, dll. Default: qris.
number_id number OPSIONAL 1 Nomor Slot QRIS (1, 2, 3...) untuk toko multi-slot/multi-kasir.
Contoh Kode Implementasi
curl -X POST https://yourdomain.com/api/v1/create \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_LICENSE_KEY" \
  -d '{
    "base_amount": 50000,
    "payment_channel": "qris"
  }'
Response Success (HTTP 201)
{
  "success": true,
  "message": "Transaksi berhasil dibuat",
  "data": {
    "transaction_id": "TRX-MTYB2MZK-5GCP",
    "invoice_number": "INV-1789313-001",
    "payment_channel": "qris",
    "base_amount": 50000,
    "unique_code": 12,
    "unique_amount": 50012,
    "qr_payload": "00020101021226...",
    "qr_base64": "data:image/png;base64,iVBORw0KGgo...",
    "expired_at": "2026-09-18T13:00:00.000Z",
    "status": "pending"
  }
}
GET /api/status/:id
Public Endpoint (Tanpa Auth)

Mengecek status pembayaran terkini suatu transaksi berdasarkan Transaction ID (contoh: TRX-MTYB2MZK-5GCP).

Contoh Permintaan
curl -X GET https://yourdomain.com/api/status/TRX-MTYB2MZK-5GCP
Response JSON (Lunas)
{
  "success": true,
  "data": {
    "transaction_id": "TRX-MTYB2MZK-5GCP",
    "status": "success",
    "base_amount": 50000,
    "unique_amount": 50012,
    "payment_channel": "qris",
    "paid_at": "2026-09-18T12:35:10.000Z",
    "is_expired": false
  }
}
SSE /api/status/:id/stream
Zero Delay (< 50ms)

Koneksi Server-Sent Events (SSE) langsung ke server. Ketika dana masuk ke rekening toko dan notifikasi diterima oleh server, sinyal pembayaran sukses dipancarkan seketika secara real-time tanpa perlu polling timer!

Contoh Kode JavaScript Frontend (Browser)
const txId = 'TRX-MTYB2MZK-5GCP';
const evtSource = new EventSource(`/api/status/${txId}/stream`);

evtSource.addEventListener('paid', (event) => {
  const result = JSON.parse(event.data);
  console.log('PEMBAYARAN DITERIMA SEKETIKA!', result);
  alert('Terima kasih! Pembayaran Anda telah lunas.');
  evtSource.close();
});
POST /api/webhook
Perlu Webhook Secret

Endpoint penerima HTTP callback dari aplikasi Android listener (Tasker, MacroDroid, atau Automate) untuk mencocokkan mutasi rekening dengan transaksi tagihan aktif.

Payload Mutasi (JSON)

Field Tipe Wajib? Contoh Keterangan
secret string YA "whsec_..." Webhook Key akun toko Anda.
title string YA "QRIS BCA Masuk" Judul notifikasi dari m-banking / e-wallet.
text string YA "Dana masuk Rp 50.012" Isi teks notifikasi yang memuat nominal transaksi.
app string OPSIONAL "com.bca" Package name aplikasi pengirim notifikasi.
curl -X POST https://yourdomain.com/api/webhook \
  -H "Content-Type: application/json" \
  -d '{
    "app": "com.bca",
    "title": "Transaksi Berhasil",
    "text": "Transfer dana masuk Rp 50.012 dari Pengirim",
    "secret": "YOUR_WEBHOOK_SECRET"
  }'
GET /api/transactions
Perlu X-API-Key

Mendapatkan daftar seluruh riwayat transaksi merchant Anda dengan filter status dan paginasi data.

curl -X GET "https://yourdomain.com/api/transactions?page=1&limit=10&status=all" \
  -H "X-API-Key: YOUR_LICENSE_KEY"
POST /api/transactions/:id/cancel
Perlu X-API-Key

Membatalkan transaksi berstatus pending secara manual sebelum waktu kedaluwarsa habis.

curl -X POST https://yourdomain.com/api/transactions/TRX-MTYB2MZK-5GCP/cancel \
  -H "X-API-Key: YOUR_LICENSE_KEY"
GET /api/pricing
Public Endpoint

Mengambil daftar paket membership VIP dan paket penambahan slot kasir QRIS yang tersedia pada sistem ArexansPay.

curl -X GET https://yourdomain.com/api/pricing

HTTP Status Codes & Penanganan Error

Kode respon standar REST API yang dikembalikan oleh ArexansPay.

Status Code Arti Penjelasan Solusi
200 OK / 201 Created Berhasil Permintaan berhasil diproses dan data dikembalikan secara lengkap.
400 Bad Request Parameter Tidak Valid Periksa kembali body JSON atau format nominal pembayaran yang dikirim.
401 Unauthorized Kunci API Salah / Kosong Header X-API-Key tidak disertakan atau tidak cocok dengan akun toko Anda.
403 Forbidden Masa Aktif Habis Status akun toko belum aktif atau masa aktif keanggotaan VIP telah kedaluwarsa.
404 Not Found Tidak Ditemukan ID transaksi tidak ditemukan pada sistem database toko.
500 Internal Server Error Kesalahan Server Terjadi kendala pemrosesan di server pusat ArexansPay.
Live Playground

Interactive API Tester

Uji coba langsung respons endpoint ArexansPay secara interaktif dari browser Anda.

1. Cek Status Sistem & Publik GET /api/system/public

Uji konektivitas gateway tanpa memerlukan kunci otentikasi.

2. Cek Status Transaksi GET /api/status/:id
Hasil Respon Server (Live)
Tekan tombol "Kirim Permintaan Uji" di atas untuk melihat respon real-time...