Errors
In this guide, we will talk about what happens when something goes wrong while you work with the API. Let's look at some status codes and error types you might encounter.
You can tell if your request was successful by checking the status code when receiving an API response. If a response comes back unsuccessful, you can use the error type and error message to figure out what has gone wrong and do some rudimentary debugging (before contacting support).
Before reaching out to our help desk with an error, please provide a date time of the call the url you are calling and a context id returned in the response, if available.
Here is a list of the different categories of status codes returned by the CityPay API. Use these to understand if a request was successful.
A 2xx status code indicates a successful response.
A 4xx status code indicates a client or data error. A validation error for instance would return a 422 unprocessable entity response.
A 5xx status code indicates a server error.
Attributes
Whenever a request is unsuccessful, the CityPay API will return an error response with an error type and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.
Here is a list of the two error types supported by the CityPay API — use these to understand what you have done wrong.
Error response
{
"code": "D101",
"context": "4DLbFC1VnnW",
"message": "Data is not found",
"response_dt": "2024-03-27T17:03:28.347805Z"
}
Most API error responses include a code value such as D101, P007, or C001. The full response and error code
catalogue is maintained in the data types reference.
Important
If you are looking up a specific error code, start with the Response and Error Codes reference. That table contains the canonical list of CityPay response codes, decline codes, validation codes, Paylink codes, and gateway error codes.
Common code families include:
| Prefix | Area | Examples |
|---|---|---|
000-098 | Transaction responses, approvals, declines, timeouts, verification and void/refund outcomes | 000, 044, 090, 098 |
B | Batch processing errors | B001, B009 |
C | Card validation errors | C001, C006, C026 |
D | Gateway, merchant, terminal, data and 3D Secure errors | D013, D041, D101 |
F | System or upstream processing failures | F001, F006 |
L | Paylink session states and security failures | L200, L401 |
P | Paylink and payment request validation errors | P001, P007, P026 |