API Reference for iOS

casan221saas
The following topics provide information about the classes, enums, and response beans of the iOS SDK:
In the context of this CA solution, the term "accounts" covers both payment card accounts and bank accounts.
Class AuthenticationHandler
This AuthenticationHandler class provides methods that can be called by the business app or authenticator app. The app can use these methods to activate CA Strong authentication for a user’s accounts and to authenticate the user.
Code Snippet
@interface AuthenticationHandler : NSObject -(TransactionDetailsResponse *) getTransaction; -(TransactionDetailsResponse *) getTransaction: (NSString *) transactionId AccountId: (NSString *)accountId AccountType: (NSString *)accountType; -(AuthenticationResponse *) authenticateUsingConsent:(TransactionDetailsResponse *) transactionDetailsResponse; -(void) verifyPINUsingBiometric:(NSString *)touchIDForAutoEnroll withTxnalDetailsResponse :(TransactionDetailsResponse *)detailResponse SuccessHandler :(void(^)(VerifyPINResponse *)) onSuccess FailureHandler :(void(^)(VerifyPINResponse *)) onFailure FallbackHandler :(void(^)(void)) onFallback CancelHandler :(void(^)(void)) onCancel; -(void) verifyPINUsingBiometric :(void(^)(VerifyPINResponse *)) onSuccess FailureHandler :(void(^)(VerifyPINResponse *)) onFailure FallbackHandler :(void(^)(void)) onFallback CancelHandler :(void(^)(void)) onCancel; -(void) authenticateUsingBiometric :(TransactionDetailsResponse *) transactionDetailsResponse SuccessHandler :(void(^)(AuthenticationResponse *)) onSuccess FailureHandler :(void(^)(AuthenticationResponse *)) onFailure FallbackHandler :(void(^)(void)) onFallback CancelHandler :(void(^)(void)) onCancel; -(AuthenticationResponse *) authenticateUsingUserPin:(TransactionDetailsResponse *) transactionDetailsResponse :(NSString *)userPin; -(CancelTransactionResponse *) cancelTransaction:(TransactionDetailsResponse *) transactionDetailsResponse; -(AccountActivationDetails *) verifyActivation :(NSString *)activationCode :(NSString *)activationRefId :(NSString *)postURL :(NSString *)displayName :(NSString *)pin; -(ActivationAcknowledgementResponse *) setPin:(NSString *)accountId :(NSString *)userPin; -(AccountDeletionResponse *)deleteAccount: (AccountDetails *)mAccountDetails; -(NSMutableArray *) getAllEnrolledAccounts; -(BOOL) setURL: (NSString *) orgName : (NSString *) newURL; -(void) generateOTP : (AccountDetails *)mAccountDetails SuccessHandler : (void(^)(OTPResponse *)) onSuccess FailureHandler : (void(^)(OTPResponse *)) onFailure FallbackHandler :(void(^)(void)) onFallback CancelHandler :(void(^)(void)) onCancel; -(void) generateOTP : (AccountDetails *)mAccountDetails PropertyDict: (NSDictionary *)propertyDict SuccessHandler: (void(^)(OTPResponse *)) onSuccess FailureHandler: (void(^)(OTPResponse *)) onFailure FallbackHandler :(void(^)(void)) onFallback CancelHandler :(void(^)(void)) onCancel; -(OTPResponse *) generateOTP : (AccountDetails *)mAccountDetails userPin: (NSString *)userPin; -(OTPResponse *) generateOTP : (AccountDetails *)mAccountDetails userPin: (NSString *)userPin PropertyDict: (NSDictionary *)propertyDict; -(NSMutableArray *) getAllAuthenticationTypes; -(UpdateAuthenticationResponse *) updateAuthenticationType :(Authentication *)authentication PIN :(NSString *)pin; -(BOOL) isPINSetup; -(VerifyPINResponse *) verifyPIN :(NSString *)pin; -(VerifyPINResponse *) verifyPIN :(NSString *)pin PropertyDict: (NSDictionary *)propertyDict; -(ChangePINResponse *) changePIN :(NSString *)oldPin :(NSString *)newPin; -(NSMutableArray *)getEnabledAuthenticationTypes; -(ProfileInfo *)getProfileInfo; -(MultipleAccountActivationDetails *) verifyActivation :(NSMutableArray <MultipleAccountActivationParams *>*) multipleAccountActivationParamsArray :(NSString *)serverURL :(NSString *)pin; -(MultipleAccountActivationDetails *) verifyActivation :(NSMutableArray <MultipleAccountActivationParams *>*) multipleAccountActivationParamsArray :(NSString *)serverURL; -(NSMutableArray <ActivationAcknowledgementResponse *>*) setPin:(NSString*) userPin; -(UnenrollmentResponse *) unenrollAccounts: (BOOL) removePinSetup removeFromRemoteAll : (BOOL) removeFromServer; -(UnenrollmentResponse *) unenrollAccounts: (NSArray<AccountDetails *> *) accounts removeFromRemote : (BOOL) removeFromServer; -(VerifyPINResponse *) verifyPIN:(NSString *)pin :(TransactionDetailsResponse *)transactionDetailsResponse :(NSString *)autoEnrollId; - (AutoEnrollmentResponse *)autoEnrollAccount:displayName; -(NSString*)getAuthAppID; -(NSString *)getSDKVersion; -(BOOL)isDeviceJailBroken __attribute__((deprecated)); -(SSLPinningConfigResponse *)configureSSLPinning:(SSLPinningConfigs *)sslPinningConfigs; -(void)setBiometricDialogTitle:(NSString *)title; -(void)setBiometricFallbackTitle:(NSString *)title; -(void)setBiometricCancelTitle:(NSString *)title; @end
authenticateUsingConsent
Applies device authentication.
Use this API when you do not want to apply user authentication (that is, PIN or biometric authentication) for a low-risk transaction. The use of device authentication ensures that the mobile device on which CA Strong Authentication has been activated for the user’s account is used in the authentication process. For more information about device authentication, see CA Strong Authentication SDKs.
Code Snippet
- (AuthenticationResponse *) authenticateUsingConsent: (TransactionDetailsResponse *) transactionDetailsResponse
Parameters
Parameter
Mandatory?
Description
transactionDetailsResponse
Yes
TransactionDetailsResponse object.
Return Value
This method returns an AuthenticationResponse object, which contains the status and error code.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed
Ensure that transactionDetailsResponse or saTransactionKeyPairs is not null.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_ACCOUNT_NOT_FOUND
Invalid account.
Ensure the account is valid and present. Unenroll and then reenroll accounts.
ERROR_SDK_INTERNAL
SDK has returned an error.
Ensure mobile3ds.sqlite file has read and write permissions. If the issue still persists please contact the administrator.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request.
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_AUTH_APP_ID
InvaIid Auth app ID.
Ensure the app ID is correct.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_SDK_AND_SERVER_OUT_OF_SYNC
Migration flow resulted in failure.
Uninstall the application and re-enroll accounts. Contact administrator if the error persists.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
AuthenticationResponse for more information.
Exception
None.
authenticateUsingUserPin
Applies user authentication by using the user PIN.
This is one of the APIs for applying user authentication. For more information about user authentication, see CA Strong Authentication SDKs.
Code Snippet
- (AuthenticationResponse *) authenticateUsingUserPin: (TransactionDetailsResponse *) transactionDetailsResponse: (NSString *) userPin
Parameters
Parameter
Mandatory?
Description
transactionDetailsResponse
Yes
TransactionDetailsResponse object.
userPin
Yes
User PIN.
Return Value
This method returns an AuthenticationResponse object, which contains the status and error code.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_ACCOUNT_NOT_FOUND
Invalid account.
Ensure the account is valid and present. Unenroll and then reenroll accounts.
ERROR_SDK_INTERNAL
SDK has returned an error.
Ensure mobile3ds.sqlite file has read and write permissions. If the issue still persists please contact the administrator.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request.
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_AUTH_APP_ID
InvaIid Auth app ID.
Ensure the app ID is correct.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_SDK_AND_SERVER_OUT_OF_SYNC
Migration flow resulted in failure.
Uninstall the application and re-enroll accounts. Contact administrator if the error persists.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_SERVER_INTERNAL
Internal error occurred.
Server Internal error. Please contact the administrator.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
AuthenticationResponse for more information.
Exception
None.
authenticateUsingBiometric
Authenticates the user by using the biometric option.
This is one of the APIs for applying user authentication. For more information about user authentication, see CA Strong Authentication SDKs.
Code Snippet
- (void) authenticateUsingBiometric:(TransactionDetailsResponse *) transactionDetailsResponse
SuccessHandler :(void(^)(AuthenticationResponse *)) onSuccess
FailureHandler :(void(^)(AuthenticationResponse *)) onFailure
FallbackHandler :(void(^)(void)) onFallback
CancelHandler :(void(^)(void)) onCancel;
Parameters
Parameter
Mandatory?
Description
transactionDetailsResponse
Yes
TransactionDetailsResponse object.
onSuccess
Yes
Function to handle the Success response.
onFailure
Yes
Function to handle the Failure response.
onFallback
Yes
Function to handle the scenario in which the user selects the User PIN option for authentication.
onCancel
Yes
Function to handle the scenario in which the user cancels or closes the biometric authentication dialog.
Return Value
This method returns an AuthenticationResponse object, which contains the status and error code.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_ACCOUNT_NOT_FOUND
Invalid account.
Ensure the account is valid and present. Unenroll and then reenroll accounts.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request.
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_AUTH_APP_ID
InvaIid Auth app ID.
Ensure the app ID is correct.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_SDK_AND_SERVER_OUT_OF_SYNC
Migration flow resulted in failure.
Uninstall the application and re-enroll accounts. Contact administrator if the error persists.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_SERVER_INTERNAL
Internal error occurred.
Server Internal error. Please contact the administrator.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See AuthenticationResponse for more information.
Exception
None.
autoEnrollAccount
Auto-enrolls a replacement card account.
Code Snippet
- (autoEnrollmentResponse *)autoEnrollAccount:displayName;
Parameters
Parameter
Mandatory?
Description
displayName
Yes
Display name for the auto-enrolled account.
This name can be derived from, for example, the card number.
Return Value
This method returns an AutoEnrollmentResponse object, which contains the auto-enrollment details for the replacement card account.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_DISPLAY_NAME
Display name is not valid because, for example, it is NULL or an empty string.
Ensure passed display name has a value.
ERROR_DISPLAY_NAME_ALREADY_EXISTS
Display name already exists in the database.
Change the display name and try again.
ERROR_AUTO_ENROLLMENT_FAILURE
Auto-enrollment operation failed on the server. This could have resulted for any of the following reasons:
  • If autoEnrollCache, autoEnrollId or autoEnrollPIN is nill or empty.
  • If data is not present in the database.
  • If AutoEnrollAccount API response returns with FAILURE
