Sandbox & testing
Sandbox mode is isolated: a separate database, no on-chain broadcast, and pre-seeded test data. Enable it in one of two ways.
Header mode
Send x-sandbox: true on every payment-creation request with your sandbox API key. Equivalent to ?sandbox=true on the URL.
curl -X POST "https://api.zyndpay.io/v1/payments?sandbox=true" \
-H "X-Api-Key: zyp_test_sk_..." \
-H "x-sandbox: true"Sandbox API key
Sandbox keys are prefixed zyp_test_sk_ (secret) or zyp_test_pk_ (publishable). The prefix alone does not auto-route β pair the key with ?sandbox=true or x-sandbox: true on payment-creation calls. Mixing a live key with the sandbox flag returns LIVE_KEY_SANDBOX_REQUEST; the reverse returns SANDBOX_KEY_LIVE_REQUEST.
Seeded test data
- Test MoMo numbers that deterministically succeed, delay, or fail
- Test USDT addresses that simulate instant settlement
- A test customer email that bypasses KYC gating
- A webhook echo endpoint at /v1/sandbox/echo for signature debugging