Tap To Mobile

iOS

In order to use Tap To Mobile, you will also need to link against the CloudCommerce.xcframework

When adding the CloudCommerce.xcframework do so from your application target under the general section in “Frameworks Libraries and Embedded Content” and ensure that the Embed drop down is set to “Embed and Sign.”

Additional Permission Requirements

During configuration the Payment Device SDK will perform a suite of security checks, as part of this it will require the integrating application to be granted location permissions. The recommended level of permission is  CLAuthorizationStatus.authorizedWhenInUse.

Apple has extensive documentation on the iOS CLLocationManager available here.

Updating Info.plist

PRODUCT_TEAM_IDENTIFIER

To properly attest the security of the application when using Tap To Mobile the team identifier is required to be added to the application info.plist

Permission usage descriptions

When requesting location permissions iOS will look for the following within the applications info.plist

  • Privacy - NFC Scan Usage Description 
  • Privacy - Location When In Use Usage Description
  • Privacy - Location Always and When In Use Usage Description
Example
KeyTypeValue
PRODUCT_TEAM_IDENTIFIERString<your team identifier>
Privacy - NFC Scan Usage DescriptionStringThis application needs to read NFC card & tags in order to accept payments.
Privacy - Location When In Use Usage DescriptionStringThis application needs to check that you are operating the app from a permitted location.
Privacy - Location Always and When In Use Usage DescriptionStringWe'd like to access your location to store it with each transaction.

Apple Sandbox Account

To develop an application utilizing Apple's Tap to Pay technology, the device must be signed into a developer sandbox account. 

These can easily be created from App Store Connect under “Users And Access > Sandbox”

Entitlements

Apple Tap to Pay requires additional entitlements, which must be requested by the Apple Developer Account Holder. These entitlements are divided into two types:

  1. Developer Entitlements: Enables application development on devices registered under the Apple Developer account.
  2. Publishing Entitlements: Used when the application is ready for release on the Apple App Store.

The form for requesting entitlements can be found here.

Capabilities

Once you’ve received your developer entitlements you’ll need to add the following capabilities to your application’s Identifier:

  • App Attest
  • NFC Tag Reading
  • Tap To Pay on iPhone

Tap To Pay on iPhone will appear once your development entitlements have been approved by Apple at which point it’ll appear under “Additional Capabilities” when configuring your application’s Identifier.

Once the application’s Identifier is configured you must create a new provisioning profile linked to it and link to it in your xCode project.

Within your application’s xCode project you will then need to update your entitlements file with the following:

KeyTypeValue
App Attest EnvironmentStringdevelopement
com.apple.developer.proximity-reader.payment.acceptanceBooleanYES
Near Field Communication Tag Reader Session FormatsArray1 Item
Item 0 (Near Field Communication Tag Reader Session Formats)StringTag-Specific Data Protocol (TAG)
Full details on how to setup and integrate into Tap To Mobile can be found in the Payment Device SDK for iOS Tap To Mobile Supplement provided with the Payment SDK Release