Error Codes for declined cash transaction
Learn how to resolve the different error types messages received during declined cash transactions; Kushki API validation.
What types of response codes does Kushki return?
Kushki will return two different response codes to indicate the success or failure of a transaction: processorError
and code
. The code
field returns generic messages. On the other side, the field processorError
indicates that the transaction has passed through the processor and has probably been mapped by Kushki in order to provide a specific explanation of the reason why your transaction could not be completed.
Codes returned by Kushki for cash payments
Kushki’s API will perform validations before sending a transaction to the processors. If this is the case, the processorError
field will not appear in the response and you will only see the code
field.
An example of a message returned by Kushki’s API is shown below:
{"code": "C001","message": "Cuerpo de la petición inválido."}
In the table below, generic error codes returned through the code
field are summarized.
code | message | What to do? |
---|---|---|
C001 | Invalid request body | Check request body |
C002 | An unexpected error has occurred | Retry the transaction; in case the error persists, get in touch with Kushki’s support team so that we can review your case. |
C003 | Invalid token | Fill in the data again and retry |
C004 | Invalid merchant ID | Check public merchant ID or private merchant ID and retry |
C005 | Invalid transaction ID | Fill in the data again and retry |
C006 | Invalid transaction amount | Check amount to capture and retry |
C007 | Pin submitted does not exist | Check pin and retry |
C008 | Transaction is in an invalid status | Verify that the transaction has not been previously paid or voided |
C010 | Third party integration error | Contact Kushki’s support team, so we can review your case |
C011 | Error. No attachments in the email | Try another card |
C012 | Invalid transaction status | Check amount to capture and retry |
C017 | The expiration date is not valid | Contact Kushki’s support team, so we can review your case |
C018 | Transaction does not exist or has been deleted | Contact Kushki’s support team, so we can review your case |
C019 | Merchant has no businessId | Contact Kushki’s support team, so we can review your case |
C021 | No records were found for the search criteria. | Retry the transaction; in case the error persists, contact Kushki’s support team so that we can review your case. |
C022 | Unable to delete this transaction | Contact Kushki’s support team so that we can review your case |
C023 | Unable to update the transaction | This message is displayed when trying to make a partial void, but the amount is higher than the sale amount |
C025 | The merchant does not have any processors available | Contact Kushki’s support team so that we can review your case |
C026 | Request signature validation failed | Retry transaction |
C032 | No payment networks exist | Contact Kushki’s support team, so we can review your case |
C033 | Transaction previously cancelled | Transaction already cancelled |
C034 | Stone webhook validation error | - |
C035 | Pin generated by the processor duplicated | Pin is duplicated, try to generate a new pin |
C036 | Transaction can no longer be reversed | The transaction is in a status in which it cannot be reversed |
C037 | The transaction went into timeout, please try again | Retry the transaction |
C038 | Processor does not exist | Contact Kushki’s support team, so we can review your case |
C040 | The merchant ID does not match the credential submitted | An amount greater than 0 must be submitted in the amount property. |
C041 | The merchant does not have any processors available | Contact Kushki’s support team so that we can review your case |
HTTP status codes
Kushki will be able to return different HTTP status codes depending on the requests made. There are five categories of standard responses, described in the following image:
Below are the most common HTTP status codes, their associated standard message, as well as a more detailed description of the response.
Code | Message | Detail |
---|---|---|
200 | OK | The process was successful. Everything worked as expected, according to the HTTP method |
400 | Bad Request | The server cannot interpret the request (incorrect syntax, too large size, missing parameters) |
401 | Authorization Required | Credentials must be authenticated, or authentication has failed |
403 | Forbidden | Do not have the necessary permissions to perform this action |
404 | Not Found | Resource or page not found |
409 | Conflict | The request cannot be processed because of a conflict with the resource (e.g., multiple simultaneous updates) |
410 | Gone | The requested resource has been deleted from the server, and will no longer be available |
429 | Too Many Requests | Too many requests have been sent in a short period of time |
430 | Request Header Fields Too Large | Unofficial code, applies only to Shopify. Similar to code 429 |
500 | Internal Server Error | An unexpected server-side error occurred |
502 | Bad Gateway | The server (acting as a proxy or gateway) received an invalid response from another server |
503 | Service Temporarily Unavailable | The server is unavailable (usually because it is under maintenance, or because it is overloaded) |
504 | Gateway Timeout | The server (acting as a proxy or gateway) has not received a response from the other server in time |