MeaPushProvisioning
@interface MeaPushProvisioning : NSObject
Provides API for interaction with the MeaPushProvisioning library using class methods.
-
Returns payment app instance id.
Method returns
paymentAppInstanceId
if it exists or generates a new one.Declaration
Objective-C
+ (NSString *_Nonnull)paymentAppInstanceId;
Return Value
Payment app instance id.
-
Loads provided client configuration file.
Declaration
Objective-C
+ (void)loadConfig:(NSString *_Nonnull)configFileName;
Parameters
configFileName
File name of the provided client configuration file.
-
Returns hash of the loaded configuration.
Declaration
Objective-C
+ (NSString *_Nonnull)configurationHash;
Return Value
hash of the loaded configuration or an empty string when configuration is not loaded.
-
Returns version code of the SDK.
Declaration
Objective-C
+ (nonnull NSString *)versionCode;
Return Value
Version code.
-
Returns version name of the SDK.
Example: “mpp-test-1.0.0”
Declaration
Objective-C
+ (nonnull NSString *)versionName;
Return Value
Version name.
-
Switch enable/disable debug logging.
Declaration
Objective-C
+ (void)setDebugLoggingEnabled:(BOOL)enabled;
Parameters
enabled
Enable or disable debug logging.
-
Initiate in-app push provisioning with MppCardDataParameters parameter.
Check if the payment card can be added to Apple Pay by using primaryAccountIdentifier in response.
Declaration
Objective-C
+ (void)initializeOemTokenization: (MppCardDataParameters *_Nonnull)cardDataParameters completionHandler: (nonnull void (^)( MppInitializeOemTokenizationResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
cardDataParameters
Card data parameters as instance of MppCardDataParameters containing the card information.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppInitializeOemTokenizationResponseData
*_Nullable data
-Initialization response data in case of success NSError *_Nullable error
- Error object in case of failure
- MppInitializeOemTokenizationResponseData
-
Complete in-app push provisioning. Exchanges Apple certificates and signature with Issuer Host.
Delegate should implement
PKAddPaymentPassViewControllerDelegate
protocol to call completeOemTokenization:completionHandler: method, once the data is exchangedPKAddPaymentPassRequest
is passed to the handler to add the payment card to Apple Wallet. In the end and delegate method is invoked to inform you if request has succeeded or failed.Declaration
Objective-C
+ (void)completeOemTokenization: (MppCompleteOemTokenizationData *_Nonnull)tokenizationData completionHandler: (nonnull void (^)( MppCompleteOemTokenizationResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
tokenizationData
Card data parameters as instance of MppCardDataParameters containing the card information.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppCompleteOemTokenizationResponseData
*_Nullable data
- Completition response data in case of success NSError *_Nullable error
- Error object in case of failure
- MppCompleteOemTokenizationResponseData
-
Method gets activation data (cryptographic OTP) for the Secure Element pass activation via
activateSecureElementPass:withActivationData:completionHandler:
Declaration
Objective-C
+ (void)getActivationData:(MppCardDataParameters *_Nonnull)cardDataParameters completionHandler: (nonnull void (^)(NSString *_Nullable, NSError *_Nullable))completionHandler;
Parameters
cardDataParameters
Card data parameters as instance of MppCardDataParameters containing the card information.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:NSString *_Nullable activationData
- Activation data string in case of successNSError *_Nullable error
- Error object in case of failure
-
Activates a Secure Element pass using Activation Data.
Declaration
Objective-C
+ (void) activateSecureElementPass:(PKSecureElementPass *_Nonnull)secureElementPass withActivationData:(NSString *_Nonnull)activationData completionHandler: (nonnull void (^)(BOOL, NSError *_Nullable))completionHandler;
Parameters
secureElementPass
The Secure Element pass to activate.
activationData
A cryptographic value that the activation process requires as hex string.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:BOOL success
-true
if the pass activates; otherwise,false
NSError *_Nullable error
- Error object in case of failure
-
Activates a Secure Element pass.
Declaration
Objective-C
+ (void) activateSecureElementPass:(PKSecureElementPass *_Nonnull)secureElementPass withPaymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork completionHandler: (nonnull void (^)(BOOL, NSError *_Nullable))completionHandler;
Parameters
secureElementPass
The Secure Element pass to activate.
paymentNetwork
Paymenent network.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:BOOL success
-true
if the pass activates; otherwise,false
NSError *_Nullable error
- Error object in case of failure
-
Verify if primaryAccountIdentifier can be used to add payment pass to iPhone Wallet and/or Watch.
Declaration
Objective-C
+ (BOOL)canAddSecureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if payment pass can be added with given primaryAccountIdentifier.
-
Verify if primaryAccountNumberSuffix can be used to add payment pass. Check is specific for iPhone Wallet.
Declaration
Objective-C
+ (BOOL)canAddSecureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if payment pass can be added with given primaryAccountNumberSuffix.
-
Verify if payment pass exists with primaryAccountIdentifier. Check is specific for iPhone Wallet.
Declaration
Objective-C
+ (BOOL)secureElementPassExistsWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if payment pass exists with given primaryAccountIdentifier.
-
Verify if remote payment pass exists with primaryAccountIdentifier. Check is specific for Watch. Call when watch is paired.
Declaration
Objective-C
+ (BOOL)remoteSecureElementPassExistsWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if remote payment pass exists with given primaryAccountIdentifier.
-
Verify if payment pass exists with primaryAccountNumberSuffix. Check is specific for iPhone.
Declaration
Objective-C
+ (BOOL)secureElementPassExistsWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if payment pass exists with given primaryAccountNumberSuffix.
-
Verify if remote payment pass exists with primaryAccountNumberSuffix. Check is specific for Watch. Call when watch is paired.
Declaration
Objective-C
+ (BOOL)remoteSecureElementPassExistsWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if remote payment pass exists with given primaryAccountNumberSuffix.
-
Returns secure element pass with primaryAccountIdentifier.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *)secureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if remote secure element can be added with given primaryAccountIdentifier. Returns true if Watch is not paired.
-
Returns secure element pass with primaryAccountNumberSuffix.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *) secureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if payment pass can be added with given primaryAccountNumberSuffix. Returns true if Watch is not paired.
-
Returns secure element pass with primaryAccountIdentifier.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *) remoteSecureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
remote secure element pass.
-
Returns remote secure element pass with primaryAccountNumberSuffix.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *) remoteSecureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
remote secure element pass.
-
Returns secure element pass with serialNumber.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *)secureElementPassWithSerialNumber: (NSString *_Nonnull)serialNumber;
Parameters
serialNumber
Serial number.
Return Value
secure element pass.
-
Returns remote secure element pass with serialNumber.
Declaration
Objective-C
+ (nonnull PKSecureElementPass *)remoteSecureElementPassWithSerialNumber: (NSString *_Nonnull)serialNumber;
Parameters
serialNumber
Serial number.
Return Value
remote secure element pass.
-
Presents a Secure Element pass with Primary Account Identifier.
Declaration
Objective-C
+ (void)presentSecureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
-
Presents a Secure Element pass with PAN Suffix.
Declaration
Objective-C
+ (void)presentSecureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
-
Checks if Watch is paired.
Declaration
Objective-C
+ (void)isWatchPaired:(nonnull void (^)(BOOL))completion;
Parameters
completion
The code block invoked when request is completed. Returns true if Watch is paired.
-
Checks if remote payment pass with primaryAccountIdentifier can be added.
Declaration
Objective-C
+ (BOOL)canAddRemoteSecureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Return Value
Bool value if payment pass can be added with given primaryAccountIdentifier. Returns true if Watch is not paired.
-
Checks if remote payment pass with primaryAccountNumberSuffix can be added.
Declaration
Objective-C
+ (BOOL)canAddRemoteSecureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Return Value
Bool value if payment pass can be added with given primaryAccountNumberSuffix. Returns true if Watch is not paired.
-
Checks if remote payment pass with primaryAccountIdentifier can be added.
Declaration
Objective-C
+ (void)canAddRemoteSecureElementPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier completion: (nonnull void (^)( BOOL))completion;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
completion
The code block invoked when request is completed, with Boolean argument set to true if remote payment pass can be added.
-
Checks if remote payment pass with primaryAccountNumberSuffix can be added.
Declaration
Objective-C
+ (void)canAddRemoteSecureElementPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix completion: (nonnull void (^)( BOOL)) completion;
Parameters
primaryAccountNumberSuffix
PAN suffix.
completion
The code block invoked when request is completed, with Boolean argument set to true if remote payment pass can be added.
-
Passes in the user’s pass library that the app can access.
Declaration
Objective-C
+ (nonnull NSArray<PKPass *> *)passes;
Return Value
Passes in the user’s pass library that the app can access.
-
Secure Element passes that PassKit stores on paired devices that the app can access.
Declaration
Objective-C
+ (nonnull NSArray<PKSecureElementPass *> *)remoteSecureElementPasses;
Return Value
Secure Element passes that PassKit stores on paired devices.
-
Retrieves eligible Token Requestors which support push provisioning for provided card data.
Once list of requestors is received, user has an option to select the one to be used.
Declaration
Objective-C
+ (void)getTokenRequestors:(MppCardDataParameters *_Nonnull)cardDataParameters completionHandler: (nonnull void (^)(MppGetTokenRequestorsResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
cardDataParameters
Card data parameters as instance of MppCardDataParameters containing the card information to be provisioned by the token requestor.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenRequestorsResponseData
*_Nullable data
- Eligible Token Requestors in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenRequestorsResponseData
-
Retrieves eligible Token Requestors which support push provisioning for provided card secrets.
Once list of requestors is received, user has an option to select the one to be used.
Declaration
Objective-C
+ (void)getTokenRequestorsWithSecret:(NSArray *_Nonnull)cards completionHandler: (nonnull void (^)( MppGetTokenRequestorsResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
cards
Array of the card secrets to retrieve the eligible token requestors for.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenRequestorsResponseData
*_Nullable data
- Eligible Token Requestors in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenRequestorsResponseData
-
+getTokenRequestorsWithEncryptedPan:
publicKeyFingerprint: encryptedKey: initialVector: completionHandler: Retrieves eligible Token Requestors which support push provisioning for provided encrypted PAN.
Once list of requestors is received, user has an option to select the one to be used.
Declaration
Objective-C
+ (void)getTokenRequestorsWithEncryptedPan:(NSString *_Nonnull)encryptedData publicKeyFingerprint: (NSString *_Nonnull)publicKeyFingerprint encryptedKey:(NSString *_Nonnull)encryptedKey initialVector:(NSString *_Nonnull)initialVector completionHandler: (nonnull void (^)( MppGetTokenRequestorsResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
encryptedData
Encrypted card data.
publicKeyFingerprint
Public Key Fingerprint. Used to recognise the key to be used for AES key decryption.
encryptedKey
Encrypted AES key used for encrypted card data.
initialVector
Initial Vector used for encrypted card data.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenRequestorsResponseData
*_Nullable data
- Eligible Token Requestors in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenRequestorsResponseData
-
Retrieves eligible Token Requestors which support push provisioning for provided account ranges.
Once list of requestors is received, user has an option to select the one to be used.
Declaration
Objective-C
+ (void)getTokenRequestorsWithAccountRanges:(NSArray *_Nonnull)accountRanges completionHandler: (nonnull void (^)( MppGetTokenRequestorsResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
accountRanges
Array of the starting numbers of the account ranges to retrieve the eligible token requestors for.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenRequestorsResponseData
*_Nullable tokenRequestors
- Eligible Token Requestors in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenRequestorsResponseData
-
Pushes particular card data to a selected Token Requestor.
Token Requestor selection is done from the list of eligible Token Requestors previously returned by getTokenRequestors:completionHandler: method. In response Token Requestor will return a receipt, which needs to be provided to a merchant or any other instance where the card will be digitized in. Receipt can be a deep-link to a bank’s or merchant application, and it can also be a URL to a web page.
Declaration
Objective-C
+ (void) getTokenizationReceipt:(NSString *_Nonnull)tokenRequestorId cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters completionHandler: (nonnull void (^)(MppGetTokenizationReceiptResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
tokenRequestorId
Identifies the Token Requestor, received from getTokenRequestors:completionHandler: method.
cardDataParameters
Card data parameters as instance of MppCardDataParameters containing the card information to be provisioned by the token requestor.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenizationReceiptResponseData
*_Nullable data
- Tokenization receipt data in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenizationReceiptResponseData
-
Pushes particular card data to a selected Token Requestor.
Token Requestor selection is done from the list of eligible Token Requestors previously returned by getTokenRequestors:completionHandler: method. In response Token Requestor will return a receipt, which needs to be provided to a merchant or any other instance where the card will be digitized in. Receipt can be a deep-link to a bank’s or merchant application, and it can also be a URL to a web page.
Declaration
Objective-C
+ (void) getTokenizationReceipt:(NSString *_Nonnull)tokenRequestorId cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters intent:(MppIntent)intent completionHandler: (nonnull void (^)(MppGetTokenizationReceiptResponseData *_Nullable, NSError *_Nullable))completionHandler;
Parameters
tokenRequestorId
Identifies the Token Requestor, received from getTokenRequestors:completionHandler: method.
cardDataParameters
Card data parameters as instance of MppCardDataParameters containing the card information to be provisioned by the token requestor.
intent
Optional, required for VISA. The intent helps VCEH to determine the relevant user experience. PUSH_PROV_MOBILE, PUSH_PROV_ONFILE - Synchronous flow. Enrollment of card credentials is completed as part of the same session on the same device as issuer and TR. PUSH_PROV_CROSS_USER, PUSH_PROV_CROSS_DEVICE - Asynchronous flow.
completionHandler
The code block invoked when request is completed.
Parameters for the
completionHandler
:- MppGetTokenizationReceiptResponseData
*_Nullable data
- Tokenization receipt data in case of success NSError *_Nullable error
- Error object in case of failure
- MppGetTokenizationReceiptResponseData
-
Verify if primaryAccountIdentifier can be used to add payment pass to iPhone Wallet and/or Watch.
Declaration
Objective-C
+ (BOOL)canAddPaymentPassWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if payment pass can be added with given primaryAccountIdentifier.
-
Verify if primaryAccountNumberSuffix can be used to add payment pass. Check is specific for iPhone.
Declaration
Objective-C
+ (BOOL)canAddPaymentPassWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if payment pass can be added with given primaryAccountNumberSuffix.
-
Verify if payment pass exists with primaryAccountIdentifier. Check is specific for iPhone.
Declaration
Objective-C
+ (BOOL)paymentPassExistsWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if payment pass exists with given primaryAccountIdentifier.
-
Verify if remote payment pass exists with primaryAccountIdentifier. Check is specific for Watch. Call when watch is paired.
Declaration
Objective-C
+ (BOOL)remotePaymentPassExistsWithPrimaryAccountIdentifier: (NSString *_Nonnull)primaryAccountIdentifier;
Parameters
primaryAccountIdentifier
Primary account identifier returned by initializeOemTokenization:completionHandler: method in [MppInitializeOemTokenizationResponseData primaryAccountIdentifier] property.
Return Value
Bool value if remote payment pass exists with given primaryAccountIdentifier.
-
Verify if payment pass exists with primaryAccountNumberSuffix. Check is specific for iPhone.
Declaration
Objective-C
+ (BOOL)paymentPassExistsWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if payment pass exists with given primaryAccountNumberSuffix.
-
Verify if remote payment pass exists with primaryAccountNumberSuffix. Check is specific for Watch. Call when watch is paired.
Declaration
Objective-C
+ (BOOL)remotePaymentPassExistsWithPrimaryAccountNumberSuffix: (NSString *_Nonnull)primaryAccountNumberSuffix;
Parameters
primaryAccountNumberSuffix
PAN suffix.
Return Value
Bool value if remote payment pass exists with given primaryAccountNumberSuffix.
-
Undocumented
Declaration
Objective-C
+ (void)setSdkProperties:(NSDictionary *_Nonnull)properties;