Skip to main content

Environment

Quick Reference

WhatSandbox and production environments
WhyConfigure endpoints, understand credential scoping, and make your first API call
Reading Time5 min
DifficultyBeginner
PrerequisitesAuthentication

Why this matters

RiskConsequenceHow A55 prevents it
Using production credentials in developmentReal cards get charged during testingSeparate credential pairs per environment
Pointing at the wrong API URL per environmentRequests fail or hit wrong dataDedicated URLs per environment — hard to mix up
No clear go-live checklistBugs ship to productionSandbox mirrors production 1:1 — what works in sandbox works live
Different URLs — different credentials

Sandbox and production use separate base URLs. Make sure you point at the correct URL and use the matching client_id / client_secret pair for each environment.


Endpoints

PurposeProductionSandbox
REST APIhttps://api.a55.tech/api/v1https://sandbox.api.a55.tech/api/v1
OAuth 2.0 tokenhttps://auth.a55.tech/oauth2/tokenhttps://auth.a55.tech/oauth2/token

Use the sandbox URL during development and testing, and switch to the production URL when going live.


Sandbox vs production

SandboxProduction
Base URLhttps://sandbox.api.a55.tech/api/v1https://api.a55.tech/api/v1
MoneySimulated — no settlementReal charges and settlement
CardsTest cards and last-digit rulesReal issuer authorization
CredentialsSandbox client_id / client_secretProduction client_id / client_secret
3DSSimulated flowsLive issuer challenges
WebhooksDelivered to your endpointDelivered to your endpoint
Rate limitsSame as productionSame as sandbox
API surfaceIdenticalIdentical

Verify your setup

Set your credentials as environment variables, then authenticate and list wallets in one shot.

# Set sandbox credentials
export A55_CLIENT_ID="sandbox-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="sandbox-secret-xxxx"

# Authenticate
TOKEN=$(curl -s -X POST \
https://auth.a55.tech/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$A55_CLIENT_ID" \
-d "client_secret=$A55_CLIENT_SECRET" | jq -r '.access_token')

echo "Token acquired: ${TOKEN:0:20}..."

# List wallets
curl -s https://sandbox.api.a55.tech/api/v1/wallets \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" | jq .
Run it now

Copy the snippet above, replace the credentials with your sandbox pair, and run it. If you see your wallets, your environment is set up correctly.


Credential configuration

Store credentials per environment in your secrets manager or .env files (never committed to version control).

Sandbox:

export A55_API_BASE="https://sandbox.api.a55.tech/api/v1"
export A55_CLIENT_ID="sandbox-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="sandbox-secret-xxxx"
export A55_ENV="sandbox"

Production:

export A55_API_BASE="https://api.a55.tech/api/v1"
export A55_CLIENT_ID="prod-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="prod-secret-xxxx"
export A55_ENV="production"
Never mix environments

Production credentials in development charge real cards. Sandbox credentials in production silently fail. Always verify which pair is deployed.


Go-live checklist

StepSandboxProduction
1. Credentials provisionedSandbox client_id / client_secretProduction client_id / client_secret
2. Base URL configuredhttps://sandbox.api.a55.tech/api/v1https://api.a55.tech/api/v1
3. Authentication worksToken acquired, API respondsToken acquired, API responds
4. Create a chargeTest card, status paidReal card, status paid
5. Webhooks receivedStatus updates arrive at your endpointStatus updates arrive at your endpoint
6. Refund testedRefund completes in sandbox
7. 3DS testedFrictionless and challenge flows pass
8. Credential rotationRotate secrets, confirm no downtime

Operational practices

PracticeDescription
Secrets managerStore credentials in AWS Secrets Manager, HashiCorp Vault, or your cloud's equivalent
No hardcodingNever commit credentials to version control
Validate in sandbox firstComplete all flows before requesting production access
Rotate regularlyRotate secrets on a quarterly schedule at minimum
Monitor 401sAlert on unexpected authentication failures — they may signal credential leaks

Request credentials

Email tech.services@a55.tech with company name, CNPJ (if applicable), contact email, desired environment (sandbox / production), and a short use-case description.