Bagian 1
Environment dan autentikasi
Base URL, header wajib, scope API key, penyimpanan dan rotasi key.
Environment
Base path seluruh endpoint adalah /api/v1. Host production yang direncanakan adalah https://api.antarapay.com. Gunakan base URL yang diberikan AntaraPay saat aktivasi; alamat sandbox belum ditetapkan dalam kontrak ini.
/api/v1 dua kali pada URL. Jika ANTARAPAY_BASE_URL sudah berisi /api/v1, jangan menambahkannya lagi di path.Header
| Header | Aturan |
|---|---|
Authorization | Bearer <api_key>; wajib pada seluruh endpoint dalam panduan ini kecuali webhook masuk ke server Anda. |
Content-Type | application/json untuk request dengan JSON body. |
Idempotency-Key | Wajib pada seluruh POST. Gunakan nilai unik per operasi bisnis dan simpan untuk retry. |
Accept | application/json; gunakan image/png untuk GET QR image. |
curl "$ANTARAPAY_BASE_URL/api/v1/balances" \
-H "Authorization: Bearer $ANTARAPAY_API_KEY" \
-H "Accept: application/json"Scope API key
| Scope | Operasi |
|---|---|
payins:write / payins:read | Membuat payin / membaca daftar, detail, dan QR. |
payouts:write / payouts:read | Membuat atau membatalkan payout / membaca payout. |
balances:read / journals:read | Membaca saldo / jurnal. |
settlements:read / channels:read | Membaca settlement / kanal. |
reports:write / reports:read | Mengajukan export / membaca status export. |
Penyimpanan dan rotasi key
API key hanya digunakan server-to-server. Jangan menaruh key di JavaScript frontend, aplikasi mobile, source control, URL, atau log. Gunakan secret manager atau environment backend. Sandbox dan production memakai kredensial berbeda. Cabut key yang bocor dan lakukan rotasi melalui dashboard integrasi.
Setiap key terikat ke satu merchant. Tidak perlu mengirim merchant_id pada body. Resource merchant lain tidak dapat diakses walaupun ID diketahui. Scope yang tidak cukup menghasilkan 403; key salah atau dicabut menghasilkan 401.
Dashboard merchant
Dashboard digunakan untuk memantau transaksi, saldo, jurnal, laporan, dan konfigurasi integrasi. Pembuatan payin/payout v1 dilakukan melalui API. API client tidak memberikan akses approval admin atau eksekusi transfer manual.