If Access code is set on the card, all commands, including Scan Card, will require to sumbit this code. So if the Access code is lost, there is no way to recover the data or even retrieve the public key. Access codes may be enabled or disabled during card configuration at the factory. Also, it’s possible to prohibit removing the access code from the card once it’s set.
Access code can consist of letters, digits or special symbols and can be any length.
Access code can be set only if card.settings.isSettingAccessCodeAllowedistrue.
Request
accessCode<String> [optional]
Access code to set. If empty, user will be prompted to enter code before operation.
cardId <String>
CID, Unique Tangem card ID number.
initialMessage<Message> [optional]
This message will be shown in the NFC session dialog.
Default: "Tap the card to your phone exactly as it shown above".
Response
This command will return the SuccessResponse(click to see more) object in response.
Example
let accessCode ="123456"//This parameter can be omitted. Tangem sdk will request the code from the user automaticallylet cardId = card.cardIdtangemSdk.setAccessCode(accessCode, cardId: cardId) { result inswitch result {case .success:print("The access code was set")case .failure(let error):print(error) }}
val accessCode ="123456"//This parameter can be omitted. Tangem sdk will request the code from the user automaticallyval cardId = card.cardIdtangemSdk.setAccessCode( accessCode = accessCode, cardId = cardId) { result ->when (result) {is CompletionResult.Success -> {runOnUiThread { Log.d(TAG, "The access code was set") } }is CompletionResult.Failure -> {runOnUiThread { Log.d(TAG, result.error) } } }}
String accessCode ="1234qwerty"; // if omitted, the user will be prompted by TangemSDK to enter itString cardId =card.getCardId();tangemSdk.setAccessCode(accessCode, cardId,null, result -> {if (result instanceofCompletionResult.Success) {SuccessResponse response = ((CompletionResult.Success<SuccessResponse>) result).getData();Log.d(TAG,"The access code was set"); } elseif (result instanceofCompletionResult.Failure) {TangemError error = ((CompletionResult.Failure<SuccessResponse>) result).getError();Log.d(TAG,error.getCustomMessage()); }returnUnit.INSTANCE;});