TPCSDK
@objcMembers
public final class TPCSDK : NSObject, SdkProtocol
TPCSDK for iOS
-
This is the version of the TPCSDK
Declaration
Swift
public static let tpcsdkVersion: String
-
Reset SDK
Declaration
Swift
public static func reset()
-
Configure SDK with
SdkVariant
and Issuer ID.Note
Using
SdkVariant
and Issuer IDPossible errors:
TPCError.invalidArgument
TPCError.notSupported
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. let tpcVariant = SdkVariant.PROD let tpcIssuerId = "TPC_ISSUER" try? TPCSDK.configure(variant: tpcVariant, issuerId: tpcIssuerId) return true }
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for [customization after application launch. SdkVariant tpcVariant = SdkVariantPROD; NSString * tpcIssuerId = @"TPC_ISSUER"; NSError * error; [TPCSDK configureWithVariant:tpcVariant issuerId:tpcIssuerId error:&error]; return YES; }
Declaration
Swift
@objc public static func configure(variant: SdkVariant, issuerId: String) throws
Parameters
variant
Use SdkVariant.PPROD for Pre-Production server and SdkVariant.PROD for Production server.
issuerId
Issuer ID is provided to you during onboarding process.
-
Configure SDK with Server URL and Issuer ID.
Note
Using Server URL and Issuer ID
Possible errors:
TPCError.invalidArgument
TPCError.notSupported
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. let tpcServerUrl = "https://hapi.dbp.thalescloud.io/mg/tpc" let tpcIssuerId = "TPC_ISSUER" try? TPCSDK.configure(url: tpcServerUrl, issuerId: tpcIssuerId) return true }
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for [customization after application launch. NSString * tpcServerUrl = @"https://hapi.dbp.thalescloud.io/mg/tpc"; NSString * tpcIssuerId = @"TPC_ISSUER"; NSError * error; [TPCSDK configureWithUrl:tpcServerUrl issuerId:tpcIssuerId error:&error]; return YES; }
Declaration
Swift
@objc public static func configure(url: String, issuerId: String) throws
Parameters
url
Provide server URL without trailing slash (example: https://hapi.dbp.thalescloud.io).
issuerId
Issuer ID is provided to you during onboarding process.
-
Get card digitization status for local and remote device.
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
Note
Using
FundingCard
object initialized with Card’s Scheme and Encrypted PayloadNote
For AMEX and DISCOVER, it is mandatory to provide
scheme
andprimaryAccountNumberSuffix
.TPCSDK.getCardDigitizationResult(card: card) { (primaryAccountIdentifier, digitizeDetails, error) in }
[TPCSDK getCardDigitizationResultWithCard:card primaryAccountIdentifier:NULL completion:^(NSString * _Nullable primaryAccountIdentifier, CardDigitizationResult * _Nullable digitizeDetails, NSError * _Nullable error) { }];
Note
UsingFundingCard
object initialized with Primary Account IdentifierTPCSDK.getCardDigitizationResult(card: card) { (primaryAccountIdentifier, digitizeDetails, error) in }
[TPCSDK getCardDigitizationResultWithCard:card primaryAccountIdentifier:NULL completion:^(NSString * _Nullable primaryAccountIdentifier, CardDigitizationResult * _Nullable digitizeDetails, NSError * _Nullable error) { }];
Note
Using Primary Account IdentifierTPCSDK.getCardDigitizationResult(primaryAccountIdentifier: cardIdentifier) { (primaryAccountIdentifier, digitizeDetails, error) in }
[TPCSDK getCardDigitizationResultWithCard:NULL primaryAccountIdentifier:cardIdentifier completion:^(NSString * _Nullable primaryAccountIdentifier, CardDigitizationResult * _Nullable digitizeResult, NSError * _Nullable error) { }];
Declaration
Swift
public static func getCardDigitizationResult(card: FundingCard? = nil, primaryAccountIdentifier: String? = nil, primaryAccountNumberSuffix: String? = nil, completion: @escaping (_ primaryAccountIdentifier: String?, _ digitizeDetails: CardDigitizationResult?, _ error: Error?) -> Void)
Parameters
card
FundingCard
object initialized with Card’s Scheme and Encrypted Payload, orFundingCard
object initialized with Primary Account IdentifierprimaryAccountIdentifier
Primary Account Identifier of the payment card
primaryAccountNumberSuffix
The last four or five digits of the card’s number. This field is only used for AMEX/DISCOVER schemes and supported only on iOS 13.4 and above.
completion
The callback invoked when the operation is completed. When it succeeds, it returns digitizeDetails - See
CardDigitizationResult
and possible primaryAccountIdentifier. Otherwise, it returns error details. -
Get token for local and remote device.
- Possible errors:
TPCError.deviceEnvironmentUnsafe
TPCError.notSupported
Since
2.1.0
Note
Using
GetTokenInput
object initialized with last 4 digits of PANTPCSDK.getToken(input: tokenInput) { (localPass, remotePass, error) in }
[TPCSDK getTokenWithInput:tokenInput completion:^(PKPass *_Nullable localPass, PKPass *_Nullable remotePass, NSError *_Nullable error) { }];
Declaration
Swift
public static func getToken(input: GetTokenInput, completion: @escaping (_ localPass: PKPass?, _ remotePass: PKPass?, _ error: Error?) -> Void)
Parameters
input
See
GetTokenInput
completion
The callback invoked when the operation is completed. When it succeeds, it returns a local and remote
PKPass
. Otherwise, it returns error details. -
Warning
This API is deprecated as it does not provide information about pending activation and Apple Watch status. Please use getCardDigitizationResult API instead.Check card digitization status with
FundingCard
or Primary Account Identifier.- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
Important
Display Add to Apple Wallet button if digitizeResult is
IsCardDigitizedResult.CardNotDigitized
.See also
TPCSDK.getCardDigitizationResult(card:completion:)
for details of card digitization result on current device or an attached device.Note
Using
FundingCard
object initialized with Card’s Scheme and Encrypted PayloadNote
For AMEX and DISCOVER, it is mandatory to provide
scheme
andprimaryAccountNumberSuffix
.TPCSDK.isCardDigitized(card: card) { (primaryAccountIdentifier, digitizeResult, error) in switch digitizeResult { case .CardNotDigitized: // TODO: Display Add to Apple Wallet button break default: break } }
[TPCSDK isCardDigitizedWithCard:card primaryAccountIdentifier:NULL completion:^(NSString * _Nullable primaryAccountIdentifier, enum IsCardDigitizedResult digitizeResult, NSError * _Nullable error) { switch(digitizeResult) { case IsCardDigitizedResultCardNotDigitized: // TODO: Display Add to Apple Wallet button break; default: break; } }];
Note
UsingFundingCard
object initialized with Primary Account IdentifierTPCSDK.isCardDigitized(card: card) { (primaryAccountIdentifier, digitizeResult, error) in switch digitizeResult { case .CardNotDigitized: // TODO: Display Add to Apple Wallet button break default: break } }
[TPCSDK isCardDigitizedWithCard:card primaryAccountIdentifier:NULL completion:^(NSString * _Nullable primaryAccountIdentifier, enum IsCardDigitizedResult digitizeResult, NSError * _Nullable error) { switch(digitizeResult) { case IsCardDigitizedResultCardNotDigitized: // TODO: Display Add to Apple Wallet button break; default: break; } }];
Note
Using Primary Account IdentifierTPCSDK.isCardDigitized(primaryAccountIdentifier: cardIdentifier) { (digitizeResult, error) in switch digitizeResult { case .CardNotDigitized: // TODO: Display Add to Apple Wallet button break default: // TODO: Hide Add to Apple Wallet button break } }
[TPCSDK isCardDigitizedWithCard:NULL primaryAccountIdentifier:cardIdentifier completion:^(NSString * _Nullable primaryAccountIdentifier, enum IsCardDigitizedResult digitizeResult, NSError * _Nullable error) { switch(digitizeResult) { case IsCardDigitizedResultCardNotDigitized: // TODO: Display Add to Apple Wallet button break; default: // TODO: Hide Add to Apple Wallet button break; } }];
Declaration
Swift
@available(*, deprecated, message: "This API is deprecated as it does not provide information about pending activation and Apple Watch status. Please use getCardDigitizationResult API instead.") public static func isCardDigitized(card: FundingCard? = nil, primaryAccountIdentifier: String? = nil, primaryAccountNumberSuffix: String? = nil, completion: @escaping (_ primaryAccountIdentifier: String?, _ digitizeResult: IsCardDigitizedResult, _ error: Error?) -> Void)
Parameters
card
FundingCard
object initialized with Card’s Scheme and Encrypted Payload, orFundingCard
object initialized with Primary Account IdentifierprimaryAccountIdentifier
Primary Account Identifier of the payment card
primaryAccountNumberSuffix
The last four or five digits of the card’s number. This field is only used for AMEX/DISCOVER schemes and supported only on iOS 13.4 and above.
completion
The callback invoked when the operation is completed. When it succeeds, it returns digitizeResult - See
IsCardDigitizedResult
and possible primaryAccountIdentifier. Otherwise, it returns error details. -
provision(fromController:
primaryAccountSuffix: cardholderName: scheme: encryptedPayload: authorizationCode: provisionDelegate: ) Displays an interface that lets users add cards to Apple Pay from within your app.
TPCSDK.provision(fromController: self, primaryAccountSuffix: "1234", cardholderName: "John Doe", scheme: CardScheme.Mastercard, encryptedPayload: "PKCS7 encrypted PAN", authorizationCode: "code", provisionDelegate: self)
[TPCSDK provisionFromController:self primaryAccountSuffix:@"1234" cardholderName:@"John Doe" scheme:CardSchemeMastercard encryptedPayload:@"PKCS7 encrypted PAN" authorizationCode:@"code" provisionDelegate:self];
Declaration
Swift
public static func provision(fromController controller: UIViewController, primaryAccountSuffix: String, cardholderName: String?, scheme: CardScheme, encryptedPayload: String, authorizationCode: String, provisionDelegate: TPCSDKProvisionDelegate? = nil)
Parameters
fromController
The calling UIViewController
primaryAccountSuffix
The Funding PAN suffix to be displayed is defined within the
primaryAccountSuffix
key. This value should be 4 digits and will have dots prepended to indicate that it is a suffix.cardholderName
The name of the person as shown on the card
scheme
See
CardScheme
encryptedPayload
Card information encrypted in PKCS7
authorizationCode
Authorization code
provisionDelegate
-
provision(fromController:
primaryAccountSuffix: cardholderName: schemeString: encryptedPayload: authorizationCode: productId: primaryAccountIdentifier: provisionDelegate: ) Displays an interface that lets users add cards to Apple Pay from within your app.
Note
In case of Amex or Discover scheme, the SDK can not retrieve
primaryAccountIdentifier
from the server. You need to use thegetCardDigitizationResult
API to obtain aCardDigitizationResult
object. If either thelocalPKPass
orremotePKPass
properties of theCardDigitizationResult
object are not nil, then access theprimaryAccountIdentifier
property of thePKSecureElementPass
object. Pass the retrievedprimaryAccountIdentifier
to the provision API.TPCSDK.provision(fromController: self, primaryAccountSuffix: "1234", cardholderName: "John Doe", schemeString: "MASTERCARD", encryptedPayload: "PKCS7 encrypted PAN", authorizationCode: "code", productId: "productId", primaryAccountIdentifier: "primaryAccountIdentifier", provisionDelegate: self)
[TPCSDK provisionFromController:self primaryAccountSuffix:@"1234" cardholderName:@"John Doe" schemeString:@"MASTERCARD" encryptedPayload:@"PKCS7 encrypted PAN" authorizationCode:@"code" productId:@"productId" primaryAccountIdentifier:@"primaryAccountIdentifier" provisionDelegate:self];
Declaration
Swift
public static func provision(fromController controller: UIViewController, primaryAccountSuffix: String, cardholderName: String?, schemeString: String, encryptedPayload: String, authorizationCode: String, productId: String? = nil, primaryAccountIdentifier: String? = nil, provisionDelegate: TPCSDKProvisionDelegate? = nil)
Parameters
fromController
The calling UIViewController
primaryAccountSuffix
The Funding PAN suffix to be displayed is defined within the
primaryAccountSuffix
key. This value should be 4 digits and will have dots prepended to indicate that it is a suffix.cardholderName
The name of the person as shown on the card
schemeString
Card’s scheme. Could be
VISA
,MASTERCARD
or others. NOTE: It has to be UPPERCASE stringencryptedPayload
Card information encrypted in PKCS7
authorizationCode
Authorization code
productId
Unique identifier of the card product. This data can be retrieved from Bank’s Card Management System. It is only applicable for domestic schemes. Maximum length is 32 characters.
primaryAccountIdentifier
An FPANID for the card. If this parameter is not provided, the SDK will automatically retrieve it from the server for non-Amex/non-Discover schemes. For Amex/Discover schemes, please refer to the
Note
section for additional instructions.provisionDelegate
-
Get pending activation payment pass from local and remote device
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
Note
Using
FundingCard
object initialized with Card’s Scheme and Encrypted PayloadTPCSDK.getPendingActivationPass(card: card) { (pendingActivationPass, error) in }
[TPCSDK getPendingActivationPassWithCard:card completion:^(PendingActivationPass * _Nullable pendingActivationPass, NSError * _Nullable error) { }];
Declaration
Swift
public static func getPendingActivationPass(card: FundingCard, completion: @escaping (_ pendingActivationPass: PendingActivationPass?, _ error: Error?) -> Void)
Parameters
card
See
FundingCard
. UsingFundingCard
object initialized with Card’s Scheme and Encrypted Payload.completion
The callback invoked when the operation is completed. When it succeeds, it returns pendingActivationPass - See
PendingActivationPass
. Otherwise, it returns error details. -
Activate payment pass
- Possible errors: This method returns two possible types of errors: TPCError, which is returned from the SDK, and Error, which is returned directly from Apple’s PKPassLibrary.activate.
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
Error
Returns directly fromPKPassLibrary.activate
Note
Use PKPass from
TPCSDK.getPendingActivationPass
andFundingCard
object initialized with Card’s Scheme and Encrypted Payload. Authorization code and nonce must be provided.TPCSDK.activatePass(pass: localPass, card: card, authorizationCode: authorizationCode, nonce: nonce) { (success, error) in }
[TPCSDK activatePassWithPass:pass card:card authorizationCode:code nonce:nonce completion:^(BOOL success, NSError * _Nullable error) { }];
Declaration
Swift
public static func activatePass(pass: PKPass, card: FundingCard, authorizationCode: String, nonce: String?, completion: @escaping (_ success: Bool, _ error: Error?) -> Void)
Parameters
pass
See
PassKit.PKPass
card
See
FundingCard
authorizationCode
Authorization code
nonce
Nonce
completion
The callback invoked when the operation is completed. When it succeeds, the success value is
true
. Otherwise, it returns error details.
-
Get Payment Passes from PKPassLibrary
Declaration
Swift
public static func getPaymentPasses(completion: @escaping (_ paymentPasses: [PKPass]?, _ remotePaymentPasses: [PKPaymentPass]?) -> Void)
-
Get the list of tokens for the given card
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getTokens(card: card) { (tokenList, error) in }
[TPCSDK getTokensWithCard:card completion:^(NSArray<Token *> * _Nullable tokenList, NSError * error) { }];
Declaration
Swift
public static func getTokens(card: FundingCard, completion: @escaping (_ tokenList: [Token]?, _ error: Error?) -> Void)
Parameters
card
See
FundingCard
. UsingFundingCard
object initialized with Card’s Scheme and Encrypted Payloadcompletion
The callback invoked when the operation is completed. When it succeeds, it returns Token list. Otherwise, it returns error details.
-
Get asset for the given token requestor asset ID
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getTokenRequestorAsset(assetId: tokenRequestorId) { (tokenRequestorAsset, error) in }
[TPCSDK getTokenRequestorAssetWithAssetId:id completion:^(NSArray<TokenRequestorAsset *> * _Nullable tokenRequestorAsset, NSError * error) { }];
Declaration
Swift
public static func getTokenRequestorAsset(assetId: String, completion: @escaping (_ tokenRequestorAsset: [TokenRequestorAsset]?, _ error: Error?) -> Void)
Parameters
assetId
See
Token.TokenRequestor.id
completion
The callback invoked when the operation is completed. When it succeeds, it returns Token Requestor asset. Otherwise, it returns error details.
-
Update token state
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.updateTokenState(tokenId: tokenId, tokenRequestorId: tokenRequestorId, scheme: scheme authorizationCode: authorizationCode, action: .Suspend) { (success, error) in }
[TPCSDK updateTokenStateWithTokenId:tokenId tokenRequestorId:tokenRequestorId scheme:scheme authorizationCode:code action:state completion:^(BOOL success, NSError * error) { }];
Declaration
Swift
public static func updateTokenState(tokenId: String, tokenRequestorId: String, scheme: CardScheme, authorizationCode: String, action: TokenState, completion: @escaping (_ success: Bool, _ error: Error?) -> Void)
Parameters
tokenId
See
Token.id
tokenRequestorId
Unique identifier of the token requestor allocated by the TSP Scheme. It shall be provided for VISA scheme.
scheme
See
CardScheme
authorizationCode
Authorization code provided by issuer.
action
See
TokenState
completion
The callback invoked when the operation is completed. When it succeeds, the success value is
true
. Otherwise, it returns error details and the success value isfalse
. -
Update token state
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.updateTokenState(tokenId: tokenId, tokenRequestorId: tokenRequestorId, schemeString: scheme authorizationCode: authorizationCode, action: .Suspend) { (success, error) in }
[TPCSDK updateTokenStateWithTokenId:tokenId tokenRequestorId:tokenRequestorId schemeString:scheme authorizationCode:code action:state completion:^(BOOL success, error) { }];
Declaration
Swift
public static func updateTokenState(tokenId: String, tokenRequestorId: String, schemeString: String, authorizationCode: String, action: TokenState, completion: @escaping (_ success: Bool, _ error: Error?) -> Void)
Parameters
tokenId
See
Token.id
tokenRequestorId
Unique identifier of the token requestor allocated by the TSP Scheme. It shall be provided for VISA scheme.
schemeString
Card’s scheme. Could be
VISA
,MASTERCARD
or others.authorizationCode
Authorization code provided by issuer.
action
See
TokenState
completion
The callback invoked when the operation is completed. When it succeeds, the success value is
true
. Otherwise, it returns error details and the success value isfalse
.
-
Get cards
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getCards(userId: userId, authorizationCode: authorizationCode, kyc: kyc) { (cards, error) in }
[TPCSDK getCardsWithUserId:userId authorizationCode:code kyc:kyc completion:^(NSArray<CardList *> * _Nullable cardList, NSError * _Nullable error) { }];
Declaration
Swift
public static func getCards(userId: String, authorizationCode: String, kyc: String, completion: @escaping (_ cards: [CardList]?, _ error: Error?) -> Void)
Parameters
userId
User ID
authorizationCode
Authorization code
kyc
KYC
completion
The callback invoked when the operation is completed. When it succeeds, it returns the card list - See
CardList
. Otherwise, it returns error details. -
Get asset for the given card
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getCardAsset(cardId: cardId, kyc: kyc, size: .S) { (cardAsset, error) in }
[TPCSDK getCardAssetWithCardId:cardId kyc:kyc size:size completion:^(CardAsset * _Nullable cardAsset, NSError * _Nullable error) { }];
Declaration
Swift
public static func getCardAsset(cardId: String, kyc: String, size: CardAssetSize, completion: @escaping (_ cardAsset: CardAsset?, _ error: Error?) -> Void)
Parameters
cardId
Card ID
kyc
KYC
size
See
CardAssetSize
cardAsset
See
CardAsset
completion
The callback invoked when the operation is completed. When it succeeds, it returns the card asset - See
CardAsset
. Otherwise, it returns error details. -
Request encrypted payload for a given funding card
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getPayload(authorizationCode: code, cardId: cardId, kyc: kyc) { (payload, error) in }
[TPCSDK getPayloadWithAuthorizationCode:code cardId:cardId kyc:kyc completion:^(NSString * _Nullable encryptedPayload, NSError * _Nullable error) { }];
Declaration
Swift
public static func getPayload(authorizationCode: String, cardId: String, kyc: String, completion: @escaping (_ payload: String?, _ error: Error?) -> Void)
Parameters
authorizationCode
Authorization code
cardId
Card ID
kyc
KYC
payload
Card information encrypted in PKCS7
completion
The callback invoked when the operation is completed. When it succeeds, it returns the payload - the Card information encrypted in PKCS7. Otherwise, it returns error details.
-
Request encrypted payload for a given funding card
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.getEligibleTokenRequestor(card: card, publicKeyIdentifier: publicKeyId) { (TokenRequestorList, error) in }
[TPCSDK getEligibleTokenRequestorWithCard:card publicKeyIdentifier:publicKeyId completion:^(NSArray<TokenRequestor *> * _Nullable tokenRequestorList, NSError * _Nullable error) { }];
Declaration
Swift
public static func getEligibleTokenRequestor(card: FundingCard, publicKeyIdentifier: String? = nil, completion: @escaping (_ tokenRequestorList: [TokenRequestor]?, _ error: Error?) -> Void)
Parameters
card
FundingCard
object initialized with Card’s Scheme and Encrypted PayloadpublicKeyIdentifier
Identifier of the key used to encrypt payload
completion
The callback invoked when the operation is completed. When it succeeds, it returns the list of tokenRequestors - See
TokenRequestor
. Otherwise, it returns error details. -
schemePushProvision(card:
publicKeyIdentifier: authorizationCode: termsAndConditionsAccepted: callbackUrl: callbackType: pushHandler: completion: ) Initiate push provision to scheme
- Possible errors:
TPCError.notConfigured
TPCError.invalidArgument
TPCError.invalidFormat
TPCError.serverError
TPCSDK.schemePushProvision(card: card, publicKeyIdentifier: publicKeyId, authorizationCode: code, termsAndConditionsAccepted: true, callbackUrl: callbackUrl, callbackType: callbackType, pushHandler: pushHandler) { (pushUrl, error) in }
[TPCSDK schemePushProvisionWithCard:card publicKeyIdentifier:publicKeyId authorizationCode:code termsAndConditionsAccepted:TRUE callbackUrl:callbackUrl callbackType:callbackType pushHandler:pushHandler completion:^(NSString * _Nullable pushUrl, NSError * _Nullable error) { }];
Declaration
Swift
public static func schemePushProvision(card: FundingCard, publicKeyIdentifier: String? = nil, authorizationCode: String, termsAndConditionsAccepted: Bool, callbackUrl: String, callbackType: String, pushHandler: String, completion: @escaping (_ pushUrl: String?, _ error: Error?) -> Void)
Parameters
card
FundingCard
object initialized with Card’s Scheme and Encrypted PayloadpublicKeyIdentifier
Identifier of the key used to encrypt payload
authorizationCode
Authorization code
termsAndConditionsAccepted
Terms and conditions accepted by user
callbackUrl
URL used by the token requestor to pass control back to issuer application
callbackType
ANDROID, IOS, or WEB
pushHandler
Token requestor push handler
completion
The callback invoked when the operation is completed. When it succeeds, it returns the pushUrl - a token requestor URL used for redirection. Otherwise, it returns error details.