Skip to main content

Installation

MPP SDK iOS provides functionality for Apple Pay In-App Provisioning support.

Requirements

Implementing Apple Pay In-App Provisioning requires the following pre-requisites to be met:

  • Signed agreement with Apple.
  • Special Apple Pay In-App Provisioning entitlement distributed to the Team ID by Apple - Enabling app for Apple Pay In-App Provisioning.
  • App Store app Adam ID whitelisted by Apple.
  • Device iOS version must be 11.0 or above.
  • Device must be able to connect to the Internet.
  • Apple Pay might not be supported on Jailbroken devices.

Xcode

It is recommended to use Xcode to develop and build the project.

Adding Framework and Configuration to Xcode Project

info

Nexus Repository credentials have changed when upgrading from Legacy version. Contact MeaWallet for new credentials.

  1. Download mpp-<environment>-<version>.zip.

    Use provided Nexus Repository credentials to sign in:

    • Test: https://nexus.ext.meawallet.com/repository/mpp-ios-group/ios/mpp-test/<version>/mpp-test-<version>.zip
    • Prod: https://nexus.ext.meawallet.com/repository/mpp-ios-group/ios/mpp-prod/<version>/mpp-prod-<version>.zip
  2. Unzip the archive. Archive contains iOS XCFramework - MeaPushProvisioning.xcframework.

  3. Add MeaPushProvisioning.xcframework to Frameworks, Libraries and Embedded Content section of General settings in iOS project target. Set Embed & Sign.

  4. Download mea_config.<issuer>.zip.

  5. Unzip the archive. Archive contains configuration file mea_config.

  6. Add mea_config to iOS App Resources folder and App Target. File must be included in the final app bundle. Framework automatically loads configuration from app bundle during runtime.

Framework (Legacy version 1.1.0 and older)

1. Download mpp-<user>-<environment>-<version>.zip.

2. Unzip the archive and find XCFramework - MeaPushProvisioning.xcframework.

MPP Archive

3. Select Xcode project app target.

Xcode Targets

4. Add MeaPushProvisioning.xcframework to Frameworks, Libraries, and Embedded Content section of General settings for app target.

5. Add Apple PassKit.framework to Frameworks, Libraries, and Embedded Content.

Xcode Linked Frameworks

6. Set ApplePay.entitlements for Code Signing Entitlements in iOS project Build Settings for iOS Device target.

Xcode Code Signing

M1 Support

MPP SDK is supported on Apple M1 and latest Xcode version. In Xcode project Build Settings for iOS Simulator target add arm64 to Excluded Architectures to avoid the following error:

MppTestApp-iphonesimulator/MeaPushProvisioning.framework/MeaPushProvisioning,
missing required architecture arm64 in file /Library/Developer/Xcode/DerivedData/MppTestApp/Build/Products/MppTestApp-iphonesimulator/MeaPushProvisioning.framework/MeaPushProvisioning (2 slices)
Undefined symbols for architecture arm64
...
ld: symbol(s) not found for architecture arm64

Xcode Excluded arm64

Enabling App for Apple Pay In-App Provisioning

Requesting Apple Pay In-App Provisioning Entitlement

Issuers need to apply for Apple Pay In-App Provisioning entitlements to develop and test the complete push provisioning flow.

Getting Started with Apple Pay In-App Provisioning documentation:

Only production Team ID and Adam ID can receive the entitlement and can be whitelisted. To request the entitlement and whitelist for your App(s), please send the following information by email to apple-pay-provisioning@apple.com:

  • Issuer Name and Country Code
  • App Name
  • Team ID (e.g. 1ABCD2FGHI)
  • Adam ID (e.g. 123456789)

Find Team ID on Apple Developer Account Membership website.
Find Adam ID (App Apple ID) on App Store Connect App Information website.

Once Apple Pay In-App Provisioning entitlements have been granted, the distribution entitlement should be included into a Provisioning Profile, and the same Provisioning Profile shoud be used to develop the app in Xcode.
Entitlements drop down will appear for Provisioning Profiles in Apple Developer website.

Apple Developer Provisioning Profiles

Configuring ​Associated Application Identifie​r

PassKit framework can be fully used only if the card profile sent by payment scheme token service (MDES, VTS) are configured with a correct ​Associated Application Identifie​r (​App ID​) value. This allows the issuer application to see and access active payment passes.

info

App ID​ is constructed by combining the ​Team ID​ with the​ ​App Bundle ID​, for example, 1ABCD2FGHI.com.bank.app.

For MDES this value should be set in CIS Interview Preperation Guide​ document provided by the Mastercard. Go to sheet Product Configuration, scroll to row 59 and fill in the appropriate Issuer Response column.

CIS Interview Preperation Guide