API conventions

Aturan umum yang berlaku untuk semua endpoint Hashpay: base URL, autentikasi, envelope respons, tipe data, dan idempotensi.

Base URL & versi

LingkunganBase URL
Sandboxhttps://api.hashpay.id/api/v2/testnet/
Produksihttps://api.hashpay.id/api/v2/mainnet/

Semua endpoint di dokumen ini relatif terhadap base URL tersebut, mis. POST /merchant/fiat/order berarti https://api.hashpay.id/api/v2/testnet/merchant/fiat/order.

Header

HeaderWajibKeterangan
api-keyYa (endpoint transaksi)API key merchant
Authorization: Bearer <jwt>Ya (endpoint dashboard)Token dari login merchant
Content-Type: application/jsonYaSemua request JSON

Envelope respons

json
{
  "status_code": 200,
  "message": "success",
  "data": { }
}
  • status_code — cerminan HTTP status; selalu cek nilai ini.
  • message — pesan sukses atau alasan error (aman ditampilkan ke log internal).
  • data — payload; bentuknya berbeda per endpoint (dijelaskan di masing-masing halaman).

Tipe data

TipeFormatContoh
Nominal fiatstring, 2 desimal"150000", "100000.00"
Nominal cryptostring, hingga 6 desimal (titik sebagai desimal)"5.616189"
Kursstring, IDR per 1 token"17805.23"
WaktuUnix detik atau ISO-86011821387856
NetworkuppercaseETHEREUM, BINANCE, TRON, SOLANA

Idempotensi

  • Order: order_no adalah kunci idempotensi Anda. Jangan membuat dua order dengan order_no yang sama.
  • QR: memanggil ulang /pgqr/fiat/create untuk order yang sama mengembalikan alamat & nominal yang sudah ada (tidak membuat alamat baru).
  • Webhook: pakai X-Hashpay-Idempotency-Key untuk memastikan Anda memproses satu pembayaran tepat sekali.

Referensi endpoint