Troubleshooting

Start with the HTTP status and stable error code, then confirm the key environment and request identity.

SymptomCheck
403 on a private routeUse test_sk or live_sk, not a public key.
Order request timed outRetry the same request with the same idempotency key; never create a fresh key first.
Insufficient funds unexpectedlyConfirm the key and wallet are both test or both live.
Address rejectedSend exact state, LGA, and town values returned by the v2 selectors.
429 responseHonor Retry-After and use exponential backoff with jitter.
Webhook rejectedVerify the raw body, server clock, current signing secret, and HTTPS certificate.

When contacting support@shioja.com, include time, endpoint, HTTP status, stable code, app ID, and a redacted correlation or idempotency reference. Never send an API key.