Error codes
What a failed call returns, and how to fix the common errors.
When a request fails, Zoorya Pay answers with an HTTP status code and a JSON list of errors that says what went wrong. Most errors come from your request — a missing field, an expired token or a reused ID — and you can fix them yourself.
Every error has the same shape:
json
[
{
"type": "BUSINESS",
"severity": "LOW",
"code": "PAY005",
"description": "…"
}
]| Field | Meaning |
|---|---|
type | The kind of error, e.g. BUSINESS for a rule your request broke. |
severity | How serious it is. |
code | A short code for the error. Quote it when you contact support. |
description | What went wrong, in words. |
Common errors#
| HTTP | Meaning | Fix |
|---|---|---|
400 | The request broke a rule — for example a missing or wrong field, or an externalUniqueId you already used. | Read description. Use a new externalUniqueId for every payment, send currency: "ETB", and amounts with at most 2 decimals. |
401 | The token is missing, wrong or expired (it works for about 15 minutes). On Log in: the API key is wrong. | Log in again and send the whole headerValue as Authorization. Check that the API key belongs to this environment. |
For any other error, read description. If it does not help, contact Zoorya Pay support with the code.

