Environments & Base URLs
Environments & Base URLs
Use the matrix below to target the correct services for your environment. Values shown are the currently active endpoints.
Payment Service API base URL
https://api.test.devs.beadpay.io
Provided during onboarding
OIDC / Identity base
https://identity.beadpay.io/realms/nonprod
https://identity.beadpay.io/realms/prod
Realms
Test / Non-prod
nonprod
Production
prod
Token endpoint pattern used for all realms
{OIDC_BASE}/protocol/openid-connect/tokenExplicit token URLs
Test
https://identity.beadpay.io/realms/nonprod/protocol/openid-connect/tokenProduction
https://identity.beadpay.io/realms/prod/protocol/openid-connect/token
Authentication
Resource Owner Password Credentials for terminals
Terminals authenticate with the ROPC flow to obtain an access token using the terminal-issued username and password.
Token URL Test / Non-prod
https://identity.beadpay.io/realms/nonprod/protocol/openid-connect/token
Token URL Production
https://identity.beadpay.io/realms/prod/protocol/openid-connect/token
Form fields
grant_type
password
client_id
bead-terminal
username
{TERMINAL_ID}@beadpay.io
password
{TERMINAL_PASSWORD}
scope
openid profile email
cURL example Test / Non-prod
cURL example Production
Partners using server-to-server integrations can use their assigned OIDC client and flow. Coordinate with your Bead contact to enable.
Using the API
Include these headers on every request
Authorization
Bearer {access_token}
Content-Type
application/json
New Payments integrations authenticate with X-Api-Key: {apiKey} instead of a bearer token. See Authentication.
Example Create a payment in Test / Non-prod
POST /Payments/crypto is deprecated but still supported and accepts the same request body. Use POST /Payments for new work.
The response includes a paymentId and a paymentUrls array with the hosted payment page URL to redirect the buyer to. It also includes trackingId, a legacy identifier kept for backward compatibility. Use paymentId for status checks.
Polling payment status
Retrieve the current payment status by paymentId
This endpoint returns the current payment status payload.
trackingId is a legacy identifier. The older endpoint GET {API_BASE}/Payments/tracking/{trackingId} is deprecated but still supported for backward compatibility. New integrations should use paymentId.
Quick Reference
Test Payment API
https://api.test.devs.beadpay.io
OIDC Test base
https://identity.beadpay.io/realms/nonprod
OIDC Production base
https://identity.beadpay.io/realms/prod
Token path
/protocol/openid-connect/token
Common auth client
bead-terminal for terminals
Last updated