Run in production
Errors
One error shape, clear HTTP statuses, and when it's safe to retry.
3 min read
On this page
Error shape
{ "status": "error", "message": "amount must be positive", "code": null }message is written for people and can be shown to your staff. Server errors also carry code: "internal_error" and a reference: quote it to support and we can find the exact request.
HTTP statuses
| Status | Meaning | Retry? |
|---|---|---|
| 400 | Validation error: a field is missing or invalid. | No. Fix the request. |
| 401 | Missing, invalid or expired token or key. | After getting a new token. |
| 404 | The charge, transaction or resource doesn't exist for your app. | No. |
| 429 | Rate limit: too many requests or attempts. | Yes, after backing off. |
| 500 | Something went wrong on our side (with a reference). | Yes, with the same idem key. |
For any money movement, retry only with the same idempotency key. That's what makes retries safe.
Our engineers answer integration questions. Send us the request reference and we'll find the exact call.
Contact support