403 errors.
Host Restriction (Public Endpoints)
Most Nova.Pay endpoints — including checkout session creation and payment submission — do not require an API key. Instead, Nova.Pay validates the origin of every incoming request against theallowed_hosts list configured for your account.
Requests originating from
*.pay.nova.money or *.staging.pay.nova.money are always permitted and do not need to appear in allowed_hosts. For all other origins, you must explicitly add the hostname in your Nova.Pay dashboard settings before going live.403 Forbidden response regardless of whether a valid API key is present.
When does this apply?
- Embedding a checkout page inside your own domain
- Submitting a cart payload from your storefront front-end
- Initiating a Pix or boleto payment from a customer-facing page
Bearer API Key
Endpoints marked Requires API key in the reference documentation must include your secret API key in theAuthorization header as a Bearer token. You can find and rotate your API keys in the API Keys section of your Nova.Pay dashboard.
Your Nova.Pay secret API key, prefixed with
Bearer . Example: Bearer npk_live_xxxxxxxxxxxxxxxx.Webhook Basic Auth
Nova.Pay’s webhook receiver endpoints use HTTP Basic Auth rather than Bearer tokens. Each payment gateway integration has its own set of credentials that you configure per gateway:
When Nova.Pay receives a webhook from one of these gateways, it validates the
Authorization: Basic <base64(username:password)> header against the credentials you have stored. Requests with missing or incorrect credentials are rejected with 401 Unauthorized.
Webhook Basic Auth credentials are distinct from your Nova.Pay API keys. Rotating your API key does not affect webhook authentication, and vice versa.
Error Responses
Authentication failures produce the following HTTP error codes:403 Forbidden— The request origin is not in yourallowed_hostslist, or the provided API key is invalid or missing.401 Unauthorized— The Basic Auth credentials supplied to a webhook endpoint are incorrect.