Optional analytics on public pages. No session recording. Support works either way. Privacy details
API reference
Attach your own identifiers to invoices and checkout sessions, then find them again.
PATCH /invoices/:id merges keys. A null value deletes that key; keys you omit are unchanged.
const response = await fetch(`${process.env.BOSPAY_API_BASE}/invoices/inv_1048`, {
method: "PATCH",
headers: {
"Content-Type": "application/json",
"BOSPay-Version": "2026-09-23",
"X-API-Key": process.env.BOSPAY_API_KEY,
},
body: JSON.stringify({
"metadata": {
"fulfilment": "shipped",
"note": null
}
})
});
if (!response.ok) {
throw new Error(`BOSPay request failed: ${response.status}`);
}
const data = await response.json();