Check the debug log for more details or contact administrator.
Display a Transaction Rejected message.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_AUTHENTICATION_FAILURE
Authentication of the new account failed after successful auto-enrollment.
Display a Transaction Rejected message. Check the debug log for more details or contact administrator.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PIN_SETUP_PENDING
PIN setup is not done.
Ensure isPINSetup method is returns true.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
See
AutoEnrollmentResponse
for more information.
Exception
None.
cancelTransaction
Cancels the transaction specified by a TransactionDetailsResponse object.
Code Snippet
- (CancelTransactionResponse *) cancelTransaction: (TransactionDetailsResponse *) transactionDetailsResponse
Parameters
Parameter
Mandatory?
Description
transactionDetailsResponse
Yes
TransactionDetailsResponse object.
Return Value
This method returns a CancelTransactionResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.
ERROR_SDK_INTERNAL
The server URL data not available in the database.
Contact the administrator.
ERROR_SERVER_UNREACHABLE
Server is unreachable or the API response is nill.
Ensure that you have internet connection available and try again.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
CancelTransactionResponse for more information.
Exception
None.
changePIN
Changes the user PIN.
Code Snippet
- (ChangePINResponse *) changePIN: (NSString *) oldPin : (NSString *) newPin
Parameters
Parameter
Mandatory?
Description
oldPin
Yes
Old user PIN.
newPin
Yes
New user PIN.
Return Value
Returns a ChangePinResponse object, which contains the status and error code.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_NO_ACTIVE_ACCOUNTS
Active account not present in the database.
Unenroll and reenroll the accounts.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.
ERROR_INVALID_PIN
Invalid PIN passed to the method.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PIN_SETUP_PENDING
PIN setup is not done.
Ensure isPINSetup method is returns true.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_ATTEMPTS_EXHAUSTED
The user exhausted the authentication attempts.
Contact the administrator.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact the administrator.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN.
Ensure that you enter the correct PIN.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See ChangePinResponse for more information.
Exception
None.
deleteAccount
Deletes the account specified by an AccountDetails object.
Code Snippet
- (AccountDeletionResponse *) deleteAccount: (AccountDetails *) mAccountDetails
Parameters
Parameter
Mandatory?
Description
account
Yes
AccountDetails object.
Return Value
Returns an AccountDeletionResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then the one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.
ERROR_ACCOUNT_NOT_FOUND
Account not present in the database.
Unenroll and reenroll the accounts.
ERROR_SERVER_UNREACHABLE
Server is unreachable.
Ensure that you have internet connection available and try again.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions.
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See
AccountDeletionResponse for more information.
Exception
None.
generateOTP (for Biometric authentication and when transaction data signing is not enabled)
Generates an OTP in the Offline mode for the specified account. This method is to be used when the user selects the Biometric authentication type and transaction data signing is not enabled.
Code Snippet
- (void) generateOTP: (AccountDetails *) mAccountDetails
SuccessHandler: (void(^)(OTPResponse *)) onSuccess
FailureHandler: (void(^)(OTPResponse *)) onFailure
FallbackHandler: (void(^)(void)) onFallback
CancelHandler: (void(^)(void)) onCancel;
Parameters
Parameter
Mandatory?
Description
mAccountDetails
Yes
AccountDetails object.
onSuccess
Yes
Function to handle the Success response.
onFailure
Yes
Function to handle the Failure response.
onFallBack
Yes
Function to handle the scenario in which the user selects the PIN option. In other words, the user opts to use PIN authentication instead of continuing with Biometric authentication.
onCancel
Yes
Function to handle the scenario in which the user cancels or closes the Biometric authentication dialog.
Return Value
If the Generate OTP operation is successful, then the method returns an OTPResponse object, which contains the status and errorCode.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID 
The Auth App Id is not present in database. 
Ensure getAuthAppId method returns a value. If not, please contact the administrator. 
ERROR_ACCOUNT_NOT_FOUND
Account not present in the database.
Unenroll and reenroll the accounts.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request.
Ensure that the credential_type parameter is present in the passed object.
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INVALID_SIGNING_DATA
Invalid transaction data was passed.
Ensure the signing data passed in the method has values.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See OTPResponse for more information.
Exception
None.
generateOTP (for PIN authentication and when transaction data signing is not enabled)
Generates an OTP in the Offline mode for the specified account. This method is to be used when the user selects the PIN authentication type and transaction data signing is not enabled.
Code Snippet
- (OTPResponse *) generateOTP: (AccountDetails *) mAccountDetails
userPin: (NSString *) userPin
Parameters
Parameter
Mandatory?
Description
mAccountDetails
Yes
AccountDetails object.
userPin
Yes
User PIN.
Return Value
If the Generate OTP operation is successful, then the method returns an OTPResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_ACCOUNT_NOT_FOUND
Account not present in the database.
Unenroll and reenroll the accounts.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request. 
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See OTPResponse for more information.
Exception
None.
generateOTP (for Biometric authentication and when transaction data signing is enabled)
Generates an OTP in the Offline mode for the specified account. This method is to be used when the user selects the Biometric authentication type and transaction data signing is enabled.
Code Snippet
-(void) generateOTP : (AccountDetails *)mAccountDetails
PropertyDict: (NSDictionary *)propertyDict
SuccessHandler: (void(^)(OTPResponse *)) onSuccess
FailureHandler: (void(^)(OTPResponse *)) onFailure
FallbackHandler :(void(^)(void)) onFallback
CancelHandler :(void(^)(void)) onCancel;
Parameters
Parameter
Mandatory?
Description
mAccountDetails
Yes
AccountDetails object.
propertyDict
Yes
Dictionary that has the SIGNING_DATA key. The value of this key must be the transaction data. The SIGNING_DATA is defined in the "Header.h" header file, which should be included so that this key can be used.
onSuccess
Yes
Function to handle the Success response.
onFailure
Yes
Function to handle the Failure response.
onFallBack
Yes
Function to handle the scenario in which the user selects the PIN option. In other words, the user opts to use PIN authentication instead of continuing with Biometric authentication.
onCancel
Yes
Function to handle the scenario in which the user cancels or closes the Biometric authentication dialog.
Return Value
If the Generate OTP operation is successful, then the method returns an OTPResponse object, which contains the status and errorCode.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID 
The Auth App Id is not present in database. 
Ensure getAuthAppId method returns a value. If not, please contact the administrator. 
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_ACCOUNT_NOT_FOUND
Account not present in the database.
Unenroll and reenroll the accounts.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request. 
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INVALID_SIGNING_DATA
Invalid transaction data was passed.
Ensure the signing data passed in the method has values.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See OTPResponse for more information.
Exception
None.
generateOTP (for PIN authentication and when transaction data signing is enabled)
Generates an OTP in the Offline mode for the specified account. This method is to be used when the user selects the PIN authentication type and transaction data signing is enabled.
Code Snippet
-(OTPResponse *) generateOTP : (AccountDetails *)mAccountDetails userPin: (NSString *)userPin PropertyDict: (NSDictionary *)propertyDict;
Parameters
Parameter
Mandatory?
Description
mAccountDetails
Yes
AccountDetails object.
userPin
Yes
User PIN.
propertyDict
Yes
Dictionary that has the SIGNING_DATA key. The value of this key must be the transaction data. The SIGNING_DATA is defined in the "Header.h" header file, which should be included so that this key can be used.
Return Value
If the Generate OTP operation is successful, then the method returns an OTPResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_ACCOUNT_NOT_FOUND
Account not present in the database.
Unenroll and reenroll the accounts.
ERROR_INVALID_AUTHENTICATION_TYPE
Invalid AuthenticationType object present in the request. 
Ensure that the credential_type parameter is present in the passed object.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INVALID_SIGNING_DATA
Invalid transaction data was passed.
Ensure the signing data passed in the method has values.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See OTPResponse for more information.
Exception
None.
getAllAuthenticationTypes
Gets all available (SDK supported) authentication types for the user’s mobile.
Code Snippet
- (NSMutableArray *) getAllAuthenticationTypes
Parameters
None.
Return Value
Array of authentication types.
getAllEnrolledAccounts
Gets all accounts and cards for which CA Strong Authentication has been activated.
Code Snippet
- (NSMutableArray *) getAllEnrolledAccounts
Parameters
None.
Return Value
Array of AccountDetails objects.
See AccountDetails for more information.
Exception
None.
getProfileInfo
Returns the user profile details, such as device nickname and device ID, configured in the device.
Code Snippet
- (ProfileInfo *) getProfileInfo
Parameters
None.
Return Value
Returns a ProfileInfo object, which contains the status and errorCode values.
The status can be one of the following values:
  • SUCCESS: Operation was successful.
  • FAILURE: Operation failed.
