Skip to content
Last updated

Error Codes

Gateway Response Errors

When a transaction is unsuccessful, an error code from the table below is provided. Please note that the list of error codes can change over time.

The types of Gateway Response errors are:

Gateway Response Error CodeDescription
ABORTEDTransaction aborted by payer
AUTHENTICATION_FAILEDPayer authentication failed
BALANCE_AVAILABLEA balance amount is available for the card
BLOCKEDTransaction blocked due to Risk or 3D Secure blocking rules
DECLINEDThe requested operation was not successful. Payment was declined by issuer or payer authentication unsuccessful
DECLINED_AVS_CSCTransaction declined due to address verification or card security code
DECLINED_PINTransaction declined due to invalid PIN
DECLINED_PAYMENT_PLANTransaction declined due to payment plan
EXCEEDED_RETRY_LIMITTransaction retry limit exceeded
EXPIRED_CARDExpired card
INSUFFICIENT_FUNDSInsufficient funds
NOT_ENROLLED_3D_SECURECard holder is not enrolled in 3D Secure
NO_BALANCEA balance amount is not available for the card
PENDINGTransaction is pending
SYSTEM_ERRORInternal system error occurred processing the transaction
UNKNOWNThe transaction has been submitted to the acquirer but the gateway was not able to find out about the success or otherwise of the payment
GATEWAY_ERRORGateway returned an unexpected error, please retry your payment.
SANDBOX_TEST_CARDS_ONLYOnly Tyro test cards can be used for the sandbox environment!

Sample Gateway Response Error

{
  "errorMessage": "Insufficient funds",
  "errorCode": "INSUFFICIENT_FUNDS"
}

Pay Request Errors

The types of Pay Request errors are:

Pay Request Error CodeDescription
PAY_REQUEST_NOT_FOUNDPay request not found
PAY_REQUEST_MISSING_ORDERPay request does not have an order
PAY_REQUEST_ALREADY_CAPTUREDPay request has already been captured
PAY_REQUEST_ALREADY_VOIDEDPay request has already been voided
PAY_REQUEST_MUST_BE_AUTHORIZEDPay request must be AUTHORIZED
PAY_REQUEST_MUST_BE_AWAITINGCan only update total when status is AWAITING_PAYMENT_INPUT
PAY_REQUEST_MISSING_AUTHORIZATIONPay request does not have an AUTHORIZATION transaction
PAY_REQUEST_CAPTURE_AMOUNT_EXCEEDEDRequested capture amount exceeds authorised amount
PAY_REQUEST_METHOD_INVALIDpayMethod supports the following combos (id, customerId) or (customerId, save=true) or (save=true). In addition, id and customerId are UUIDs provided by Tyro
PAY_REQUEST_CARD_TYPE_NOT_SUPPORTEDPay request card type/brand/network is not supported
PAY_REQUEST_CARD_EXPIREDCard expired
PAY_REQUEST_CARD_NUMBER_INVALIDInvalid card number
PAY_REQUEST_TEST_CARDS_ONLYPay request is currently in mode isLive=false and only testing card numbers are supported. Please refer to documentation
PAY_REQUEST_ACTION_INVALIDaction must be SUBMIT and can only be used when payMethod.id & payMethod.customerId are specified
PAY_REQUEST_SECRET_REQUIREDPay-Secret header required
PAY_REQUEST_SECRET_INVALIDInvalid Pay-Secret provided
PAY_REQUEST_SECRET_EXPIREDPay Secret is expired
PAY_REQUEST_GATEWAY_UNSUPPORTEDPayment gateway not supported
PAY_REQUEST_PARTNER_NOT_CONFIGUREDPartner config is missing for partner: ${partnerId}
PAY_REQUEST_MERCHANT_MAPPING_NOT_CONFIGUREDMerchant Id mapping not found for locationId: ${locationId}
PAY_REQUEST_INVALID_STATUSPay Request cannot be re-processed when the status is ${status}

Sample Pay Request Error

{
  "error": "Pay request not found",
  "errorCode": "PAY_REQUEST_NOT_FOUND"
}

Pay Method Errors

The types of Pay Method errors are:

Pay Method Error CodeDescription
PAY_METHOD_NOT_FOUNDPay Method(s) not found for customerId
PAY_METHOD_PARTNER_INVALIDInvalid partner, pay method Id combination
PAY_METHOD_CUSTOMER_PARTNER_INVALIDThis customer does not belong to given partner
PAY_METHOD_CUSTOMER_NOT_FOUNDInvalid customer

Sample Pay Method Error

{
  "error": "Pay Method(s) not found for customerId",
  "errorCode": "PAY_METHOD_NOT_FOUND"
}

Pay Refund Errors

The types of Pay Refund errors are:

Pay Refund Error CodeDescription
PAY_REFUND_NOT_FOUNDRefund request not found
PAY_REFUND_ALREADY_REFUNDEDFull amount already refunded
PAY_REFUND_EXCEEDS_REFUNDABLERequested refund amount exceeds refundable amount
PAY_REFUND_REQUEST_NOT_CAPTUREDPay request must be captured before it can be refunded

Sample Pay Refund Error

{
  "error": "Refund request not found",
  "errorCode": "PAY_REFUND_NOT_FOUND"
}

3D Secure Errors

The types of 3D Secure errors are:

3D Secure Error CodeDescription
THREED_SECURE_MERCHANT_NOT_FOUNDCould not find matching merchant token for merchantId: ${merchantId}
THREED_SECURE_PAY_REQUEST_NOT_FOUNDNo Pay Request found for 3dsecure transaction id: ${transactionId}
THREED_SECURE_CARD_NOT_SUPPORTEDCard does not support 3ds: ${payRequestId}
THREED_SECURE_FAILED3ds authentication failed for pay request
THREED_SECURE_NOT_FOUNDNo 3ds transaction id for Pay Request: ${payRequestId}
THREED_SECURE_PAY_METHOD_NOT_FOUNDNo payment method details for Pay Request: ${payRequestId}
THREED_SECURE_CURRENCY_INVALIDInvalid currency on Pay Request ${payRequestId}: ${currency}

Sample 3D Secure Error

{
  "error": "3ds authentication failed for pay request",
  "errorCode": "THREED_SECURE_FAILED"
}

TyroSDK Errors

TyroSDK Error CodeDescription
ENVIRONMENT_MISMATCHThere is an environment mismatch. Check TyroProvider was initialised with the correct value for liveMode
WALLET_INIT_FAILEDSomething went wrong when trying to initialise wallet payments i.e. Apple Pay/GooglePay
NOT_INITIALISEDTyroProvider is not initialised. Check it is wrapping your checkout components
MISSING_MERCHANT_CONFIGTyroProvider Failed to init due to missing Google and/or Apple Pay merchant details
NO_PAY_SECRETOccurs when the pay secret has not been passed to the pay sheet.
INVALID_CARD_TYPECard type not supported.
INVALID_CARD_DETAILSCard details provided are invalid
TIMEOUTWhen polling for the pay request result with Tyro, the action timed out
UNKNOWN_ERRORUnknown error occurred
FAILED_TO_SUBMITFailed to submit the payment due to either network error or http error

Sample TyroSDK Error

{
  "errorType": "CLIENT_INITIALISATION_ERROR",
  "errorCode": "PAYSHEET_INIT_FAILED"
}