Tap to Pay on mobile
Prepare native iPhone and Android applications for contactless acceptance, including account enablement and platform-specific release requirements.
Enable the payment capability
Enable Tap to Pay for both partner and merchant accounts. Create an API-source security key in the merchant security settings, and choose a stable application identifier shared across platforms. Use the device SDK package for the target platform. device
Prepare an iPhone build
The reviewed NMI guide requires iOS 18.5 or later for its full SDK variant with Tap to Pay; the lite variant does not include this feature. Have the Apple Developer account holder request development and publishing entitlements, identifying NMI as the PSP and the deployment regions. Prepare an Apple sandbox account through App Store Connect. Add App Attest, NFC Tag Reading, and Tap to Pay capabilities to the Xcode project. Regenerate the provisioning profile after enabling capabilities. These prerequisites describe the reviewed SDK generation. Verify the package release notes before changing your deployment target.
Prepare an Android build
The package includes Java and Kotlin demonstrations. The test cloud-commerce-sdk-mtf AAR and production cloud-commerce-sdk AAR use different environments; switching requires reinstalling the app or clearing its storage. Provide the app package name, signing fingerprint, Play Integrity onboarding information, and intended countries for provisioning. Register the mandatory RequestActivityListener for NFC handling. Handle initialization and transaction callbacks before exposing the acceptance screen. Production requires attestation and restrictions on developer options and USB connections.
Exercise the acceptance screen
Gateway Test Mode does not send payments to the processor. The Android Test Card Simulator provides NFC test scenarios. For Tap-to-Pay-only Android transactions, the documented SDK flow automatically confirms the transaction. Recommended product test Expected application behavior Customer cancels Return to a recoverable checkout without marking the order paid. Customer taps twice Keep the existing attempt active rather than starting a second one. App loses foreground focus Restore the payment screen from recorded attempt state. App receives an uncertain result Show that status is being checked and preserve the order reference.
Release the complete experience
Recommended release process: test the signed production-shaped app on the actual device fleet, not only a development handset. Keep a release record of the SDK build, entitlements, enabled countries, and merchant configuration. Separate the app release decision from the merchant decision to turn on live processing. Confirm platform provisioning is approved for the intended distribution channel. Verify the merchant environment and production package configuration together. Disable gateway Test Mode only for the approved live pilot. Validate receipts and order reconciliation before wider rollout.