If status is FAILURE, then the following errorCode value is returned:
Error Code
Description
Action to Take
PROFILE_INFO_NOT_AVAILABLE
No profile available in the device.
Enroll at least one account and invoke this method. If the error still persists, then contact the administrator
See ProfileInfo for more information.
Exception
None.
isDeviceJailBroken
Checks if the device is jail-broken or not.
Code snippet
-(BOOL)isDeviceJailBroken;
Parameters
None.
Return Value
Return a boolean object.The status can be one of the following values:
  • TRUE: Indicates device is jail-broken.
  • FALSE: Indicates that the device is not jail-broken.
Exception
None.
setBiometricDialogTitle
This sets the title for the biometric authentication dialog.
Code snippet
-(
void
)setBiometricDialogTitle:(NSString *)title;
Parameters
The title to be displayed.
Return Value
None.
Exception
None.
setBiometricFallbackTitle
This sets the title for the fallback authentication that is triggered in case biometric authentication cannot be performed.
Code snippet
-(
void
)setBiometricFallbackTitle:(NSString *)title;
Parameters
The title to be displayed. 
Return Value
None.
Exception
None.
setBiometricCancelTitle
This set the title to cancel the biometric authentication.
Code snippet
-(
void
)setBiometricCancelTitle:(NSString *)title;
Parameters
The title to be displayed. 
Return Value
None.
Exception
None.
getTransaction (get the latest pending transaction)
Gets the latest pending transaction for the accounts.
Code Snippet
- (TransactionDetailsResponse *) getTransaction
Parameters
None.
Return Value
Returns a TransactionDetailsResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful. This means one of the accounts has the pending transactions.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then the response object will have one of the following errorCode values:
Error Code
Description
Action to Take
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_NO_ACTIVE_ACCOUNTS
No active accounts are present. For example, when the existing accounts are locked.
Unenroll and reenroll the accounts.
ERROR_SERVER_UNREACHABLE
Server is not reachable. Returns nill or empty value in the response.
Check if the internet connection available and try again.
ERROR_SERVER_INTERNAL
Server has returned an error. The credential_type not present in the response
Retry after some time or contact the administrator.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_ACCOUNT_NOT_FOUND
Invalid account.
The user has no enrolled accounts.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See TransactionDetailsResponse for more information.
Exceptions
None.
getTransaction (get a specified transaction)
Gets the pending transaction for a given AccountId of a given AccountType.
Code Snippet
- (TransactionDetailsResponse *) getTransaction: (NSString *) transactionId
AccountId: (NSString *) accountId
AccountType: (NSString *) accountType
Parameters
Parameter
Mandatory?
Description
transactionId
Yes
Transaction ID.
accountId
Yes
Account ID.
accountType
Yes
Account type sent by the server.
The value can be one of the following:
TM
FM
Return Value
Returns a TransactionDetailsResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful. This means the account has pending transactions.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then the response object will have one of the following errorCode values:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_UNREACHABLE
Server is not reachable. Returns nill or empty value in the response.
Check if the internet connection available and try again.
ERROR_SERVER_INTERNAL
Server has returned an error. The credential_type not present in the response
Retry after some time or contact the administrator.
ERROR_NO_TRANSACTION_AVAILABLE
There are no pending transactions.
Perform initAuth API call to get the transaction.
ERROR_ACCOUNT_NOT_FOUND
Invalid account.
The user has no enrolled accounts.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See TransactionDetailsResponse for more information.
Exceptions
None.
isPINSetup
Returns true if the user has set up a PIN. Most of the SDK flows, including the Authentication flows, begin with a call to this API. These flows can proceed only if the user has a PIN.
Code Snippet
- (BOOL) isPINSetup
Parameters
None.
Return Value
BOOL
Exception
None.
setPin (for a single account)
Sets the user PIN when the verifyActivation method (for a single account) is called in a scenario when the user has not set a PIN.
Code Snippet
- (ActivationAcknowledgementResponse *) setPin: (NSString *) accountId
: (NSString *) userPin
Parameters
Parameter
Mandatory?
Description
accountId
Yes
Account ID.
userPin
Yes
User PIN.
Return Value
Returns an ActivationAcknowledgementResponse object, which contains the status and errorCode.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following errorCode values is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions. 
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_MIGRATION_REQUIRED 
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_SERVER_INTERNAL
Internal server error.
Contact your administrator.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See ActivationAcknowledgementResponse for more information.
Exception
None.
setPin (for multiple accounts)
Sets the user PIN when the verifyActivation method (for multiple accounts) is called in a scenario when the user has not set a PIN.
Call this API in a background thread.
Code snippet
-(NSMutableArray <ActivationAcknowledgementResponse *>*) setPin:(NSString*) userPin;
Parameters
Parameter
Mandatory?
Description
userPin
Yes
User PIN.
Return Value
Return a List of ActivationAcknowledgementResponse objects. Each object contains the status and error code.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, the one of the following error codes value is returned:
Error Code
Description
Action to Take
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_INVALID_REQUEST
setPin is called when it is not required by the SDK.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions. 
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_SDK_INTERNAL
An SDK error was encountered.
Contact your administrator.
ERROR_MIGRATION_REQUIRED  
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_SERVER_INTERNAL
Internal server error.
Contact your administrator.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See ActivationAcknowledgementResponse for more information.
Exception
None.
setURL
Updates the Service URL for the specified organization.
Code Snippet
- (BOOL) setURL: (NSString *) orgName: (NSString *) newURL
Parameters
Parameter
Mandatory?
Description
orgName
Yes
Organization name.
newURL
Yes
Service URL.
Return Value
Returns TRUE or FALSE.
Exception
None.
updateAuthenticationType
Enables or disables the specified Authentication type on a user’s mobile.
Important!
Before calling the updateAuthenticationType API, call the verifyPin API to ensure that the user has submitted the correct PIN.
Code Snippet
- (UpdateAuthenticationResponse *) updateAuthenticationType: (Authentication *) authentication: (NSString *) pin
Parameters
Parameter
Mandatory?
Description
authentication
Yes
Authentication object.
pin
Yes
User PIN.
Return Value
Returns an UpdateAuthenticationResponse object, which contains the status and error code.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions. 
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_OPERATION_NOT_ALLOWED
User is trying to disable an authentication type (biometric) that is already disabled.
Ensure the authentication is enabled. Call getEnabledAuthenticationTypes method and verify the enabled authentication types.
ERROR_MIGRATION_REQUIRED  
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
See UpdateAuthenticationResponse for more information.
Exception
None.
verifyActivation (used for single account verification)
Activates CA Strong Authentication for the second or subsequent account.
Code Snippet
- (AccountActivationDetails *) verifyActivation: (NSString *) activationCode
: (NSString *) activationRefId
: (NSString *) postURL
: (NSString *) displayName
: (NSString *) pin
Parameters
Parameter
Mandatory?
Description
activationCode
Yes
Activation code.
activationRefId
Yes
Activation reference ID.
postURL
Yes
CA Strong Authentication server URL.
displayName
Yes
Display name of the account or card.
pin
Yes
User PIN.
Return Value
Returns an AccountActivationDetails object, which contains the status and error code.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
The verifyActivationResponse is nil.
Ensure that you have internet connection available and try again.
ERROR_DISPLAY_NAME_ALREADY_EXISTS
Display name already exists in the database.
Change the display name and try again
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_INVALID_ACTIVATION_REF_ID
User submitted an invalid reference ID.
Ensure valid activation reference ID is passed in this method.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
AccountActivationDetails for more information.
Exception
None.
verifyActivation (used for multiple accounts)
Activates CA Strong Authentication for the second or subsequent account.
Code Snippet
- (MultipleAccountActivationDetails *) verifyActivation :(NSMutableArray <MultipleAccountActivationParams *>*) multipleAccountActivationParamsArray
Parameters
Parameter
Mandatory?
Description
multipleAccountActivationParamsArray
Yes
Array of accounts.
Return Value
Returns an MultipleAccountActivationDetails object, which contains the status and error code. The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ACTIVATION_PARAMS
The MultipleAccountActivationParams parameter is nil.
Ensure multipleAccountActivationParamsArray is not nil.
ERROR_INVALID_SERVER_URL
The serverURL is empty.
Ensure serverURL passed in this method is not empty.
ERROR_INVALID_ACTIVATION_PARAMS
The MultipleAccountActivationParams parameter validation failed.
Ensure multipleAccountActivationParams passed in this method has values.
ERROR_SERVER_UNREACHABLE
The verifyActivationResponse is nil.
Ensure that you have internet connection available and try again.
ERROR_DISPLAY_NAME_ALREADY_EXISTS
Display name already exists in the database.
Change the display name and try again
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
AccountActivationDetails for more information.
Exception
None.
verifyActivation (used for multiple accounts)
Activates CA Strong Authentication for the second or subsequent account.
Code Snippet
- (MultipleAccountActivationDetails *) verifyActivation :(NSMutableArray <MultipleAccountActivationParams *>*) multipleAccountActivationParamsArray :(NSString *)serverURL :(NSString *)pin
Parameters
Parameter
Mandatory?
Description
multipleAccountActivationParamsArray
Yes
Array of accounts.
serverURL
Yes
Strong Authentication server URL.
pin
Yes
Authentication PIN.
Return Value
Returns an MultipleAccountActivationDetails object, which contains the status and error code. The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ACTIVATION_PARAMS
The MultipleAccountActivationParams parameter is nil.
Ensure multipleAccountActivationParamsArray is not nil.
ERROR_INVALID_SERVER_URL
The serverURL is empty.
Ensure serverURL passed in this method is not empty.
ERROR_INVALID_ACTIVATION_PARAMS
The MultipleAccountActivationParams parameter validation failed.
Ensure multipleAccountActivationParams passed in this method has values.
ERROR_SERVER_UNREACHABLE
The verifyActivationResponse is nil.
Ensure that you have internet connection available and try again.
ERROR_DISPLAY_NAME_ALREADY_EXISTS
Display name already exists in the database.
Change the display name and try again
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_SDK_INTERNAL
SDK has returned an error.
Ensure mobile3ds.sqlite file has read and write permissions. If the issue still persists please contact the administrator.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INVALID_PIN
Invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
See
AccountActivationDetails for more information.
Exception
None.
verifyPin (when transaction data signing is not enabled)
Verifies the user PIN, without using transaction data.
Use this API for operations such as activating new accounts on the device, changing the PIN, disabling or enabling the authentication types, or deleting an account.
If you are implementing the Dynamic Linking article of PSD2, then see verifyPin (verifies PIN using transaction data).
Code Snippet
- (VerifyPINResponse *) verifyPIN: (NSString *) pin
Parameters
Parameter
Mandatory?
Description
pin
Yes
User PIN.
Return Value
Returns a VerifyPINResponse object, which contains the status and error message.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_SERVER_UNREACHABLE
The response is nil.
Ensure that you have internet connection available and try again.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_INVALID_PIN
User submitted an invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_PIN_SETUP_PENDING
User has not setup the PIN. The response in nill.
Ensure isPINSetup method returns true.
ERROR_ATTEMPTS_EXHAUSTED
The user exhausted the authentication attempts.
Contact the administrator.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN.
Ensure that you enter the correct PIN.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact the administrator.
ERROR_NO_ACTIVE_ACCOUNTS
The account details are not present in the database.
Unroll and re-enroll accounts.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Exception
None.
verifyPin (when transaction data signing is enabled)
Verifies the user PIN by using transaction data.
Use this API if you are implementing the Dynamic Linking article of PSD2.
Use this API for operations such as activating new accounts on the device, changing the PIN, disabling or enabling the authentication types, or deleting an account.
Code Snippet
- (VerifyPINResponse *) verifyPIN :(NSString *)pin PropertyDict: (NSDictionary *)propertyDict;
Parameters
Parameter
Mandatory?
Description
pin
Yes
User PIN.
propertyDict
Yes
Dictionary containing the SIGNING_DATA key, whose value is the transaction data. The SIGNING_DATA is defined in the "Header.h" header file, which should be included so that this key can be used.
Return Value
Returns a VerifyPINResponse object, which contains the status and error message.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_SERVER_UNREACHABLE
The response is nil.
Ensure that you have internet connection available and try again.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_INVALID_PIN
User PIN is nill.
User submitted an invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INVALID_SIGNING_DATA
The signing data is not valid.
Ensure the signing data passed in the method has values, if not pass the signing data and try again.
ERROR_ATTEMPTS_EXHAUSTED
The user exhausted the authentication attempts.
Contact the administrator.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN. 
Ensure that you enter the correct PIN.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact the administrator.
ERROR_NO_ACTIVE_ACCOUNTS
The account details are not present in the database.
Unroll and re-enroll accounts.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Exception
None.
verifyPin (used in auto enroll flow)
Verifies the user PIN by using transaction data. Use this API if you are implementing the Dynamic Linking article of PSD2. Use this API for operations such as activating new accounts on the device, changing the PIN, disabling or enabling the authentication types, or deleting an account.
Code Snippet
- (VerifyPINResponse *) verifyPIN:(NSString *)pin :(TransactionDetailsResponse *)transactionDetailsResponse:(NSString *)autoEnrollId
Parameters
Parameter
Mandatory?
Description
pin
Yes
User PIN.
transactionDetailsResponse
Yes
Response from the gettransaction method.
autoEnrollId
Yes
Auto enrollment Identifier.
Return Value
Returns a VerifyPINResponse object, which contains the status and error message.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
The response is nil.
Ensure that you have internet connection available and try again.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_SERVER_INTERNAL
Internal server error was encountered.
Try again after some time or contact the administrator.
ERROR_INVALID_PIN
User PIN is nill.
User submitted an invalid PIN.
Ensure PIN is numeric and the length is in between 4 to 10 digits.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INVALID_SIGNING_DATA
The signing data is not valid.
Ensure the signing data passed in the method has values, if not pass the signing data and try again.
ERROR_ATTEMPTS_EXHAUSTED
The user exhausted the authentication attempts.
Contact the administrator.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN. 
Ensure that you enter the correct PIN.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact the administrator.
ERROR_PIN_SETUP_PENDING
PIN setup is not done.
Ensure isPINSetup method is returns true.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Exception
None.
verifyPINUsingBiometric (Used during autoenrollment flow)
Verifies the user PIN through biometric authentication.
Code snippet
- (void) verifyPINUsingBiometric:(NSString *)touchIDForAutoEnroll
withTxnalDetailsResponse:(TransactionDetailsResponse *)detailResponse
SuccessHandler :(void(^)(VerifyPINResponse *)) onSuccess
FailureHandler :(void(^)(VerifyPINResponse *)) onFailure
FallbackHandler :(void(^)(void)) onFallback
CancelHandler :(void(^)(void)) onCancel;
Parameters
None.
Return Value
Returns a VerifyPINResponse object, which contains the status and error message.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_SDK_INTERNAL
Internal server error.
Contact your administrator.
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
The response is nil.
Ensure that you have internet connection available and try again.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_INVALID_SIGNING_DATA
The signing data is not valid.
Ensure the signing data passed in the method has values, if not pass the signing data and try again.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN. 
Ensure that you enter the correct PIN.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PIN_SETUP_PENDING
Pin setup is not done.
Ensure isPINSetup method returns true.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact administrator to activate the account.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Exception
None.
verifyPINUsingBiometric (used for App login flow)
Verifies the user PIN through biometric authentication.
Code snippet
- (void) verifyPINUsingBiometric:(void(^)(VerifyPINResponse *)) onSuccess
FallbackHandler :(void(^)(VerifyPINResponse*)) onFailure
FallbackHandler :(void(^)(void)) onFallback
CancelHandler :(void(^)(void)) onCancel;
Parameters
None.
Return Value
Returns a VerifyPINResponse object, which contains the status and error message.
The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_NO_BIOMETRIC_AVAILABLE
Biometric authentication is not enabled on this device.
Ensure the BIOMETRIC-related options are enabled on your device.
ERROR_SDK_INTERNAL
Internal server error.
Contact your administrator.
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_SERVER_UNREACHABLE
The response is nil.
Ensure that you have internet connection available and try again.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_INVALID_SIGNING_DATA
The signing data is not valid.
Ensure the signing data passed in the method has values, if not pass the signing data and try again.
ERROR_INCORRECT_PIN
User submitted an incorrect PIN. 
Ensure that you enter the correct PIN.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INACTIVE_ACCOUNT
The account is inactive.
Contact administrator to activate the account.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Exception
None.
unenrollAccounts (for a single or multiple accounts)
Deletes a single or multiple accounts selected by the user.
Code snippet
- (UnenrollmentResponse *) unenrollAccounts: (NSArray<AccountDetails *> *) accounts removeFromRemote : (BOOL) removeFromServer
Parameters
Parameter
Mandatory?
Description
accounts
Yes
Array of AccountDetails objects.
removeFromServer
Yes
Boolean flag that specifies whether the accounts must also be deleted from the CA Strong Authentication server.
When this flag is set to true, accounts are removed from the device and server. However, the PIN is not removed, so new accounts can continue to be provisioned on this device.
Return Value
Returns a UnenrollmentResponse object, which contains the status and error message.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_ARGUMENT
Incorrect details were passed.
Ensure the arguments that you pass are correct and not null.
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_MIGRATION_REQUIRED 
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions. 
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_SDK_INTERNAL
SDK has returned an error.
Ensure mobile3ds.sqlite file has read and write permissions. If the issue still persists please contact the administrator.
ERROR_UNENROLL_ACCOUNTS
The unenroll account operation failed.
Please try again after some time. If the issue still persists please contact the administrator.
ERROR_MIGRATION_REQUIRED
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Note
: Applicable only if removeFromServer is set to true.
Exception
None.
unenrollAccounts (for all accounts)
Deletes all accounts and can also delete the PIN setup.
Code snippet
- (UnenrollmentResponse *) unenrollAccounts: (BOOL) removePinSetup removeFromRemoteAll : (BOOL) removeFromServer
Parameters
Parameter
Mandatory?
Description
removePinSetup
Yes
Boolean flag that specifies whether the user's current PIN must be retained or removed. In addition, the PIN is removed. To activate new accounts on this device or a different device, the user will be prompted to set up a PIN.
removeFromServer
Yes
Boolean flag that specifies whether the accounts must also be deleted from the CA Strong Authentication server.
When this flag is set to true, accounts are removed from the device and server. However, the PIN is not removed, so new accounts can continue to be provisioned on this device.
Return Value
Returns a UnenrollmentResponse object, which contains the status and error message.The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_INVALID_AUTH_APP_ID
The Auth App Id is not present in database.
Ensure getAuthAppId method returns a value. If not, please contact the administrator.  
ERROR_MIGRATION_REQUIRED 
The SDK is updated to 2.0, but the migration flow is not completed.
Ensure the migration flow is successfully completed.
ERROR_INTERNAL_READWRITE
The query execution failed due to insufficient permissions. 
Ensure mobile3ds.sqlite file has read and write permissions.
ERROR_SDK_INTERNAL
SDK has returned an error.
Ensure mobile3ds.sqlite file has read and write permissions. If the issue still persists please contact the administrator.
ERROR_UNENROLL_ACCOUNTS
The unenroll account operation failed.
Please try again after some time. If the issue still persists please contact the administrator.
ERROR_PINNING_FAILURE
The SSL pinning has resulted in failure.
Valid certificate must be passed from the customer app to the SDK.
Note:
Applicable only if removeFromServer is set to true.
Exception
None.
configureSSLPinning
This method checks if the SSL pinning configurtion is successful.
Code snippet
-(SSLPinningConfigResponse *)configureSSLPinning:(SSLPinningConfigs *)sslPinningConfigs;
Parameters
Parameter
Mandatory?
Description
sslPinningConfigs
Yes
Contains the pinning configuration details, such as certificates, type of pinning (public key or certiticate), indication if the pinning is required or not.
Return Value
Returns a SSLPinningResponse object, which contains status, error code, and error message. The status can be one of the following values:
  • SUCCESS:
    Operation was successful.
  • FAILURE:
    Operation failed.
