MeaPushProvisioning

Objective-C

@interface MeaPushProvisioning : NSObject

Swift

class MeaPushProvisioning : NSObject

Provides API for interaction with the MeaPushProvisioning library using class methods.

  • Undocumented

    Declaration

    Objective-C

    @property (class, readonly) NSString *ClickToPay

    Swift

    class var clickToPay: String { get }

Configuration

  • Returns payment app instance id.

    Method returns paymentAppInstanceId if it exists or generates a new one.

    Declaration

    Objective-C

    + (NSString *_Nonnull)paymentAppInstanceId;

    Swift

    class func paymentAppInstanceId() -> String

    Return Value

    Payment app instance id.

  • Loads provided client configuration file.

    Declaration

    Objective-C

    + (void)loadConfig:(NSString *_Nonnull)configFileName;

    Swift

    class func loadConfig(_ configFileName: String)

    Parameters

    configFileName

    File name of the provided client configuration file.

  • Returns hash of the loaded configuration.

    Declaration

    Objective-C

    + (NSString *_Nonnull)configurationHash;

    Swift

    class func configurationHash() -> String

    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;

    Swift

    class func versionCode() -> String

    Return Value

    Version code.

  • Returns version name of the SDK.

    Example: “mpp-test-1.0.0”

    Declaration

    Objective-C

    + (nonnull NSString *)versionName;

    Swift

    class func versionName() -> String

    Return Value

    Version name.

  • Switch enable/disable debug logging.

    Declaration

    Objective-C

    + (void)setDebugLoggingEnabled:(BOOL)enabled;

    Swift

    class func setDebugLoggingEnabled(_ enabled: Bool)

    Parameters

    enabled

    Enable or disable debug logging.

In-App Provisioning

  • 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;

    Swift

    class func initializeOemTokenization(_ cardDataParameters: MppCardDataParameters) async throws -> MppInitializeOemTokenizationResponseData

    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
  • 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 exchanged PKAddPaymentPassRequest 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;

    Swift

    class func completeOemTokenization(_ tokenizationData: MppCompleteOemTokenizationData) async throws -> MppCompleteOemTokenizationResponseData

    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
  • 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;

    Swift

    class func activationData(_ cardDataParameters: MppCardDataParameters) async throws -> String

    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 success
    • NSError *_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;

    Swift

    class func activate(_ secureElementPass: PKSecureElementPass, withActivationData activationData: String) async throws -> Bool

    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;

    Swift

    class func activate(_ secureElementPass: PKSecureElementPass, withPaymentNetwork paymentNetwork: PKPaymentNetwork) async throws -> Bool

    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;

    Swift

    class func canAddSecureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func canAddSecureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func secureElementPassExists(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func remoteSecureElementPassExists(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func secureElementPassExists(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func remoteSecureElementPassExists(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func secureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> PKSecureElementPass

    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;

    Swift

    class func secureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> PKSecureElementPass

    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;

    Swift

    class func remoteSecureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> PKSecureElementPass

    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;

    Swift

    class func remoteSecureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> PKSecureElementPass

    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;

    Swift

    class func secureElementPass(withSerialNumber serialNumber: String) -> PKSecureElementPass

    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;

    Swift

    class func remoteSecureElementPass(withSerialNumber serialNumber: String) -> PKSecureElementPass

    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;

    Swift

    class func presentSecureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String)

    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;

    Swift

    class func presentSecureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String)

    Parameters

    primaryAccountNumberSuffix

    PAN suffix.

  • Checks if Watch is paired.

    Declaration

    Objective-C

    + (void)isWatchPaired:(nonnull void (^)(BOOL))completion;

    Swift

    class func isWatchPaired() async -> Bool

    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;

    Swift

    class func canAddRemoteSecureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func canAddRemoteSecureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func canAddRemoteSecureElementPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) async -> Bool

    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;

    Swift

    class func canAddRemoteSecureElementPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) async -> Bool

    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;

    Swift

    class func passes() -> [PKPass]

    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;

    Swift

    class func remoteSecureElementPasses() -> [PKSecureElementPass]

    Return Value

    Secure Element passes that PassKit stores on paired devices.

