Sandbox vs Production
AWDPay exposes two environments that behave identically except for:
- Credential pairs – Sandbox uses a predefined API key/secret so you can start testing instantly.
- Endpoint prefix – All Sandbox URIs add
/test/right after/api; Production calls do not.
Sandbox (Testing)
- Audience: Merchants validating onboarding flows or running automated integration tests.
- Base URL:
https://sandbox.awdpay.com - Default credentials:
apiKey = SANDBOX-API-KEY,secretKey = SANDBOX-SECRET-KEY. - Routing rule: Every API path becomes
/api/test/...(e.g.,/api/test/collections).
Example requests
# Obtain a token in Sandbox
curl -X POST https://sandbox.awdpay.com/api/auth/token \
-H "Content-Type: application/json" \
-d '{"apiKey":"SANDBOX-API-KEY","secretKey":"SANDBOX-SECRET-KEY"}'
# Create a collection intent
curl -X POST https://sandbox.awdpay.com/api/test/collections \
-H "Authorization: Bearer <sandbox_token>" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"currency":"XOF"}'
Production
- Audience: Live merchants processing real payments.
- Base URL:
https://api.awdpay.com. - Credentials: Your production
apiKeyandsecretKeyfrom the dashboard (never reuse Sandbox secrets). - Routing rule: Same endpoints as Sandbox but without
/test/.
Example requests
# Obtain a production token
curl -X POST https://api.awdpay.com/api/auth/token \
-H "Content-Type: application/json" \
-d '{"apiKey":"PROD-API-KEY","secretKey":"PROD-SECRET-KEY"}'
# Create a live collection intent
curl -X POST https://api.awdpay.com/api/collections \
-H "Authorization: Bearer <prod_token>" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"currency":"XOF"}'
Migrating from Sandbox to Production
- Update your secrets (and vault references) to the production pair.
- Remove the
/test/prefix from every endpoint call. - Re-run your token exchange with production credentials.