HomeGuidesAPI ReferenceChangelog
Log InChangelog
Guides

Success and Error types

Results returned from WalletCallback

WalletSuccess

The Wallet Success model provides information regarding the successful operation. This information can include data. The method being called defines what returned data to expect.

FieldTypeDescription
typeenum SuccessType(successCode: Int)See SuccessType
messageString?
dataT? | Any?Type is based on the method called. See 'WalletCallback', 'SDK Methods', 'Definitions' and 'Sequence diagrams'

๐Ÿ‘‡ SuccessType

Returned type from WalletCallback onSuccess(WalletSuccess)

Enum

Description

GENERAL_SUCCESS

The SDK method called is finished and the outcome was successful

AUTHENTICATE_SUCCESS

Partial open wallet flow.
From "getOpenWalletUrl".
Distinguishes between if a user has been onboarded with Secure ID or just authenticated; Consumer has authenticated with Secure ID to see the wallet.

Consumer has been authenticated and can access the Wallet dashboard. Open the URL returned in data: AuthenticateData. See 'Definitions'.

ONBOARDING_SUCCESS

Partial open wallet flow.
From "getOpenWalletUrl".
Distinguishes between if a user has been onboarded with Secure ID or just authenticated; Consumer has been onboarded with Secure ID to see the wallet.

Consumer has been onboarded and can access the Wallet dashboard. DPA can decide what to do before opening the URL returned in data: AuthenticateData. See 'Definitions'.

BROWSER_CLOSED

Consumer closed the system browser opened via "openURL"


WalletException

The Wallet Exception model provides information as to why a method failed.

The information is targeted towards DPA developers, and should be mapped to more informative and translated end-user messages.

Field

Type

Description

type

enum ExceptionType(errorCode: Int)

See ExceptionType

message

String

Format: 'action': A 'type' error occurred during 'internalAction': 'reason' Action = the action of the method being called, e.g. Open wallet or Get payment information
Type = The origin of the error: "Network" (Aera Wallet API), "SID" (Aera Secure ID SKD) or "Wallet" (Wallets SDK)
InternalAction = More specific location of where the exception was reported, e.g. "during signing"
Reason = The message from the origin, either Wallets SDK or message from Aera Secure ID SDK/Aera Wallet API

code

Int |ย Long

Same as type.errorCode

externalCode

String?

The original error code from the origin, where applicable (Aera Wallet API/Aera Secure ID SDK).

Aera Wallet API errors are defined under Aera Wallet Api Response codes

timestamp

String?

When the exception occurred, if passed from Aera Wallet API

cid

String?

The correlation ID, a reference for easier debugging, if passed from Aera Wallet API

cid

String?

The type of the correlation ID when present, e.g. "sessionId"

cause

Throwable? | NSError?

The original error causing the reported exception, when applicable

domain

String

com.aerahost.aerawalletssdk (android)


ExceptionType

Returned type from WalletCallback onError(WalletException)

FieldTypeDescription
errorCodeIntThe code associated with the ExceptionType enum

The error codes returned from the Wallets SDK are split into 3 error ranges based on origin

  1. Wallets SDK errors (6800-68099)
  2. SID_SDK: Aera Secure ID SDK errors (68300-68399)
  3. NETWORK: Aera Wallet API errors (68100-68199)

Potential mitigations

  • Look at the externalCode and other fields for more information
  • Map error messages to understandable end-user messages, and provide and display the "cid" and "timestamp" when present. Screenshots by end-users could then help Aera with debugging.
  • Securely report information from DPA to DPA backends to be able to report issues back to Aera
  • Contact Aera Support when an issue does not seem to resolve

๐Ÿ‘‡ Wallet SDK errors

errorCodeNameDescription
68000UNKNOWN_ERROR
68001GENERAL_ERROR
68003SESSION_ERRORA session could not be found or validated
68005ACTION_NOT_SUPPORTEDThe wallet could not handle the requested action, e.g. open wallet
68006MISSING_DATA_ERRORAn internal operation could not be conducted because the Wallet SDK was missing required data.
68007URL_NOT_SUPPORTED_ERRORThe URL provided to "openURL" is not valid or not whitelisted by the Wallets SDK and can not be opened.
๐Ÿ†•68008INVALID_FORMAT_ERRORThe Wallets SDK has validated a value, for instance session ID, which is in the wrong format.

Secure ID SDK errors

The errorCodes below are mapped from external codes from Secure ID. The external codes are available in the 'externalCode' field.

errorCodeNameDescription
68100SID_SDK_DEVICE_NOT_SUPPORTED_ERRORThe device is not supported by Secure ID in its current state. E.g. The API level is too low, device is not secure or device is not compatible with other requirements
68101SID_SDK_NOT_INITIALIZED_ERRORUser is not onboarded with Secure ID on this device
68102SID_SDK_INCOMPATIBLE_ERRORThe Secure ID SDK or app version is too old or has been blocked
68103SID_SDK_INITIALIZATION_ERRORAn error occurred during onboarding via Aera Secure ID SDK.
68104SID_SDK_SIGN_ERRORAn error occurred during signing, e.g. to open wallet or sign payment. An error occurred, app pin could have been revoked, biometrics was cancelled by user etc.
68105SID_SDK_GENERAL_ERROR
68106SID_SDK_USER_CANCELLED_ERRORUser cancelled the operation
68107SID_SDK_NETWORK_ERRORA Network communication, HTTP, or SSL error occurred between Secure ID SDK and other backend systems.

Wallet API errors

The errorCodes below are mapped from response codes from the Wallet API. The response codes are available in the WalletException 'externalCode' field. All Wallet API response codes values are defined under Aera Wallet Api Response codes.

errorCode

Name

Description

68300

NETWORK_GENERAL_ERROR

68301

NETWORK_INTERNAL_SERVER_ERROR

An error occurred inside a backend system. Must be fixed by Aera.

68302

NETWORK_CLIENT_ERROR

The Wallets SDK request did not meet backend requirements.
E.g. invalid session, bad input format, invalid dynamic SDK ID. Must be fixed by client.

68303

NETWORK_UNAUTHORIZED_ERROR

The end-user was not successfully authorized, e.g. invalid session credentials, could not verify signature, or consumer mismatch

68304

NETWORK_INADEQUATE_SECURITY_LEVEL_ERROR

The operation could not be conducted because one or more security requirements were not met

68305

NETWORK_FORBIDDEN_OPERATION_ERROR

The operation could not be conducted. The operation is forbidden or is not possible to conduct right now, e.g. when a transaction state has changed (like trying to cancel a signed transaction)

68306

NETWORK_INVALID_REDIRECT_URI_ERROR

The authRedirectUri provided to "getOpenWalletUrl" or "deleteWallet" is invalid or not whitelisted by WLW

68350

NETWORK_PAYMENT_INSUFFICIENT_FUNDS_ERROR

Not enough balance to process the transaction

68351

NETWORK_PAYMENT_AUTHORIZATION_FAILED_ERROR

Authorization failed.
For full payment: Authorization failed for all instruments.

For partial payment:
Authorization failed for fallback instrument.

68352

NETWORK_NO_VALID_PAYMENT_INSTRUMENTS_ERROR

No payment instruments are active and can be used for the payment