If the status is FAILURE, then one of the following error codes is returned:
Error Code
Description
Action to Take
ERROR_PINNING_CONFIG
The SSL pinning configuration has resulted in failure. This error can be returned in scenarios, such as:
  • SSL configuration (sslPinningConfigs) is null
  • Certificate is null.
  • Certificate size is zero
Based on the error description, provide the correct input to the SDK.
Exception
None.
Class Authentication
This Authentication class contains the AuthenticationType and AuthenticationTypeStatus properties. This class manages the various authentications types, such as USER_PIN and BIOMETRIC.
Code Snippet
@interface Authentication : NSObject
@property AuthenticationType authenticationType;
@property AuthenticationTypeStatus authenticationTypeStatus;
-(id) initWithData :(AuthenticationType) mAuthenticationType : (AuthenticationTypeStatus) mAuthenticationTypeStatus;
@end
initWithData
Initializes the Authentication object with the authenticationType and authenticationTypeStatus parameters.
Code Snippet
- (id) initWithData: (AuthenticationType) mAuthenticationType
: (AuthenticationTypeStatus) mAuthenticationTypeStatus
Parameters
Parameter
Mandatory?
Description
mAuthenticationType
Yes
Type of Authentication that is supported and configured on a user's mobile device at any point of time. Valid values are the following integers:
0:
Indicates device authentication.
1:
Indicates user PIN authentication.
2:
Indicates biometric authentication.
AuthenticationTypeStatus
Yes
Status of the AuthenticationType supported and configured on a user's device at any point of time. Valid values are the following:
0:
Indicates that the authentication type is enabled.
1 :
Indicates that the authentication type is disabled.
2:
Indicates that biometric authentication is not supported on the device.
Return Value
Returns an Authentication object.
See Authentication for more information.
Exceptions
None.
Properties of Class Authentication
Name
Type
Description
authenticationType
AuthenticationType
Type of Authentication that is supported and configured on a user's mobile at any point of time.
The value can be one of the following:
  • User PIN
  • Biometric Auth
  • Device PIN Auth
