Optional analytics on public pages. No session recording. Support works either way. Privacy details
Accept paymentsAvailable
Create invoices yourself when you already know the asset and network. No BOSPay UI required.
const response = await fetch(`${process.env.BOSPAY_API_BASE}/invoices`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"BOSPay-Version": "2026-09-23",
"X-API-Key": process.env.BOSPAY_API_KEY,
"Idempotency-Key": "order-1048-attempt-1",
},
body: JSON.stringify({
"fiatAmount": 150,
"fiatCurrency": "ZAR",
"tokenSymbol": "USDC",
"chain": "sepolia",
"metadata": {
"orderId": "1048"
}
})
});
if (!response.ok) {
throw new Error(`BOSPay request failed: ${response.status}`);
}
const data = await response.json();Show paymentAddress, cryptoAmount as a decimal string, tokenSymbol, chain, and expiresAt from the server response. Do not re-quote in the browser. Use paymentUri for wallet handoff when present.