Orqex has two isolated environments. Which one a request hits is determined by the
API key you authenticate with, not by the URL: the base URL is the same for both.
| Environment | Purpose | Keys |
|---|
| Sandbox | Build and test without moving real money. Use provider test credentials and test phone numbers. | Sandbox secret keys. |
| Live | Real transactions with real money. | Live secret keys. |
Isolation
Each environment is fully isolated. Gateway accounts, routing rules, customers, payment
intents and API keys created in sandbox never appear in live, and vice versa. A payment
created with a sandbox key can only be acted on with a sandbox key.
Keep your keys environment-specific in configuration (e.g. separate .env values per
environment). Using a live key in a test path — or the reverse — is the most common
integration mistake.
Recommended workflow
Integrate in sandbox
Configure sandbox gateway accounts and build the full flow against test credentials.
Test the edge cases
Exercise success, decline, action-required and timeout paths before going live.
Switch to live
Swap the secret key for the live one. No code or URL change is required.
With the PHP SDK
Nothing special: pass the key for the environment you target.
use Orqex\Orchestrate\OrchestrateClient;
$sandbox = new OrchestrateClient(config('services.orqex.sandbox_key'));
$live = new OrchestrateClient(config('services.orqex.live_key'));