authenticationTypeStatus
AuthenticationTypeStatus
Status of the AuthenticationType that is supported and configured on the user's mobile at any point of time.
The value can be one of the following:
  • Enabled
  • Disabled
  • Not Applicable
Response Classes
This section describes the classes whose objects are returned by the responses of the SDK operations.
Class TransactionDetailsResponse
The TransactionDetailsResponse class contains information about pending transactions. An object of this class is sent in the response of the following methods:
Code Snippet
@interface TransactionDetailsResponse : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * transactionId;
@property(retain, nonatomic) NSString * transactionMessage;
@property(retain, nonatomic) NSString * displayName;
@property(retain, nonatomic) NSMutableArray * authenticationTypes;
@property(retain, nonatomic) NSString * errorCode;
@property(retain, nonatomic) NSString * autoEnrollId;
- (id)initWithData :(NSString *)aStatus TransactionId: (NSString *) aTransactionId TransactionMessage: (NSString *) aTransactionMessage DisplayName:(NSString *)aDisplayName AuthenticationTypes: (NSMutableArray *) aAuthenticationTypes;
-(id)initWithStatus:(NSString *)aStatus;
-(id)initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
authenticationTypes
NSMutableArray
Authentication types that are configured on the user's mobile. For example:
User PIN and BIOMETRIC
displayName
NSString
Display name that the user has set for the account or card.
errorCode
NSString
errorCode is returned depending on the scenario in which the TransactionDetailsResponse object is created.
status
NSString
Status of the operation. The value can be one of the following:
  • SUCCESS: Operation was successful.
  • FAILURE: Operation failed.
