Integrate the Square Mobile Payments SDK for Android; Tap to Pay requires a compatible Android phone (not a tablet) running Android 9 or later with NFC capability.
Authorize the SDK with `MobilePaymentsSDK.getInstance().authorize(accessToken, locationID, callback)`, then confirm the SDK is ready before proceeding.
Check available card entry methods using `paymentManager.getAvailableCardEntryMethods()`; `CONTACTLESS` appearing without `EMV` or `SWIPE` indicates no hardware readers are connected and Tap to Pay is available.
Ensure no Square Readers are paired: `ReaderInfo.model == TAP_TO_PAY` for the Tap to Pay device; a paired Square Reader blocks Tap to Pay from appearing.
Use default `PromptParameters` to let Square display its built-in payment UI including Tap to Pay, or set `PromptParameters.mode` to `CUSTOM` and build your own UI gated on the `CONTACTLESS` entry method check.
Handle payment results via the standard `PaymentManager` callback pattern; Tap to Pay is not available for offline payments.
Known gotchas
Tap to Pay on Android requires Android 9 or later and is not available on tablets; confirm NFC hardware is present before exposing Tap to Pay in your UI.
Any paired Square Reader takes priority and suppresses the Tap to Pay option in the default prompt; call forget/disconnect on paired readers before starting a Tap to Pay payment flow.
Production payments require submitting your application signature to Square; Mobile Payments SDK v2.1 and later enforce this requirement.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp