Rate & fee

Sebelum menampilkan QR, kunci kurs dan hitung fee. Nominal crypto yang dihasilkan di langkah ini bersifat final — QR berikutnya tidak akan berubah walau kurs pasar bergerak.

Kunci kurs & hitung fee

POST/merchant/fiat/checkOrderRate

Header wajib: api-key.

FieldTipeKeterangan
merchant_idstringID merchant Anda
transactionIDstringorder_no dari langkah 1
tokenAddressstringAlamat kontrak token (lihat listToken)
networkstringETHEREUM | BINANCE | TRON | SOLANA
bash
curl -X POST "$HASHPAY_BASE/merchant/fiat/checkOrderRate" \
  -H "api-key: $HASHPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_id": "10001",
    "transactionID": "INV-2026-0001",
    "tokenAddress": "0xaD322e530C15330442841b4C400D730103B0af87",
    "network": "ETHEREUM"
  }'
Respons 200
{
  "status_code": 200,
  "message": "success",
  "data": {
    "order_no": "INV-2026-0001",
    "currency": "IDR",
    "amount": "150000",
    "amount_crypto": "8.424283",
    "crypto_rate": "17805.23",
    "fees": [
      {
        "name": "Platform Fee",
        "fee_type": "PERCENT",
        "fee_value": "1.00",
        "fee_amount": "1500.00",
        "fee_amount_crypto": "0.084243",
        "is_included": true
      }
    ],
    "total_fee_amount": "1500.00",
    "total_fee_amount_crypto": "0.084243",
    "total_amount": "150000",
    "total_amount_crypto": "8.424283"
  }
}

Mode fee

Fee platform diatur admin per merchant (default 1%) dengan dua mode yang menentukan siapa yang menanggung:

Modeis_includedYang dibayar pelangganPenerimaan merchant
Ditanggung penjual (MDR)trueamount (+ kode unik)amount − fee
Ditanggung pembelifalseamount + fee (+ kode unik)amount

Kurs

Kurs diambil dari sumber pasar (stablecoin → IDR) dan di-cache singkat di sisi Hashpay. Bila sumber live tidak tersedia, sistem memakai kurs fallback internal dan tetap mengunci nilai yang ditampilkan ke pelanggan.