yonne_test_ keys while building and yonne_live_ keys in production.
Side-by-side comparison
| Behavior | Live (yonne_live_) | Test (yonne_test_) |
|---|---|---|
| Wallet balance checked | Yes — real deduction | Sandbox context only |
| Real rider dispatch | Yes | No production riders assigned |
ERR_NO_CAPACITY_AVAILABLE possible | Yes | Possible in sandbox |
| Webhooks dispatched | Yes | Yes (plus simulation endpoint available) |
environment field in responses | "live" | "test" |
| Tracking IDs generated | Real IDs | Test IDs |
Test mode
Use test mode to build your integration, run your CI pipeline, and validate webhook handling — without touching your live wallet or dispatching real riders.Recommended test workflow
1. Validate your test keyLive mode checklist
Before switching toyonne_live_, confirm each of these:
- Merchant pickup address is set in the dashboard
- Wallet has sufficient balance for expected order volume
- Your integration sends
Idempotency-Keyon everycreate-ordercall - Your webhook receiver is live, reachable, and validates HMAC signatures
-
402 Insufficient Fundsand422 ERR_NO_CAPACITY_AVAILABLEare handled separately in your error logic - Live and test keys are stored in separate environment variables
Common mistakes
Using a live key in development — your real wallet gets debited. Keep keys in.env files and never hardcode them.
Treating test orders as real fulfillments — test mode validates your integration logic, not real courier operations. Do not assume a rider will be assigned.
Wrong key for the environment — if you see order_not_found or unexpected wallet values, you’re likely querying an order that exists in one environment using a key from the other.