Skip to main content

Sandbox vs Production

AWDPay exposes two environments that behave identically except for:

  1. Credential pairs – Sandbox uses a predefined API key/secret so you can start testing instantly.
  2. 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 apiKey and secretKey from 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

  1. Update your secrets (and vault references) to the production pair.
  2. Remove the /test/ prefix from every endpoint call.
  3. Re-run your token exchange with production credentials.