{"success":true,"data":{"name":"ArexansPay REST API","version":"1.0.0","description":"API Gateway Pembayaran QRIS Dinamis & Multi-Payment Channel Otomatis Tanpa Potongan (0% MDR).","base_url":"https://arexanspay.my.id/","authentication":{"type":"Header-based","headers":[{"name":"X-API-Key","type":"string","required":true,"description":"License API Key toko Anda (didapat dari dashboard atau menu Profil)"},{"name":"Authorization","type":"string","required":false,"description":"Bearer <token> alternatif untuk akses akun"}]},"endpoints":[{"method":"GET","path":"/pricing","alias":"/api/packages","auth_required":false,"description":"Mendapatkan daftar paket VIP Membership dan paket slot ekspansi QRIS yang aktif"},{"method":"GET","path":"/docs","alias":"/api/docs","auth_required":false,"description":"Mendapatkan dokumentasi dan spesifikasi API resmi ini dalam format JSON"},{"method":"GET","path":"/qris","alias":"/api/payments","auth_required":true,"description":"Mendapatkan data QRIS statis dan daftar seluruh channel pembayaran toko yang aktif"},{"method":"POST","path":"/api/settings/qris","auth_required":true,"description":"Menyimpan atau memperbarui data QRIS Statis atau channel pembayaran toko"},{"method":"GET","path":"/profile","alias":"/api/auth/me","auth_required":true,"description":"Mendapatkan informasi profil merchant/toko, status keanggotaan, masa aktif VIP, dan kuota slot"},{"method":"POST","path":"/api/v1/create","alias":["/api/create","/api/qris/create","/api/v1/qris/create"],"auth_required":true,"description":"Membuat tagihan transaksi pembayaran baru dengan QRIS dinamis atau transfer bank","request_body":{"base_amount":{"type":"number","required":true,"example":50000,"description":"Nominal pembayaran dasar dalam Rupiah"},"payment_channel":{"type":"string","required":false,"default":"qris","example":"qris","description":"Channel pembayaran (qris, bank_bca, bank_mandiri, bank_bri, ewallet_dana, dll)"},"number_id":{"type":"number","required":false,"example":1,"description":"Nomor ID Slot QRIS toko (1, 2, 3...) untuk mencegah bentrok pembayaran"}},"response_example":{"success":true,"message":"Transaksi berhasil dibuat","data":{"id":"TRX-1789313-ABCD","number_id":1,"slot_id":1,"base_amount":50000,"unique_amount":50247,"payment_channel":"qris","qr_payload":"00020101021226...","qr_image_url":"data:image/png;base64,...","expired_at":"2026-09-14T15:10:00.000Z"}}},{"method":"POST","path":"/api/qris/:numberId/create","alias":["/api/v1/qris/:numberId/create"],"auth_required":true,"description":"Membuat tagihan QRIS dinamis spesifik berdasarkan number_id (nomor slot QRIS toko) untuk menghindari bentrok transaksi antar slot/kasir","url_params":{"numberId":{"type":"number","required":true,"example":1,"description":"Nomor ID slot QRIS toko (contoh: 1 untuk Slot 1, 2 untuk Slot 2)"}},"request_body":{"base_amount":{"type":"number","required":true,"example":25000,"description":"Nominal pembayaran dasar dalam Rupiah"},"qris_label":{"type":"string","required":false,"example":"Kasir Cabang Utama","description":"Nama/label khusus pada tampilan QRIS dinamis"}},"response_example":{"success":true,"message":"Transaksi berhasil dibuat","data":{"transaction_id":"TRX-QRIS-SLOT1-A89F","number_id":1,"slot_id":1,"payment_channel":"qris","base_amount":25000,"unique_code":12,"unique_amount":25012,"qr_payload":"00020101021226...","qr_base64":"data:image/png;base64,...","expired_at":"2026-09-15T16:00:00.000Z"}}},{"method":"GET","path":"/api/status/:id","auth_required":false,"description":"Mengecek status pembayaran transaksi berdasarkan ID transaksi","response_example":{"success":true,"data":{"id":"TRX-1789313-ABCD","status":"success","base_amount":50000,"unique_amount":50247,"is_expired":false}}},{"method":"GET","path":"/api/transactions","alias":"/transactions","auth_required":true,"description":"Melihat seluruh riwayat transaksi toko dengan paginasi dan filter status","query_params":{"page":{"type":"number","required":false,"default":1,"description":"Nomor halaman riwayat"},"limit":{"type":"number","required":false,"default":15,"description":"Jumlah data per halaman"},"status":{"type":"string","required":false,"default":"all","description":"Filter status: all, pending, paid/success, expired"},"search":{"type":"string","required":false,"description":"Pencarian berdasarkan TRX ID atau Nama Pengirim"}},"response_example":{"success":true,"data":[{"transaction_id":"TRX-MTYB2MZK-5GCP","base_amount":50000,"unique_amount":50247,"payment_channel":"qris","status":"success","created_at":"2026-09-14T10:00:00.000Z"}],"pagination":{"page":1,"limit":15,"total":1,"totalPages":1}}},{"method":"POST","path":"/api/transactions/:id/cancel","alias":["/api/invoices/:id/cancel"],"auth_required":true,"description":"Membatalkan transaksi berstatus pending sebelum waktu kadaluarsa","url_params":{"id":{"type":"string","required":true,"example":"TRX-MTYB2MZK-5GCP","description":"ID Transaksi yang ingin dibatalkan"}},"response_example":{"success":true,"message":"Transaksi berhasil dibatalkan"}},{"method":"GET","path":"/api/qris/:qrisId","auth_required":false,"description":"Mendapatkan data informasi checkout publik merchant berdasarkan QRIS ID Toko (contoh: axspay-na49b8c-...)","url_params":{"qrisId":{"type":"string","required":true,"example":"axspay-na49b8c-ec96-41dc-a4e2-1293e755a81h","description":"QRIS ID Toko Merchant"}},"response_example":{"success":true,"data":{"merchant_name":"Ahmad Owner Toko","qris_id":"axspay-na49b8c-ec96-41dc-a4e2-1293e755a81h","is_active":true,"payment_channels":["qris","bank_bca","bank_seabank"]}}},{"method":"GET","path":"/api/system/public","auth_required":false,"description":"Mendapatkan informasi publik sistem, status pemeliharaan, dan paket VIP/Slot","response_example":{"success":true,"data":{"system_name":"ArexansPay Gateway","registration_active":true,"vip_price":35000,"slot_price":15000}}},{"method":"POST","path":"/api/webhook","auth_required":false,"description":"Endpoint penerima notifikasi mutasi otomatis dari aplikasi Tasker / Makrodroid","request_body":{"secret":{"type":"string","required":true,"description":"Webhook Secret Key akun toko Anda"},"title":{"type":"string","required":true,"example":"QRIS BCA Berhasil"},"text":{"type":"string","required":true,"example":"Pembayaran diterima sebesar Rp 50.247 dari Pengirim"},"app":{"type":"string","required":false,"example":"BCA Mobile"}},"response_example":{"success":true,"message":"Webhook processed successfully: matched with pending transaction"}}],"http_status_codes":[{"code":200,"name":"OK","description":"Permintaan berhasil diproses dan data dikembalikan."},{"code":201,"name":"Created","description":"Tagihan transaksi baru berhasil dibuat."},{"code":400,"name":"Bad Request","description":"Parameter yang dikirim tidak lengkap atau tidak valid."},{"code":401,"name":"Unauthorized","description":"API Key atau token otentikasi tidak disertakan atau salah."},{"code":403,"name":"Forbidden","description":"Akses ditolak: akun belum aktif atau masa aktif VIP habis."},{"code":404,"name":"Not Found","description":"Data transaksi atau endpoint tidak ditemukan."},{"code":500,"name":"Internal Server Error","description":"Terjadi kesalahan sistem di server ArexansPay."}]}}