ArexansPay REST API v1.0
Gateway Pembayaran QRIS Dinamis & Multi-Payment Channel Otomatis Tanpa Potongan Biaya (0% MDR).
Generate QRIS EMVCo dinamis dengan kode unik otomatis yang langsung tersimpan di sistem.
Baca notifikasi mutasi BCA, Mandiri, SeaBank, DANA, dll lewat listener HP secara real-time.
Kirim sinyal status pembayaran lunas dalam tempo kurang dari 50 milidetik ke browser pengguna.
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. |
Prompt Rangkuman Dokumentasi untuk AI Assistant
Salin teks prompt ini dan kirim ke AI Assistant untuk mengenerate modul pembayaran otomatis.
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. |
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"
}'
{
"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"
}
}
Mengecek status pembayaran terkini suatu transaksi berdasarkan Transaction ID (contoh: TRX-MTYB2MZK-5GCP).
curl -X GET https://yourdomain.com/api/status/TRX-MTYB2MZK-5GCP
{
"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
}
}
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!
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();
});
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"
}'
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"
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"
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. |
Interactive API Tester
Uji coba langsung respons endpoint ArexansPay secara interaktif dari browser Anda.
Uji konektivitas gateway tanpa memerlukan kunci otentikasi.
Tekan tombol "Kirim Permintaan Uji" di atas untuk melihat respon real-time...