Troubleshooting
Diagnose signing, payment, and callback failures.
| HTTP | What to check |
|---|---|
| 400 | Required fields, unsupported properties, amount precision, currency, and idempotency key format. |
| 401 | Correct key/secret pair, exact signed body bytes, timestamp in seconds, and active merchant platform. |
| 403 | Active account, valid KYC, enabled bank merchant, and a configured currency range. Amounts outside the range return 400. |
| 404 | Identifier belongs to this merchant and environment; bank evidence exists for reference inquiries. |
| 409 | Key reused with changed parameters, unresolved attempt, duplicate order, or final simulation. |
| 429 | Sandbox daily quota; inspect reset information and portal usage. |
| 502 | Bank outcome unresolved; retain identifiers and reconcile rather than creating a new attempt. |
| 503 | Creation paused, or required hosted-status configuration missing. |
Callback does not arrive
Confirm the webhook was enabled before the transition, environment matches, type is PAYMENT/ALL, and the URL is public HTTPS on port 443 without redirects. Check receiver logs and acknowledge with 2xx only after durable storage. A repeated simulation with the same status does not create a new transition. Creating an endpoint after success does not backfill the event.
Signature mismatch
API requests and webhooks both sign timestamp, a dot, and the exact raw body, but use separate secrets. Verify the correct secret and Unix timestamp in seconds. Ensure the transmitted body matches the signed JSON. Method, path/query, and idempotency key are not part of the API signature.
Portal navigation
Use Transactions to reconcile identifiers and Sandbox for test outcomes. Portal and API domains shown as example.com are deployment placeholders configured by the documentation operator.