Token Requestor

  • 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)
        getEligibleTokenRequestors:
            (MppCardDataParameters *_Nonnull)cardDataParameters
                 completionHandler:
                     (nonnull void (^)(MppGetTokenRequestorsResponseData *_Nullable,
                                       NSError *_Nullable))completionHandler;

    Swift

    class func eligibleTokenRequestors(_ cardDataParameters: MppCardDataParameters) async throws -> MppGetTokenRequestorsResponseData

    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
  • Retrieves eligible Token Requestors which support push provisioning for provided cards.

    Once list of requestors is received, user has an option to select the one to be used.

    Declaration

    Objective-C

    + (void)getEligibleTokenRequestorsForCards:
                (NSArray<MppCardDataParameters *> *_Nonnull)cards
                             completionHandler:
                                 (nonnull void (^)(
                                     MppGetTokenRequestorsResponseData *_Nullable,
                                     NSError *_Nullable))completionHandler;

    Swift

    class func eligibleTokenRequestors(forCards cards: [MppCardDataParameters]) async throws -> MppGetTokenRequestorsResponseData

    Parameters

    cards

    Array of the cards 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
  • 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)getEligibleTokenRequestorsForAccountRanges:
                (NSArray<NSString *> *_Nonnull)accountRanges
                                     completionHandler:
                                         (nonnull void (^)(
                                             MppGetTokenRequestorsResponseData
                                                 *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func eligibleTokenRequestors(forAccountRanges accountRanges: [String]) async throws -> MppGetTokenRequestorsResponseData

    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
  • Gets static Assets such as: Card art, Mastercard brand logos, Issuers logos. Every Asset in the repository is referenced using an assetId.

    Declaration

    Objective-C

    + (void)getAsset:(NSString *_Nonnull)assetId
        completionHandler:(nonnull void (^)(MppGetAssetResponseData *_Nullable,
                                            NSError *_Nullable))completionHandler;

    Swift

    class func asset(_ assetId: String) async throws -> MppGetAssetResponseData

    Parameters

    assetId

    Asset Id value used to reference an Asset.

    completionHandler

    The code block invoked when request is completed.

  • 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;

    Swift

    class func tokenizationReceipt(_ tokenRequestorId: String, cardDataParameters: MppCardDataParameters) async throws -> MppGetTokenizationReceiptResponseData

    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
  • 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;

    Swift

    class func tokenizationReceipt(_ tokenRequestorId: String, cardDataParameters: MppCardDataParameters, intent: MppIntent) async throws -> MppGetTokenizationReceiptResponseData

    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
  • Checks if specified card is added to selected Token Requestor / Click to Pay.

    Declaration

    Objective-C

    + (void)check:(NSString *_Nullable)tokenRequestorId
        cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
         completionHandler:(nonnull void (^)(MppCheckResponseData *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func check(_ tokenRequestorId: String?, cardDataParameters: MppCardDataParameters) async throws -> MppCheckResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    cardDataParameters

    Card data parameters as instance of MppCardDataParameters containing the card information.

    completionHandler

    The code block invoked when request is completed.

  • Pushes (enroll) specified card to selected Token Requestor / Click to Pay.

    Declaration

    Objective-C

    + (void)push:(NSString *_Nullable)tokenRequestorId
         cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
        consumerInformation:(MppConsumerInformation *_Nonnull)consumerInformation
             billingAddress:(MppBillingAddress *_Nonnull)billingAddress
          completionHandler:(nonnull void (^)(MppPushResponseData *_Nullable,
                                              NSError *_Nullable))completionHandler;

    Swift

    class func push(_ tokenRequestorId: String?, cardDataParameters: MppCardDataParameters, consumerInformation: MppConsumerInformation, billingAddress: MppBillingAddress) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    cardDataParameters

    Card data parameters as instance of MppCardDataParameters containing the card information.

    consumerInformation

    Consumer information.

    billingAddress

    Billing address.

    completionHandler

    The code block invoked when request is completed.

  • Deprecated

    use ‘getConsumerDetails:paymentNetwork:externalConsumerId:externalConsumerId:completionHandler:’ instead.

    Retrieves consumer and cards (payment instrument) information.

    Declaration

    Objective-C

    + (void)getConsumerDetails:(NSString *_Nullable)tokenRequestorId
            externalConsumerId:(NSString *_Nonnull)externalConsumerId
             completionHandler:
                 (nonnull void (^)(MppConsumerDetails *_Nullable,
                                   NSError *_Nullable))completionHandler;

    Swift

    class func consumerDetails(_ tokenRequestorId: String?, externalConsumerId: String) async throws -> MppConsumerDetails

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    externalConsumerId

    External consumer Id.

    completionHandler

    The code block invoked when request is completed. @deprecated Use getConsumerDetails:paymentNetwork:externalConsumerId:externalConsumerId:completionHandler: instead.

  • Retrieves consumer and cards (payment instrument) information.

    Declaration

    Objective-C

    + (void)getConsumerDetails:(NSString *_Nullable)tokenRequestorId
                paymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork
            externalConsumerId:(NSString *_Nonnull)externalConsumerId
             completionHandler:
                 (nonnull void (^)(MppConsumerDetails *_Nullable,
                                   NSError *_Nullable))completionHandler;

    Swift

    class func consumerDetails(_ tokenRequestorId: String?, paymentNetwork: PKPaymentNetwork, externalConsumerId: String) async throws -> MppConsumerDetails

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    paymentNetwork

    Payment Network.

    externalConsumerId

    External consumer Id.

    completionHandler

    The code block invoked when request is completed.

  • Retrieves consumer request status.

    Declaration

    Objective-C

    + (void)getConsumerRequestStatus:(NSString *_Nullable)tokenRequestorId
                      requestTraceId:(NSString *_Nonnull)requestTraceId
                   completionHandler:
                       (nonnull void (^)(MppConsumerRequestStatus *_Nullable,
                                         NSError *_Nullable))completionHandler;

    Swift

    class func consumerRequestStatus(_ tokenRequestorId: String?, requestTraceId: String) async throws -> MppConsumerRequestStatus

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    requestTraceId

    Request trace Id.

    completionHandler

    The code block invoked when request is completed.

  • Deprecated

    Use ‘updateConsumerDetails:paymentNetwork:consumerInformation:completionHandler:’ instead.

    Updates the consumer information such as customer name, email, or phone number. This method is applicable for Enrolled consumers only.

    Declaration

    Objective-C

    + (void)updateConsumerDetails:(NSString *_Nullable)tokenRequestorId
              consumerInformation:
                  (MppConsumerInformation *_Nonnull)consumerInformation
                completionHandler:
                    (nonnull void (^)(MppPushResponseData *_Nullable,
                                      NSError *_Nullable))completionHandler;

    Swift

    class func updateConsumerDetails(_ tokenRequestorId: String?, consumerInformation: MppConsumerInformation) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    consumerInformation

    Consumer information.

    completionHandler

    The code block invoked when request is completed. @deprecated Use updateConsumerDetails:paymentNetwork:consumerInformation:completionHandler: instead.

  • Updates the consumer information such as customer name, email, or phone number. This method is applicable for Enrolled consumers only.

    Declaration

    Objective-C

    + (void)updateConsumerDetails:(NSString *_Nullable)tokenRequestorId
                   paymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork
              consumerInformation:
                  (MppConsumerInformation *_Nonnull)consumerInformation
                completionHandler:
                    (nonnull void (^)(MppPushResponseData *_Nullable,
                                      NSError *_Nullable))completionHandler;

    Swift

    class func updateConsumerDetails(_ tokenRequestorId: String?, paymentNetwork: PKPaymentNetwork, consumerInformation: MppConsumerInformation) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    paymentNetwork

    Payment Network.

    consumerInformation

    Consumer information.

    completionHandler

    The code block invoked when request is completed.

  • Deprecated

    Use ‘deleteConsumer:paymentNetwork:externalConsumerId:completionHandler:’ instead.

    Deletes consumer information and all cards (payment instruments) related to the profile.

    Declaration

    Objective-C

    + (void)deleteConsumer:(NSString *_Nullable)tokenRequestorId
        externalConsumerId:(NSString *_Nonnull)externalConsumerId
         completionHandler:(nonnull void (^)(MppPushResponseData *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func deleteConsumer(_ tokenRequestorId: String?, externalConsumerId: String) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    externalConsumerId

    External consumer Id.

    completionHandler

    The code block invoked when request is completed. @deprecated Use deleteConsumer:paymentNetwork:externalConsumerId:completionHandler: instead.

  • Deletes consumer information and all cards (payment instruments) related to the profile.

    Declaration

    Objective-C

    + (void)deleteConsumer:(NSString *_Nullable)tokenRequestorId
            paymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork
        externalConsumerId:(NSString *_Nonnull)externalConsumerId
         completionHandler:(nonnull void (^)(MppPushResponseData *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func deleteConsumer(_ tokenRequestorId: String?, paymentNetwork: PKPaymentNetwork, externalConsumerId: String) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    paymentNetwork

    Payment Network.

    externalConsumerId

    External consumer Id.

    completionHandler

    The code block invoked when request is completed.

  • Deprecated

    Use ‘updateCardDetails:paymentNetwork:externalConsumerId:cardDataParameters:cardholderName:expiryYear:expiryMonth:billingAddress:externalCardId:completionHandler:’ instead.

    Updates card details.

    Declaration

    Objective-C

    + (void)updateCardDetails:(NSString *_Nullable)tokenRequestorId
           externalConsumerId:(NSString *_Nonnull)externalConsumerId
           cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
               cardholderName:(NSString *_Nonnull)cardholderName
                   expiryYear:(NSString *_Nonnull)expiryYear
                  expiryMonth:(NSString *_Nonnull)expiryMonth
               billingAddress:(MppBillingAddress *_Nonnull)billingAddress
            completionHandler:
                (nonnull void (^)(MppPushResponseData *_Nullable,
                                  NSError *_Nullable))completionHandler;

    Swift

    class func updateCardDetails(_ tokenRequestorId: String?, externalConsumerId: String, cardDataParameters: MppCardDataParameters, cardholderName: String, expiryYear: String, expiryMonth: String, billingAddress: MppBillingAddress) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    externalConsumerId

    External consumer Id.

    cardDataParameters

    Card data object containing the card information.

    cardholderName

    Cardholder name.

    expiryYear

    Expiry year.

    expiryMonth

    Expiry month.

    billingAddress

    Billing address.

    completionHandler

    The code block invoked when request is completed. @deprecated Use updateCardDetails:paymentNetwork:externalConsumerId:cardDataParameters:cardholderName:expiryYear:expiryMonth:billingAddress:externalCardId:completionHandler: instead.

  • Updates card details.

    Declaration

    Objective-C

    + (void)updateCardDetails:(NSString *_Nullable)tokenRequestorId
               paymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork
           externalConsumerId:(NSString *_Nonnull)externalConsumerId
           cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
               cardholderName:(NSString *_Nonnull)cardholderName
                   expiryYear:(NSString *_Nonnull)expiryYear
                  expiryMonth:(NSString *_Nonnull)expiryMonth
               billingAddress:(MppBillingAddress *_Nonnull)billingAddress
               externalCardId:(NSString *_Nullable)externalCardId
            completionHandler:
                (nonnull void (^)(MppPushResponseData *_Nullable,
                                  NSError *_Nullable))completionHandler;

    Swift

    class func updateCardDetails(_ tokenRequestorId: String?, paymentNetwork: PKPaymentNetwork, externalConsumerId: String, cardDataParameters: MppCardDataParameters, cardholderName: String, expiryYear: String, expiryMonth: String, billingAddress: MppBillingAddress, externalCardId: String?) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    paymentNetwork

    Payment Network.

    externalConsumerId

    External consumer Id.

    cardDataParameters

    Card data object containing the card information.

    cardholderName

    Cardholder name.

    expiryYear

    Expiry year.

    expiryMonth

    Expiry month.

    billingAddress

    Billing address.

    externalCardId

    External card id.

    completionHandler

    The code block invoked when request is completed.

  • Deprecated

    Use ‘deleteCard:paymentNetwork:externalConsumerId:cardDataParameters:externalCardId:completionHandler:’ instead.

    Deletes card (payment instrument) information from consumer profile.

    Declaration

    Objective-C

    + (void)deleteCard:(NSString *_Nullable)tokenRequestorId
        externalConsumerId:(NSString *_Nonnull)externalConsumerId
        cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
         completionHandler:(nonnull void (^)(MppPushResponseData *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func deleteCard(_ tokenRequestorId: String?, externalConsumerId: String, cardDataParameters: MppCardDataParameters) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    externalConsumerId

    External consumer Id.

    cardDataParameters

    Card data object containing the card information.

    completionHandler

    The code block invoked when request is completed. @deprecated Use deleteCard:paymentNetwork:externalConsumerId:cardDataParameters:externalCardId:completionHandler: instead.

  • Deletes card (payment instrument) information from consumer profile.

    Declaration

    Objective-C

    + (void)deleteCard:(NSString *_Nullable)tokenRequestorId
            paymentNetwork:(PKPaymentNetwork _Nonnull)paymentNetwork
        externalConsumerId:(NSString *_Nonnull)externalConsumerId
        cardDataParameters:(MppCardDataParameters *_Nonnull)cardDataParameters
            externalCardId:(NSString *_Nullable)externalCardId
         completionHandler:(nonnull void (^)(MppPushResponseData *_Nullable,
                                             NSError *_Nullable))completionHandler;

    Swift

    class func deleteCard(_ tokenRequestorId: String?, paymentNetwork: PKPaymentNetwork, externalConsumerId: String, cardDataParameters: MppCardDataParameters, externalCardId: String?) async throws -> MppPushResponseData

    Parameters

    tokenRequestorId

    MeaPushProvisioning.ClickToPay or eligible Token Requestor Id.

    paymentNetwork

    Payment Network.

    externalConsumerId

    External consumer Id.

    cardDataParameters

    Card data object containing the card information.

    externalCardId

    External card Id.

    completionHandler

    The code block invoked when request is completed.

Deprecated since iOS 13.4

  • Verify if primaryAccountIdentifier can be used to add payment pass to iPhone Wallet and/or Watch.

    Declaration

    Objective-C

    + (BOOL)canAddPaymentPassWithPrimaryAccountIdentifier:
        (NSString *_Nonnull)primaryAccountIdentifier;

    Swift

    class func canAddPaymentPass(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func canAddPaymentPass(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func paymentPassExists(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func remotePaymentPassExists(withPrimaryAccountIdentifier primaryAccountIdentifier: String) -> Bool

    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;

    Swift

    class func paymentPassExists(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func remotePaymentPassExists(withPrimaryAccountNumberSuffix primaryAccountNumberSuffix: String) -> Bool

    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;

    Swift

    class func setSdkProperties(_ properties: [AnyHashable : Any])