API v2 · Merchant documentation

Accept crypto payments
in your business with Hashpay

A complete integration guide: create an order, show a payment QR, and receive a webhook when funds arrive. Everything over a REST API with a consistent JSON envelope.

1 endpoint -> hosted payment page
# 1) Create an order - your server
curl -X POST https://api.hashpay.id/api/v2/testnet/merchant/fiat/order \
  -H "api-key: $HASHPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_id": "10001",
    "order_no": "INV-2026-0001",
    "amount": "150000"
  }'

# Response includes a ready payment page:
#   "url": "https://webview.hashpay.id/sandbox?key=..."

# 2) Open it (redirect / iframe / webview) - the customer
#    picks token & wallet and pays there.

# 3) Receive the webhook:
#    event "transaction.success" (HMAC-SHA256 signed)

Why Hashpay

Everything you need to accept stablecoin payments without running your own blockchain infrastructure.

Hosted payment page

One endpoint returns a ready payment page (webview). Customers pick token & wallet there — you don't build a payment UI.

Multi-chain & multi-wallet

USDT/USDC on Ethereum, BNB Chain, Tron, and Solana. MetaMask, WalletConnect, Trust Wallet, and Phantom.

Reliable webhooks

HMAC-SHA256 signed payment notifications, idempotency keys, and automatic retries with backoff.

Secure by default

A unique deposit address per transaction (HD wallet), rate limits, and signature verification on every callback.

Transparent settlement

Configurable fee with seller- or buyer-borne mode, plus scheduled automatic settlement.

Full sandbox

Testnet + faucet to try the whole flow with no real funds. Response formats match production.

Base URL

https://api.hashpay.id/api/v2/testnet/

https://api.hashpay.id/api/v2/mainnet/

Authentication

The api-key header for transaction endpoints; JWT for the merchant dashboard.

Start

Create an API key in the dashboard, then follow the integration guide on testnet. Get started