Sandbox Environment
The Zentra sandbox environment allows you to test your integration without using real money or affecting production data.Overview
The sandbox environment is a complete replica of the live environment, allowing you to:- Test all API endpoints
- Simulate transactions
- Test webhook events
- Verify error handling
- Load test your integration
Sandbox and live environments are completely separate. Data does not sync between them.
Examples here focus on reviewed transfer, webhook, and optional rail flows. Identity examples are reviewed but tenant-gated; customer and wallet examples should still be treated as compatibility or draft unless your environment explicitly exposes them.
Getting Started
1. Get Sandbox API Keys
- Go to the Developer Console
- Open API Keys
- Generate sandbox keys (prefixed with
sk_sandbox_)
2. Configure Your Client
3. Make API Calls
All reviewed API endpoints work the same way in sandbox:Sandbox vs Live
| Feature | Sandbox | Live |
|---|---|---|
| API Keys | sk_sandbox_* | sk_live_* |
| Base URL | https://sandbox.api.usezentra.com | https://api.usezentra.com |
| Real Money | No | Yes |
| Real Bank Accounts | No | Yes |
| Rate Limits | 100 req/min | Based on plan |
| Webhooks | Yes | Yes |
| Test Data | Required | Not allowed |
Test Data
Use these test values in sandbox:Test BVNs
| BVN | Behavior |
|---|---|
22222222222 | Valid - Verification succeeds |
11111111111 | Invalid - Verification fails |
33333333333 | Pending - Stays pending for testing |
Test NIDs
| NIN | Behavior |
|---|---|
12345678901 | Valid |
00000000000 | Invalid |
Test Cards
| Card Number | Brand | Behavior |
|---|---|---|
5060990580000217499 | Verve | Successful |
4084080000000409 | Visa | Successful |
5399830000000062 | Mastercard | Successful |
4000000000000002 | Visa | Declined |
4000000000000127 | Visa | Insufficient funds |
123Default Expiry: Any future date (e.g.,
12/26)Default PIN:
1234
Test Bank Accounts
| Account Number | Bank | Behavior |
|---|---|---|
0123456789 | GTBank | Valid account |
9876543210 | Zenith | Valid account |
0000000000 | Any | Invalid account |
Test OTP
For 2FA and verification:| Scenario | OTP |
|---|---|
| Success | 123456 |
| Failure | 000000 |
Simulating Scenarios
Successful Transfer
Failed Transfer
Insufficient Balance
Testing Webhooks
Local Development
Use ngrok to expose your local server:Trigger Test Webhooks
Use your sandbox tenant and the developer tooling available for your environment to trigger or replay webhook events. Prefer replay-safe test tooling over undocumented direct trigger endpoints.Sandbox Limitations
- No Real Money: Transactions don’t involve real money
- Simplified Processing: Transfers complete instantly (no banking delays)
- Limited Banks: Only major banks are simulated
- No Physical Cards: Can’t test physical card delivery
- Rate Limits: Lower than production (100 req/min)
Best Practices
Test All Scenarios
Test All Scenarios
Test both success and failure cases to ensure your error handling works.
Use Test Data
Use Test Data
Always use test data provided above. Don’t use real customer information.
Test Webhooks
Test Webhooks
Ensure your webhook handlers work correctly before going live.
Simulate Edge Cases
Simulate Edge Cases
Test rate limiting, timeouts, and other edge cases.
Keep Separate Keys
Keep Separate Keys
Never mix sandbox and live API keys in your code.
Switching to Live
When you’re ready to go live:- Test Everything: Ensure all features work in sandbox
- Get Live Keys: Generate production API keys
- Update Environment: Change
environmentto'live' - Update Webhooks: Point webhooks to production server
- Monitor: Watch for errors and issues
Monitoring Sandbox Usage
View your sandbox activity in the Dashboard:- Go to Dashboard → Sandbox
- View API calls, transactions, and webhooks
- Check for errors and warnings
Resetting Sandbox Data
Need a fresh start?- Go to Dashboard → Sandbox → Reset
- Click Reset All Data
- Confirm the action
Getting Help
Questions about sandbox testing?Next Steps
Test Data
Complete test data reference
Going Live
Production checklist
Webhooks Guide
Test webhook handling
API Reference
API documentation