Get Public Invoice
GET
/checkout/api/v1/invoices/{id}RecommendedEverything the payment page renders: the merchant company name in full, the buyer email and name masked, the amount, and the blockchain/currency matrix the buyer picks from. Stamps viewedAt on the first call. Returns 400 with code INVOICE_EXPIRED or INVOICE_CANCELLED β not 200 β when the invoice is no longer payable, and 404 INVOICE_NOT_FOUND otherwise.
Authentication
Signature Pattern
None β public endpoint, no signature required.| Header | Value | Description |
|---|---|---|
Accept | application/json | No API key, signature or idempotency key β the checkout surface is public |
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | Path parameter β invoice CUID, as returned by the gateway create-invoice call |
Response Parameters
| Field | Type | Example |
|---|---|---|
id | string | "clx7k2p9a0001qz8fh3n2v4m6" |
referenceId | string | "INV-260826-041B" |
amount | string | "12500" |
currency | string | "USD" |
description | string | "Order #4471 β annual plan" |
merchant | object | {β¦} |
merchant.name | string | "Northwind Digital LLC" |
availableBlockchains | array | ["ethereum","polygon","bsc","bitcoin","tr⦠|
availableCurrencies | object | {β¦} |
availableCurrencies.ethereum | array | ["ETH","USDT","USDC"] |
availableCurrencies.polygon | array | ["POL","USDT","USDC"] |
availableCurrencies.bsc | array | ["BNB","USDT","USDC"] |
availableCurrencies.bitcoin | array | ["BTC"] |
availableCurrencies.tron | array | ["TRX","USDT"] |
availableCurrencies.solana | array | ["SOL","USDC"] |
availableCurrencies.ton | array | ["TON","USDT"] |
availableCurrencies.arbitrum | array | ["ETH","USDT","USDC"] |
availableCurrencies.optimism | array | ["ETH","USDT","USDC"] |
availableCurrencies.base | array | ["ETH","USDC"] |
availableCurrencies.avalanche | array | ["AVAX","USDT","USDC"] |
customerEmail | string | "a***@example.com" |
customerName | string | "A*** N***" |
status | string | "OPEN" |
expiresAt | string | "2026-08-26T14:30:00.000Z" |
returnUrl | string | "https://shop.example.com/orders/4471/tha⦠|
cancelUrl | string | "https://shop.example.com/orders/4471" |
Response Example
JSONResponse
{
"success": true,
"data": {
"id": "clx7k2p9a0001qz8fh3n2v4m6",
"referenceId": "INV-260826-041B",
"amount": "12500",
"currency": "USD",
"description": "Order #4471 β annual plan",
"merchant": {
"name": "Northwind Digital LLC"
},
"availableBlockchains": [
"ethereum",
"polygon",
"bsc",
"bitcoin",
"tron",
"solana",
"ton",
"arbitrum",
"optimism",
"base",
"avalanche"
],
"availableCurrencies": {
"ethereum": [
"ETH",
"USDT",
"USDC"
],
"polygon": [
"POL",
"USDT",
"USDC"
],
"bsc": [
"BNB",
"USDT",
"USDC"
],
"bitcoin": [
"BTC"
],
"tron": [
"TRX",
"USDT"
],
"solana": [
"SOL",
"USDC"
],
"ton": [
"TON",
"USDT"
],
"arbitrum": [
"ETH",
"USDT",
"USDC"
],
"optimism": [
"ETH",
"USDT",
"USDC"
],
"base": [
"ETH",
"USDC"
],
"avalanche": [
"AVAX",
"USDT",
"USDC"
]
},
"customerEmail": "a***@example.com",
"customerName": "A*** N***",
"status": "OPEN",
"expiresAt": "2026-08-26T14:30:00.000Z",
"returnUrl": "https://shop.example.com/orders/4471/thanks",
"cancelUrl": "https://shop.example.com/orders/4471"
},
"timestamp": "2026-08-26T13:41:02.477Z",
"requestId": "req_V1StGXR8_Z5j"
}Error shape
JSONError
{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Resource not found"
},
"timestamp": "2026-08-26T13:41:02.477Z",
"requestId": "req_V1StGXR8_Z5j"
}Status Codes
200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Rate Limited
Try itMockapi2.havala.io
GEThttps://api2.havala.io