transactionId
NSString
Transaction ID.
transactionMessage
NSString
Transaction message that has the details of the transaction conducted by the user. These details are displayed by the app to the user.
For a push-notification-based transaction, the transaction message contains the HTML snippets that were specified as the value of the Push Body Heading Message and Push Body Passage Message elements in the Push Notification message template. For more information, see see Configuring Message Templates for OTP and Push Notification Delivery..
autoEnrollId
NSString
Auto Enrollment ID that is used to auto-enroll a replacement card.
Class AuthenticationResponse
The AuthenticationResponse class contains information about user authentication results. An object of this class is sent in the response of the authenticateUsingConsent and authenticateUsingUserPin methods.
Code Snippet
@interface AuthenticationResponse : NSObject
@property(retain, nonatomic) NSString * transactionId;
@property(retain, nonatomic) NSString * status;
@property(nonatomic) BOOL attemptAgain;
@property(retain, nonatomic) NSString * errorCode;
- (id)initWithData: (NSString *)aTransactionId Status:(NSString *)aStatus AttemptAgain:(BOOL)aAttemptAgain;
-(id)initWithStatus:(NSString *)aStatus;
-(id) initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
attemptAgain
BOOL
Specifies whether the user is allowed to attempt authentication again for a given transaction. This property is set by the CA Strong Authentication Server and sent to the SDK.
errorCode
NSString
errorCode that is returned depending on the scenario in which the AuthenticationResponse object is created.
status
NSString
Success or failure status that is returned in the AuthenticationResponse object.
transactionId
NSString
Transaction ID.
Class AutoEnrollmentResponse
The AutoEnrollmentResponse class contains information about the enrollment details for a replacement card. An object of this class is sent in the response of the autoEnrollAccount method.
@interface AutoEnrollmentResponse : NSObject
@property(retain, nonatomic) NSString * transactionId;
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
-(id)initWithData :(NSString *)aTransactionId
:(NSString *)aStatus
:(NSString *)aErrorCode;
-(id)initWithStatus :(NSString *)aStatus;
-(id)initWithErrorCode :(NSString *)_errorCode;
Properties
Name
Type
Description
errorCode
NSString
errorCode that is returned depending on the scenario in which the AutoEnrollmentResponse object is created.
status
NSString
Success or failure status that is returned in the AutoEnrollmentResponse object.
transactionId
NSString
Transaction ID.
Class CancelTransactionResponse
The CancelTransactionResponse class contains information about the results of a Cancel Transaction operation. An object of this class is sent in the response of the cancelTransaction method.
Code Snippet
@interface CancelTransactionResponse : NSObject
@property(retain, nonatomic) NSString * transactionId;
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
- (id)initWithData: (NSString *)aTransactionId Status:(NSString *)aStatus;
-(id)initWithStatus:(NSString *)aStatus;
-(id)initWithErrorCode :(NSString *)_errorCode;
@end
Properties
Name
Type
Description
errorCode
NSString
errorCode that is returned depending on the scenario in which the CancelTransactionResponse object is created.
status
NSString
Success or failure status that is returned in the CancelTransactionResponse object.
transactionId
NSString
Transaction ID.
Class AccountActivationDetails
The AccountActivationDetails class contains account activation details. An object of this class is sent in the response of the verifyActivation method.
Code Snippet
@interface AccountActivationDetails : NSObject
@property(retain, nonatomic) NSString * accountId;
@property(retain, nonatomic) NSString * displayName;
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
@property Boolean isPINRequired;
- (id)initWithData :(NSString *)mAccountId Status: (NSString *)aStatus DisplayName:(NSString *)aDisplayName;
-(id)initWithStatus:(NSString *)aStatus;
-(id)initWithStatusAndDisplayName: (NSString *)aStatus DisplayName: (NSString *)aDisplayName;
-(id)initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
accountId
NSString
Account or card provisioned on the user's mobile.
displayName
NSString
Display name set by the user for the account or card.
errorCode
NSString
errorCode that is returned depending on the scenario in the AccountActivationDetails object is created.
isPINRequired
Boolean
Specifies whether the user PIN is required during activation of the account or card.
If this method returns true, then the app must display a prompt for the user to submit the PIN or biometric.
status
NSString
Specifies whether the status is SUCCESS or FAILURE.
Class MultipleAccountActivationDetails
The MultiipleAccountActivationDetails class contains account activation details. An object of this class is sent in the response of the verifyActivation method.
Code Snippet
@interface MultipleAccountActivationDetails : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
@property Boolean isPINRequired;
@property NSMutableArray *multipleAccountActivationStatusArray;
- (id)initWithData:(NSMutableArray*)multipleAccountActivationStatusArray;
-(id)initWithStatus:(NSString *)aStatus;
-(id)initWithErrorCode :(NSString *)errorCode;
-(MultipleAccountActivationDetails *) mergeMultipleActivationAcknowledgementResponses:(MultipleAccountActivationDetails *)multipleAccountActivationDetails
:(NSMutableArray<ActivationAcknowledgementResponse*>*)acknowledgementResponses;
@end
Properties
Name
Type
Description
multipleAccountActivationStatusArray
NSMutableArray
This parameter provides the following details:
  • Account or card provisioned on the user's mobile
  • Display name set by the user for the account or card
  • Status of activation for each account (SUCCESS or FAILURE)
  • Reference ID for each account
  • Error code (if any) for each account
