top of page

Set up Tap to Pay on iPhone

Choose the right SDK flavour, configure Apple entitlements and prepare an iPhone build before requesting a payment.

Choose the Full SDK

For release 4.1.1 onward, Tap to Pay requires the Full SDK in SDK/full, iOS 18.5 or later, and Xcode 16.4 or later. Lite supports iOS 17.4 but excludes Tap to Pay. Do not use the older general device minimum as the Tap to Pay minimum.

Prepare Apple signing

Use an organization Apple Developer account. The Account Holder requests development entitlements and identifies NMI as the PSP. Sign the development device into an Apple sandbox account. Add App Attest, NFC Tag Reading and Tap to Pay capabilities, then regenerate the provisioning profile. Setting Value or purpose App Attest Environment development for the development entitlement com.apple.developer.proximity-reader.payment.acceptance Boolean YES PRODUCT_TEAM_IDENTIFIER Your Apple team identifier in Info.plist NFC and location usage descriptions Explain requested access in Info.plist

Link the package

Link libChipDNAMobileAPI.a and the supplied SQLCipher library. Add CloudCommerce.xcframework with Embed and Sign. Use the release bundle for the remaining Apple framework dependencies. Request location access before configuration. Tap to Pay requires network access and is not an offline fallback.

Wait for readiness

The first connection registers the install with the gateway. A reinstall can create a new POS registration. Register configuration callbacks before connecting: configurationUpdate reports progress, connectAndConfigureFinished reports readiness or errors, and deviceUpdate reports connection changes. Do not enable Pay solely because the initial method call returned.

Select the payment interaction

Configure TapToMobilePOI for Tap to Pay. When both phone and external reader are configured, explicitly select TransactionPOI for the phone because the physical device is preferred by default. Tap to Pay uses an online auto-confirmed sale. Refund or AccountVerification as startTransaction types, delayed processing, keyed entry and AutoConfirm FALSE are unsupported. Enabled tipping uses TipAmount, not on-device tipping modes. The generic SDK transaction flow discusses manual confirmation. The Tap to Pay-specific Start Transaction page defines the auto-confirmed exception; do not issue a second confirmation for an already committed sale.

Keep the application identifier stable

The overview calls for one alphanumeric identifier shared across platforms and says it cannot change after registration. The iOS archive includes Objective-C and Swift sample projects. Use those release-matched projects to confirm integration details; the generic flow’s Uncommitted/Committed states do not override the phone’s auto-confirmed-sale restrictions.

Join the community and get the latest biz news & tips

Thanks for submitting!

© 2025 Betterpay. All Rights Reserved.

bottom of page