Environments
VaultsPay offers two fully-isolated environments so you can develop and test safely before going live.
Sandbox
Use the sandbox for development, automated tests, and QA. It uses test API keys (prefix sk_test_) and does not move real money — all card transactions, transfers, and KYC flows are simulated.
| Property | Value |
|---|---|
| Base URL | https://sandbox.api.vaultspay.ae/v1 |
| Dashboard | https://sandbox.vaultspay.ae |
| API key prefix | sk_test_ |
| Webhook events | Simulated, delivered to your test endpoint |
Sandbox helpers
The sandbox accepts magic values that let you simulate specific outcomes:
| Value | Behavior |
|---|---|
email: kyc_approved@vaultspay.ae | KYC auto-approves immediately |
email: kyc_rejected@vaultspay.ae | KYC auto-rejects |
Card pan: 4000 0000 0000 0127 | Simulates insufficient funds decline |
Card pan: 4000 0000 0000 0002 | Simulates a successful authorisation |
Card pan: 4000 0000 0000 0069 | Simulates an expired card |
Production
The production environment uses live API keys (prefix sk_live_) and processes real money. Access is granted once you’ve completed onboarding and your compliance review.
| Property | Value |
|---|---|
| Base URL | https://api.vaultspay.ae/v1 |
| Dashboard | https://dashboard.vaultspay.ae |
| API key prefix | sk_live_ |
Switching environments
Switching environments is as simple as changing the API key and base URL. Everything else — endpoints, parameters, response shapes — is identical.
config.js
const config = {
sandbox: {
baseUrl: 'https://sandbox.api.vaultspay.ae/v1',
apiKey: process.env.VAULTSPAY_TEST_KEY
},
production: {
baseUrl: 'https://api.vaultspay.ae/v1',
apiKey: process.env.VAULTSPAY_LIVE_KEY
}
}
export default config[process.env.NODE_ENV === 'production' ? 'production' : 'sandbox']