Keys
| Prefix | Type | Use |
|---|
| bospay_sandbox_ / bospay_production_ | Secret | Server only. Every permission. |
| bospay_rk_sandbox_ / bospay_rk_production_ | Restricted | Server only. Only the permissions you choose. |
| bospay_pk_sandbox_ / bospay_pk_production_ | Publishable | Browser or app. Networks, currencies and realtime tokens only. |
Environment rules
- A sandbox key cannot create a mainnet invoice. A live key cannot create a Sepolia invoice.
- A key only sees its own environment. Retrieving a live invoice with a sandbox key returns 404, like an ID that does not exist.
- Invoices, events and checkout sessions carry environment and livemode (true for production).
- Checkout session tokens inherit the environment of the key that created them.
- Each webhook endpoint belongs to one environment and only receives its events, so test events never reach production fulfillment.
Going live
Sandbox is open as soon as you sign up. Production needs a verified organization, the same check as in the BOSPay app, run by Shufti Pro. An organization admin verifies in the console under Verification.
- Registered business: business verification against the official company registry, with sanctions screening; directors and owners on the registry record are screened by name.
- Sole trader or individual: the admin verifies an identity document.
- A clean result is approved in minutes. Anything that needs a closer look is reviewed by BOSPay and you are emailed with the decision.
- Until approved, creating a production key, invoice or checkout session returns 403 verification_required (permission_denied on 2026-09-16). Sandbox is never affected.
- If a later compliance review pauses live payments, new live payments return the same error; payments already made to existing addresses still settle.
Authentication reference →