moov-android
The Moov SDK provides tap-to-pay functionality via an Android app
Requirements
Device Support
Android 10.0 (API 29) minimum
Google Play Services v11+
Tooling
AGP version
>=8.6.0Gradle version
>=8.7
App Permissions
android.Manifest.permission.NFC– the SDK uses the NFC feature of the Android device to communicate with the payment card/mobile wallet. Without this permission the Tap on Phone solution will not work.android.Manifest.permission.VIBRATE– the SDK uses the Vibrate feature of the Android device for the required Haptics and to indicate a card has been read.android.permission.INTERNET– the SDK requires access to internet to communicate to backend services – assumption is that all partner applications will be online so it should not be an additional permission for most partners.android.permission.ACCESS_NETWORK_STATE– ensures that the SDK can communicate before attempting a transaction.
Miscellaneous
Applications should prevent the screen from sleeping while waiting to accept a tap.
Device must pass Google Play Strong Integrity Checks
Application registration
Applications utilizing this SDK must be registered via the Moov API. This process enables device integrity checks as well as authorizing specific merchants to utilize the Tap to Pay SDK. The process for application registration is as follows:
Create a
TerminalApplicationviaPOST /terminal-applicationsWait for the application to move to
enabled. This can be detected via theterminalAppRegistration.updatedwebhook and will happen asynchronouslyLink the
TerminalApplicationto a merchant viaPOST /accounts/{accountID}/terminal-applicationsWhen a new version of the application is published to Google Play, register this version via
POST /terminal-applications/{terminalApplicationID}/versions
The terminalConfig value referenced in the examples below is the output of the terminalConfigurations API. This is an opaque string which contains information necessary for the Terminal to operate properly.