Overview
This checklist applies to every Modulus API (QR Ph, Onboarding, Webhooks, Ecom, Terminal Gateway). Sandbox and production are fully separate: separate credentials, separate base URLs, and separate data. Nothing you do in sandbox affects production.All of this documentation targets the sandbox environment. When you are ready to go live, request production credentials from support (support@moduluslabs.io); you will receive the production base URLs together with your production keys.
Before you switch
1
Request production credentials
Contact support@moduluslabs.io for production keys and the production base URLs for the APIs you use. Production keys are distinct from sandbox keys.
2
Separate your environments
Keep sandbox and production keys in separate configuration, selected by an environment variable. Never hard-code keys, and never use a production key against a sandbox URL (or the reverse).
3
Re-run your integration against production
Repeat your core flows against the production base URLs with production credentials before taking live traffic.
Launch checklist
- Credentials: production keys loaded from secure configuration, never committed to source control.
- Idempotency: send an idempotency key where the API supports it, and make retries safe.
- Retries and timeouts: back off on
429and5xx; do not retry a still-PROCESSINGorPENDINGresult blindly. - Asynchronous results: where a result can be delayed (Ecom
PROCESSING, QR webhooks, Terminal disconnects), reconcile by retrieving the resource or handling the webhook, not by assuming the first response is final. - Webhooks (where used): your endpoint is reachable over HTTPS, decrypts the payload, acknowledges with
200or201, and deduplicates retries. See the relevant product’s webhook guide. - Error handling: branch on the
code, not the message text; surface a clear message to the customer. - Amounts and currency: confirm you are sending amounts in the unit the API expects (for example, centavos for PHP on Ecom) and a supported currency.
- Observability: log each request with its correlation/reference id and outcome so you can trace issues with support.
- Least privilege: use the narrowest key scope your integration needs.
Getting help
Include thecorrelation_id / referenceNumber / request_id from the response when you contact support at support@moduluslabs.io.