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 Code | Description |
---|---|
ABORTED |
Transaction aborted by payer |
AUTHENTICATION_FAILED |
Payer authentication failed |
BALANCE_AVAILABLE |
A balance amount is available for the card |
BLOCKED |
Transaction blocked due to Risk or 3D Secure blocking rules |
DECLINED |
The requested operation was not successful. Payment was declined by issuer or payer authentication unsuccessful |
DECLINED_AVS_CSC |
Transaction declined due to address verification or card security code |
DECLINED_PIN |
Transaction declined due to invalid PIN |
DECLINED_PAYMENT_PLAN |
Transaction declined due to payment plan |
EXCEEDED_RETRY_LIMIT |
Transaction retry limit exceeded |
EXPIRED_CARD |
Expired card |
INSUFFICIENT_FUNDS |
Insufficient funds |
NOT_ENROLLED_3D_SECURE |
Card holder is not enrolled in 3D Secure |
NO_BALANCE |
A balance amount is not available for the card |
PENDING |
Transaction is pending |
SYSTEM_ERROR |
Internal system error occurred processing the transaction |
UNKNOWN |
The 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_ERROR |
Gateway returned an unexpected error, please retry your payment. |
SANDBOX_TEST_CARDS_ONLY |
Only 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 Code | Description |
---|---|
PAY_REQUEST_NOT_FOUND |
Pay request not found |
PAY_REQUEST_MISSING_ORDER |
Pay request does not have an order |
PAY_REQUEST_ALREADY_CAPTURED |
Pay request has already been captured |
PAY_REQUEST_ALREADY_VOIDED |
Pay request has already been voided |
PAY_REQUEST_MUST_BE_AUTHORIZED |
Pay request must be AUTHORIZED |
PAY_REQUEST_MUST_BE_AWAITING |
Can only update total when status is AWAITINGPAYMENTINPUT |
PAY_REQUEST_MISSING_AUTHORIZATION |
Pay request does not have an AUTHORIZATION transaction |
PAY_REQUEST_CAPTURE_AMOUNT_EXCEEDED |
Requested capture amount exceeds authorised amount |
PAY_REQUEST_METHOD_INVALID |
payMethod 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_SUPPORTED |
Pay request card type/brand/network is not supported |
PAY_REQUEST_CARD_EXPIRED |
Card expired |
PAY_REQUEST_CARD_NUMBER_INVALID |
Invalid card number |
PAY_REQUEST_TEST_CARDS_ONLY |
Pay request is currently in mode isLive=false and only testing card numbers are supported. Please refer to documentation |
PAY_REQUEST_ACTION_INVALID |
action must be SUBMIT and can only be used when payMethod.id & payMethod.customerId are specified |
PAY_REQUEST_SECRET_REQUIRED |
Pay-Secret header required |
PAY_REQUEST_SECRET_INVALID |
Invalid Pay-Secret provided |
PAY_REQUEST_SECRET_EXPIRED |
Pay Secret is expired |
PAY_REQUEST_GATEWAY_UNSUPPORTED |
Payment gateway not supported |
PAY_REQUEST_PARTNER_NOT_CONFIGURED |
Partner config is missing for partner: ${partnerId} |
PAY_REQUEST_MERCHANT_MAPPING_NOT_CONFIGURED |
Merchant Id mapping not found for locationId: ${locationId} |
PAY_REQUEST_INVALID_STATUS |
Pay 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 Code | Description |
---|---|
PAY_METHOD_NOT_FOUND |
Pay Method(s) not found for customerId |
PAY_METHOD_PARTNER_INVALID |
Invalid partner, pay method Id combination |
PAY_METHOD_CUSTOMER_PARTNER_INVALID |
This customer does not belong to given partner |
PAY_METHOD_CUSTOMER_NOT_FOUND |
Invalid 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 Code | Description |
---|---|
PAY_REFUND_NOT_FOUND |
Refund request not found |
PAY_REFUND_ALREADY_REFUNDED |
Full amount already refunded |
PAY_REFUND_EXCEEDS_REFUNDABLE |
Requested refund amount exceeds refundable amount |
PAY_REFUND_REQUEST_NOT_CAPTURED |
Pay 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 Code | Description |
---|---|
THREED_SECURE_MERCHANT_NOT_FOUND |
Could not find matching merchant token for merchantId: ${merchantId} |
THREED_SECURE_PAY_REQUEST_NOT_FOUND |
No Pay Request found for 3dsecure transaction id: ${transactionId} |
THREED_SECURE_CARD_NOT_SUPPORTED |
Card does not support 3ds: ${payRequestId} |
THREED_SECURE_FAILED |
3ds authentication failed for pay request |
THREED_SECURE_NOT_FOUND |
No 3ds transaction id for Pay Request: ${payRequestId} |
THREED_SECURE_PAY_METHOD_NOT_FOUND |
No payment method details for Pay Request: ${payRequestId} |
THREED_SECURE_CURRENCY_INVALID |
Invalid 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 Code | Description |
---|---|
ENVIRONMENT_MISMATCH |
There is an environment mismatch. Check TyroProvider was initialised with the correct value for liveMode |
WALLET_INIT_FAILED |
Something went wrong when trying to initialise wallet payments i.e. Apple Pay/GooglePay |
NOT_INITIALISED |
TyroProvider is not initialised. Check it is wrapping your checkout components |
MISSING_MERCHANT_CONFIG |
TyroProvider Failed to init due to missing Google and/or Apple Pay merchant details |
NO_PAY_SECRET |
Occurs when the pay secret has not been passed to the pay sheet. |
INVALID_CARD_TYPE |
Card type not supported. |
INVALID_CARD_DETAILS |
Card details provided are invalid |
TIMEOUT |
When polling for the pay request result with Tyro, the action timed out |
UNKNOWN_ERROR |
Unknown error occurred |
FAILED_TO_SUBMIT |
Failed to submit the payment due to either network error or http error |
Sample TyroSDK Error
{
"errorType": "CLIENT_INITIALISATION_ERROR",
"errorCode": "PAYSHEET_INIT_FAILED"
}