errorCode
NSString
errorCode that is returned depending on the scenario in the AccountActivationDetails object is created.
isPINRequired
Boolean
Specifies whether the user PIN is required during activation of the account or card.
If this method returns true, then the app must display a prompt for the user to submit the PIN or biometric.
status
NSString
Specifies whether the status is SUCCESS or FAILURE.
Class MultipleAccountActivationParams
The MultipleAccountActivationParams class contains account activation parameters. An object of this class is passed to the verifyActivation method.
Code Snippet
@interface MultipleAccountActivationParams : NSObject
@property(nonatomic, strong) NSString * activationCode;
@property(nonatomic, strong) NSString * activationRefId;
@property(nonatomic, strong) NSString * displayName;
@property(nonatomic, strong) NSString * pin;
- (id)initWithData :(NSString *)activationCode :(NSString *)activationRefId :(NSString *)displayName :(NSString *)pin;
-(NSMutableDictionary *)createMultipleAccountActivationParamsDict:(NSMutableArray <MultipleAccountActivationParams *>*) multipleAccountActivationParamsArray:(BOOL)isMasterAccountPresent:(NSDictionary *)deviceParamDict;
-(BOOL)areValidActivationParams:(NSMutableArray <MultipleAccountActivationParams *>*) activationParamsArray;
@end
Properties
Name
Type
Description
activationCode
NSString
Activation code that is provided by the user and then validated by the CA Strong Authentication Service before the user account is provisioned on the user's device.
activationRefId
NSString
Reference ID that is mapped to the activation code.
displayName
NSString
Display name that is provided in the request.
pin
NSString
PIN set by the user.
Class MultipleAccountActivationStatus
The MultipleAccountActivationStatus class contains account activation details. An object of this class is sent in the response of the verifyActivation method.
Code Snippet
@interface MultipleAccountActivationStatus: NSObject
@property(nonatomic, strong) NSString * status;
@property(nonatomic, strong) NSString * displayName;
@property(nonatomic, strong) NSString * accountId;
@property(nonatomic, strong) NSString * errorCode;
@property(nonatomic, strong) NSString * referenceId;
- (id)initWithData :(NSString *)status :(NSString *)accountId :(NSString *)referenceId :(NSString *)displayName :(NSString *)errorCode;
@end
Properties
Name
Type
Description
status
NSString
Specifies whether the status is SUCCESS or FAILURE.
displayName
NSString
Display name that is provided in the request.
accountId
NSString
Account ID received by the CA Strong Authentication service.
errorCode
NSString
Error code.
referenceId
NSString
Reference ID.
Class AccountDeletionResponse
The AccountDeletionResponse class contains information about the results of an Account Deletion operation. An object of this class is sent in the response of the deleteAccount method.
Code Snippet
@interface AccountDeletionResponse : NSObject
@property (nonatomic, strong) NSString * status;
@property (nonatomic, strong) NSString * displayName;
@property (nonatomic, strong) NSString * errorCode;
-(id)initWithData: (NSString *)mStatus DisplayName: (NSString *)mDisplayName;
-(id)initWithStatus:(NSString *)aStatus;
-(id)initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
displayName
NSString
Display name set by the user to the account or card on the user's mobile.
errorCode
NSString
errorCode that is returned depending on the scenario in which the AccountDeletionResponse object is created.
status
NSString
Specifies whether the deletion operation was successful or a failure.
Class ActivationAcknowledgementResponse
The ActivationAcknowledgementResponse class contains activation acknowledgement details. An object of this class is sent in the response of the setPin method.
Code Snippet
@interface ActivationAcknowledgementResponse : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * displayName;
@property(retain, nonatomic) NSString * errorCode;
- (id)initWithData:(NSString *)aStatus DisplayName:(NSString *)aDisplayName;
- (id)initWithStatus:(NSString *)aStatus;
- (id)initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
errorCode
NSString
error Code that is returned depending on the scenario in which the ActivationAcknowledgementResponse object is created.
status
NSString
Specifies whether activation was successful or failed.
Class AccountDetails
The AccountDetails contains information about an account. An object of this class is sent in the response of the getAllEnrolledAccounts method.
Code Snippet
@interface AccountDetails : NSObject
@property (nonatomic, strong) NSString * accountId;
@property (nonatomic, strong) NSString * accountType;
@property (nonatomic, strong) NSString * displayName;
- (id) initWithData: (NSString *)mAccountId AccountType: (NSString *) mAccountType DisplayName:(NSString *)mDisplayName;
@end
Properties
Name
Type
Description
accountId
NSString
Account ID of the account or card provisioned on the user's mobile.
accountType
NSString
accountType (for example, Net-Banking or Credit/Debit Card) specified by the CA Strong Authentication Server and saved in the SDK when account provisioned on the user's mobile.
displayName
NSString
Display name set by the user to the account or card provisioned on the user's mobile.
Class OTPResponse
The OTPResponse class contains information about an OTP. An object of this class is sent in the response of the generateOTP method.
Code Snippet
@interface OTPResponse : NSObject
@property(retain, nonatomic) NSString *otp;
@property(retain, nonatomic) NSString *status;
@property(retain, nonatomic) NSString *errorCode;
- (id) initWithData : (NSString *)mOtp status:(NSString *)mStatus;
- (id) initWithStatus : (NSString *)mStatus;
- (id) initWithErrorCode : (NSString *)_errorCode;
@end
Properties
Name
Type
Description
errorCode
NSString
errorCode that is returned depending on the scenario in which the OTPResponse object is created.
otp
NSString
OTP that is generated and returned to the CA Strong Authentication server for validation, for the account or card specified by the user, when the user enters the User PIN.
status
NSString
Success or failure status that is returned in the OTPResponse object.
Class VerifyPinResponse
The VerifyPinResponse class contains information about the results of the Verify PIN operation. An object of this class is sent in the response of the verifyPin method.
Code Snippet
@interface VerifyPINResponse : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
@property(retain, nonatomic) NSString * transactionId;
-(id)initWithData :(NSString *)status
:(NSString *)errorCode;
-(id)initWithStatus:(NSString *)status;
-(id)initWithErrorCode: (NSString *)errorCode;
@end
Properties
Name
Type
Description
errorCode
NSString
errorCode that gets returned depending on the scenario wherein the VerifyPINResponse object gets populated.
status
NSString
Specifies whether the Verify PIN operation is a success or failure.
transactionId
NSString
Transaction ID.
Class ChangePinResponse
The ChangePinResponse class contains information about the results of the Change PIN operation. An object of this class is sent in the response of the changePIN method.
Code Snippet
@interface ChangePINResponse : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
-(id)initWithData :(NSString *)status
:(NSString *)errorCode;
-(id)initWithStatus:(NSString *)status;
-(id)initWithErrorCode: (NSString *)errorCode;
@end
Properties
Name
Type
Description
errorCode
NSString
errorCode that is returned depending on the scenario in which the ChangePINResponse object is created.
status
NSString
Specifies whether the Change PIN operation has succeeded or failed.
Class ProfileInfo
The ProfileInfo class contains information about the device. An object of this class is sent in the response of the getProfileInfo method.
Code Snippet
@interface ProfileInfo : NSObject
@property(retain, nonatomic) NSString * deviceNickName;
@property(retain, nonatomic) NSString * deviceId;
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * errorCode;
-(id)initProfileInfo :(NSString *)deviceNickName
:(NSString *)deviceId;
-(id)initWithErrorCode :(NSString *)_errorCode;
@end
Properties
Name
Type
Description
deviceId
NSString
Unique ID generated and assigned to the user's mobile by the CA Strong Authentication server. The deviceId in conjunction with the deviceNickName is used to uniquely identify the user’s mobile.
deviceNickName
NSString
Device nickname that is set by the user while initializing the app. The deviceNickName in conjunction with the deviceId is used to uniquely identify the user’s mobile.
errorCode
NSString
errorCode that is returned depending on the scenario in which the ProfileInfo object is created.
status
NSString
Specifies whether retrieving ProfileInfo has succeeded or failed.
Class UpdateAuthenticationResponse
The UpdateAuthenticationResponse class contains information about the results of the Update Authentication Type operation. An object of this class is sent in the response of the updateAuthenticationType method.
Code Snippet
@interface UpdateAuthenticationResponse : NSObject
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * error_code;
-(id)initWithData :(NSString *)status
:(NSString *)error_code;
-(id)initWithStatus:(NSString *)status;
@end
Properties
Name
Type
Description
error_code
NSString
errorCode that is returned depending on the scenario in which the UpdateAuthenticationResponse object is populated.
status
NSString
Specifies whether the Update Authentication Type operation has success or failed.
Class UnenrollmentResponse
The UnenrollmentResponse class contains information about the results of unrolled accounts operation. An object of this class is sent in the response of the unenrollAccounts method.
Code Snippet
@interface UnenrollmentResponse : NSObject
@property NSMutableArray *failureStatusArray;
@property NSMutableArray *successStatusArray;
@property(retain, nonatomic) NSString * status;
@property(retain, nonatomic) NSString * accountId;
@property(retain, nonatomic) NSString * errorMessage;
@property(retain, nonatomic) NSString * orgName;
@property(retain, nonatomic) NSString * errorCode;
-(id)initWithAccountId:(NSString*)accountId status:(NSString*)status errorCode:(NSString*)errorCode errorMessage:(NSString*)errorMessage;
-(id)initWithAccountId:(NSString*)accountId orgName:(NSString*)orgName;
-(NSMutableArray <UnenrollmentResponse *>*) populateFailureResponse:(NSMutableDictionary *)failureDict;
-(NSMutableArray <UnenrollmentResponse *>*) populateSuccessResponse:(NSMutableDictionary *)successDict;
-(id)initWithErrorCode :(NSString *)errorCode;
@end
Properties
Name
Type
Description
error_code
NSString
errorCode that is returned depending on the scenario in which the UnenrollmentResponse object is populated.
status
NSString
Specifies whether the Unenrollment Type operation has success or failed.
successStatusArray
NSMutableArray
Contains details of successfully unenrolled accounts. An array of UnenrollmentResponse objects, which contain elements such as, accountId and Orgname.
failureStatusArray
NSMutableArray
Contains details of accounts for which unenrollment failed. An array of UnenrollmentResponse objects, which contain elements such as, accountId, Orgname, errorCode.
countId
NSString
This will be part of successStatusArray or failureStatusArray of UnenrollmentResponse objects, which will have the accountId.
errorMessage
NSString
This will be part of successStatusArray or failureStatusArray of UnenrollmentResponse objects, which will have the errorMessage.
orgName
NSString
This will be part of successStatusArray or failureStatusArray of UnenrollmentResponse objects, which will have this orgName.
Localizing the Biometric Authentication Dialog Text
To localize the text that is displayed on the app for biometric authentication:
  1. Select your project file in Project Navigator, and then select your project in the
    Project and Targets
    list.
  2. Open
    Info
    tab, expand the
    Localizations
    section. Then choose a language you want to support from the dropdown list shown.
  3. To add
    Localizable.strings
    file, navigate to File->New->File, choose
    Strings File
    under
    Resource
    tab of iOS, name it
    Localizable.strings
    and create the file.
For example, to add Localizable.strings for Japanese, click Japanese in the File Inspector. This will create a new Localizable.strings file under the
ja.lproj
folder.
Add the below content in the Localizable.string file:
"FALLBACK_TITLE" = "
<string in Japanese>
";
"BIOMETRIC_DIALOG_TITLE" = "
<string in Japanese>
";
"CANCEL_TITLE" =  "
<
string in Japanese>
";
The following code snippet provides the key and the respective title configured in the Localizable.string file:
AuthenticationHandler *authHandlerobject=[[AuthenticationHandler alloc] init];
[authHandlerobject setBiometricDialogTitle:NSLocalizedString(@"BIOMETRIC_DIALOG_TITLE", @"Biometric dialog title text")];
[authHandlerobject setBiometricFallbackTitle:NSLocalizedString(@"FALLBACK_TITLE", @"Fall back text")];
[authHandlerobject setBiometricCancelTitle:NSLocalizedString(@"CANCEL_TITLE", @"Cancel text")];
The following images show the text that can be localized and the corresponding methods that must be used for the text.
Screenshot_20180628-125457_CA MPN Demo.jpg Screenshot_20180628-125457_CA MPN Demo.jpg