Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Backend error codes

The following server error codes may occur during API calls between the Thales SDK and the Thales backend.

Android

Error code
Use case
Recommendation

SERVER_IS_NOT_ACCESSIBLE

This error is returned when the SDK cannot reach the Thales backend due to a network connection issue.

  • Display the error message to the end user.

  • Tell the end user to check their internet connection.

SERVER_ERROR_CRYPTO_ERROR

This error is returned when there is a keystore issue.

  • Display the error message to the end user.

SERVER_ERROR_INVALID_TOKEN_STATE

This error is returned when the token state is invalid.

  • Display the error message to the end user.

SERVER_ERROR_IDV_NOT_AVAILABLE

This error is returned when the end user selects an ID&V method that is not available.

  • The Thales backend returns an error when the SDK sends a POST /idv-method or POST /otp request. The SDK returns this error code to the merchant application via the TokenBindingListener.onIssuerAuthenticationError() callback.

  • Use IDVSession.getIdvMethods() to get the list of ID&V methods that can be used to authenticate the end user. If the session remains active, the merchant application can select another ID&V method using IDVSession.selectIdvMethod().

SERVER_ERROR_NO_SESSION_FOUND

This error is returned when the session cannot be found.

  • The Thales backend returns an error when the SDK sends a POST /idv-method or POST /otp request. The SDK returns this error code to the merchant application via the TokenBindingListener.onError() callback.

  • Call VisaCTFHelper.createBinding() again to create a new session before the end user selects an ID&V method or verifies the OTP.

SERVER_ERROR_WRONG_OTP_VALUE

This error is returned when the end user enters the wrong OTP.

  • The Thales backend returns an error when the SDK sends a POST /otp request. The SDK returns this error code to the merchant application via the TokenBindingListener.onIssuerAuthenticationError() callback.

  • The session remains active, and the merchant application can retry or select another ID&V method using the IDVSession object.

SERVER_ERROR_EXPIRED_OTP

This error is returned when the end user enters an expired OTP.

  • The Thales backend returns an error when the SDK sends a POST /otp request.

  • The SDK returns this error code to the merchant application via the TokenBindingListener.onIssuerAuthenticationError() callback.

  • The session remains active, and the merchant application can retry or select another ID&V method using the IDVSession object.

SERVER_ERROR_RETRY_LIMIT_EXCEEDED

This error is returned when the end user exceeds the number of retries allowed.

  • The Thales backend returns an error when the SDK sends a POST /otp request. The SDK returns this error code to the merchant application via the TokenBindingListener.onIssuerAuthenticationError() callback.

  • The session remains active, and the merchant application can retry or select another ID&V method using the IDVSession object.

SERVER_ERROR_TOO_MANY_REQUEST

This error is returned when too many requests are sent within a given period of time.

  • Display the error message to the end user.

SERVER_ERROR_RETRYABLE

This error is returned when the server cannot handle the request due to temporary overload or maintenance.

  • Display the error message to the end user.

  • Retry the request.

SERVER_ERROR

This error is returned when a server error occurs and it does not fit into any of the above error codes.

  • Display the error message to the end user.

iOS

Error code
Use case
Recommendation

TMGError.serverIsNotAccessible

This error is returned when the SDK cannot reach the Thales backend due to a network connection issue.

  • Display the error message to the end user.

  • Tell the end user to check their internet connection.

TMGError.serverErrorCryptoError

This error is returned when there is a keystore issue.

  • Display the error message to the end user.

TMGError.serverErrorInvalidTokenState

This error is returned when the token state is invalid.

  • Display the error message to the end user.

TMGError.serverErrorIdvNotAvailable

This error is returned when the end user selects an ID&V method that is not available.

  • The Thales backend returns an error when the SDK sends a POST /idv-method or POST /otp request. The SDK returns this error code to the merchant application via the completion handler.

  • Use PendingBindingSession.getIdvMethods() to get the list of ID&V methods that can be used to authenticate the end user. If the session remains active, the merchant application can select another ID&V method using PendingBindingSession.select().

TMGError.serverErrorNoSessionFound

This error is returned when the session cannot be found.

  • The Thales backend returns an error when the SDK sends a POST /idv-method or POST /otp request. The SDK returns this error code to the merchant application via the completion handler.

  • Call VisaCTFHelper.createBinding() again to create a new session before the end user selects an ID&V method or verifies the OTP.

TMGError.serverErrorWrongOTP

This error is returned when the end user enters the wrong OTP.

  • The Thales backend returns an error when the SDK sends a POST /otp request. The SDK returns this error code to the merchant application via the completion handler.

  • The session remains active, and the merchant application can retry or select another ID&V method using the PendingBindingSession object.

TMGError.serverErrorExpiredOTP

This error is returned when the end user enters an expired OTP.

  • The Thales backend returns an error when the SDK sends a POST /otp request.

  • The SDK returns this error code to the merchant application via the completion handler.

  • The session remains active, and the merchant application can retry or select another ID&V method using the PendingBindingSession object.

TMGError.serverErrorRetryLimitExceeded

This error is returned when the end user exceeds the number of retries allowed.

  • The Thales backend returns an error when the SDK sends a POST /otp request. The SDK returns this error code to the merchant application via the completion handler.

  • The session remains active, and the merchant application can retry or select another ID&V method using the PendingBindingSession object.

TMGError.serverErrorTooManyRequest

This error is returned when too many requests are sent within a given period of time.

  • Display the error message to the end user.

TMGError.serverRetryable

This error is returned when the server cannot handle the request due to temporary overload or maintenance.

  • Display the error message to the end user.

  • Retry the request.

TMGError.serverError(let httpStatusCode, let additionalMessage)

This error is returned when a server error occurs and it does not fit into any of the above error codes. The httpStatusCode and additionalMessage provide more details about the error.

  • Display the error message to the end user.

Last updated

Was this helpful?