Error Codes

View the list of errors you may encounter

⚠️

Card Present Gateway

If you want to access information about our in-store offering, you may check the API specifications here: In-store Transactions Overview


Error Response Payload

Cards Connect will return one of these HTTP status codes in the error response:

These are the standard error fields included as part of the response:

FieldTypeDescription
typeURLLink to the HTTP status code definition
titleStringDescribes the type of error - indicates if business rule related
statusNumberHTTP status code
errorsObjectContains the error details
errors.key - key nameStringThe name of the field containing the error.
errors.keyArray of StringEach element in the array contains the details of the validation error

400 Bad Request

This is used to indicate that request payload format is invalid.

Example:

{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "errors": {
    "reconciliationId": [
      "The ReconciliationId field is required."
    ]
  },
  "traceId": "00-66dcc869c9943e961a69464cf0a8f9ac-8ae5bc23410ea958-00"
}

422 Unprocessable Content

This is used to indicate that the format of the request payload is correct, but the content of the message violates one or more business rules.

Example:

{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.21",
  "title": "One or more business validation errors occurred.",
  "status": 422,
  "errors": {
    "amount": [
      "Amount must not exceed merchant limit"
    ]
}

Generic Transaction Errors

Error CodeError DescriptionHTTP Status CodeDetail
TRAN01Merchant is not transaction ready422Merchant is not yet activated or a key parameter is missing in the merchant profile.
TRAN02Transaction already exists422This is an idempotency error that is thrown whenever an authorization already exists during an auth call for that merchant
TRAN03Invalid card expiry422The format of the card expiry does not match MM/YY

Or, the card is expired.
TRAN04Transaction cannot be found404The merchant has tried to take an action (E.g. Capture) on a transaction that does not exist for that merchant.
TRAN05The transaction is currently being processed422The merchant requested an event for a transaction that is being processed by another request that may change the state of the transaction
TRAN06The currency in the request is not accepted by the merchant422The currency passed in the authorisation API is not the settlement currency of the merchant’s acquirer, hence, not accepted by the merchant.
TRAN07The system is working on a previous request that may change the state of the transaction422The system is retrying to recover from an ambiguous state (E.g. An initially accepted Capture had failed to be delivered to the schemes)
TRAN08The merchant doesn't have any active terminals to transact with422A transaction request is made for a merchant that doesn't have any active terminals.
TRAN09Merchant status needs to be active for this operation422A transaction or any other type of operation request is made for an inactive merchant.
TRAN11Request cannot be processed due to a failed recovery of a previous operation leaving the transaction at an ambiguous state.422The retry attempts to recover from a failed state such as a failed Refund, Void, or Capture also failed, leaving the transaction in an ambiguous state permanently.
CAPTURE01Transaction is already captured422A transaction has an accepted Capture record on it and the merchant has requested another Capture
CAPTURE02Transaction cannot be captured as the authorization has either been declined or failed422The merchant requested a Capture for a declined or failed authorization
CAPTURE03Transaction cannot be captured as it has been refunded422The transaction has at least one successful refund record on it and the merchant has requested a Capture
CAPTURE04Transaction cannot be captured as it has been voided422The merchant requested a Capture for a voided authorization
CAPTURE05Merchant is not configured to Over-capture.422Over-capture parameter in the merchant config is set to “No” for a merchant that is trying to Over-capture.
CAPTURE06Total capture amount exceeds merchant’s over capture limit422Over-capture amount exceeds either the percentage or the amount-based limit specified in the merchant config.
CAPTURE07Capture cannot be found404The Capture id provided to the GET Capture API cannot be found under the respective transaction.
CAPTURE08Transaction already exists409This is an idempotency error that is thrown whenever a capture already exists during a capture call for that merchant
VOID01Transaction is already voided422The merchant requested a void for a transaction that was already voided
VOID02Transaction cannot be voided as the authorization has either been declined or failed422The merchant requested to void a declined or failed authorization
VOID03Transaction cannot be voided as it has been captured422The merchant requested to void a captured authorization
VOID04Transaction cannot be voided as it has been refunded422The merchant requested to void a refunded authorization
VOID05Void cannot be found422The Void id provided to the GET Void API cannot be found under the respective transaction.
VOID06There isn’t any outstanding authorization amount to void422There’s no additional authorisation amount that is not already captured or voided on the transaction
VOID07Transaction already exists409This is an idempotency error that is thrown whenever a void already exists during an void call for that merchant’s authorization
REFUND01Transaction cannot be refunded as the authorization has either been declined or failed422The merchant requested to refund a declined or failed authorization
REFUND02Transaction cannot be refunded as it has been voided422The merchant requested to refund for a voided authorization
REFUND03Transaction cannot be refunded as it hasn’t been captured422The merchant requested to refund for a transaction that doesn’t have a capture on it
REFUND04Refund cannot be found422The Refund id provided to the GET Refund API cannot be found under the respective transaction.
REFUND06Total refund amount cannot exceed total capture amount422The total refund amount exceeds the total capture amount on a transaction
REFUND09Transaction already exists409This is an idempotency error that is thrown whenever a refund already exists during an refund call for that merchant’s authorization
ASI01The operation is not allowed for an Account Status Inquiry transaction422A subsequent operation (E.g. A capture) is requested for an account status inquiry (ASI) transaction

Authorisation Errors

Authorisation Errors

Error CodeError DescriptionHTTP Status CodeDetail
AUTH01The supplied Authorization header value is not a JWT token401Self-explanatory
AUTH02The authentication token is missing the keyId field401Self-explanatory
AUTH03The supplied keyId does not match a known credential401Self-explanatory
AUTH04The credential has expired401Self-explanatory
AUTH05The authentication token did not pass JWT validation. Possible causes include: expired token, invalid signature or other JWT validation error. The error summary is included in the error message401Self-explanatory
AUTH06The method claim in token does not match the HTTP method requested401Self-explanatory
AUTH07The path claim in the token does not match the HTTP path requested401Self-explanatory
AUTH08The query claim in the token does not match the HTTP query parameters requested401Self-explanatory
AUTH09A request body was supplied but the sha256 claim on the token is not present401Self-explanatory
AUTH10A sha256 claim is present on the token but no request body was supplied401Self-explanatory
AUTH11The computed sha256 hash of the request body does not match the sha256 claim in the token401Self-explanatory
AUTH12The application experienced an unexpected error while executing the JWS Authorization Handler401Self-explanatory
AUTH20The credential is not authorized to access the Merchant Id header value401Self-explanatory
AUTH21The application experienced an unexpected error while executing the JWS Authorization Handler (internal to AuthenticationCredentialProvider)401Self-explanatory