status to false, includes a numeric code that identifies the specific failure, and provides a human-readable description in the error field. Use the code value — not the description text — to drive any error-handling logic in your integration, as description wording may change between API versions.
A typical error response looks like this:
Error Code Reference
The table below lists all error codes returned by the Wasl API, along with a brief description of what each one means.Troubleshooting by Error Code
Expand any error code below for a detailed explanation of what causes it and the steps you should take to resolve it.10000 — Incorrect Token Access
10000 — Incorrect Token Access
What it means: The Bearer token you included in the
Authorization header is missing, malformed, or has expired. The API cannot verify your identity, so the request is rejected before any processing occurs.How to fix:- Re-authenticate by sending a fresh
POST /api-service/card/loginrequest with youruser_nameandpassword. - Extract the new token from the login response.
- Update the
Authorization: Bearer <token>header in your request and retry.
10001 — Error while Processing the Request
10001 — Error while Processing the Request
What it means: Payzah’s servers encountered an unexpected condition while handling your request. This is a server-side error and is not caused by a problem with your request format or credentials.How to fix:
- Wait a few seconds, then retry the same request — transient server errors often resolve on the next attempt.
- If the error persists after two or three retries, contact Payzah support with the full request details (endpoint, timestamp, and any request ID returned in the response) so the issue can be investigated.
Implement exponential back-off in your retry logic rather than hammering the API in rapid succession, which may delay recovery.
10002 — No Card Data Found
10002 — No Card Data Found
What it means: The card identifier or vendor identifier you supplied does not match any record in your account’s card catalog. This can happen if the
card_id or vendor_id is mistyped, belongs to a different merchant account, or references a card type that has not been enabled for your account.How to fix:- Query your available card catalog to retrieve the correct identifiers for the cards in your account.
- Verify that the
card_idorvendor_idin your request exactly matches a value returned by the catalog endpoint — identifiers are case-sensitive. - If the card type you expect to see is not in your catalog, contact Payzah to request access to that card type.
10003 — Improper Way for Calling API - Method
10003 — Improper Way for Calling API - Method
What it means: You used the wrong HTTP method for the endpoint you are calling. For example, you sent a
GET request to an endpoint that only accepts POST, or vice versa.How to fix:- Check the API reference for the endpoint you are targeting and confirm the required HTTP method (e.g.,
GET,POST). - Update your request to use the correct method and retry.
10005 — Card ID Missing
10005 — Card ID Missing
What it means: Your request body is missing the required
card_id field. This field is mandatory for any endpoint that operates on a specific card.How to fix:- Add the
card_idfield to your JSON request body before retrying. - Double-check that the field name is exactly
card_id— notcardId,card_ID, or any other variation.
10006 — Insufficient Balance
10006 — Insufficient Balance
What it means: Your account does not have enough balance to fulfill the requested order. The total cost of the cards you are trying to purchase exceeds your current available balance.How to fix:
- Query your account balance before placing large orders to confirm you have sufficient funds.
- Reduce the quantity of cards in your order so the total cost falls within your available balance.
- Alternatively, choose a lower-denomination card type to stay within your balance.
- If you need to top up your account balance, contact Payzah to arrange a deposit.
10007 — Username Missing
10007 — Username Missing
What it means: You called the login endpoint without including the
user_name field in the request body. Authentication cannot proceed without a username.How to fix:- Add the
user_namefield to your login request body. - Ensure the field is spelled exactly as
user_name(with an underscore).
10008 — Password Missing
10008 — Password Missing
What it means: You called the login endpoint without including the
password field in the request body. Authentication cannot proceed without a password.How to fix:- Add the
passwordfield to your login request body. - Ensure the field is spelled exactly as
password.