Request the Apple Tap to Pay on iPhone entitlement for your Apple developer account (requires organization-level account; logged in as account holder); apply separately for sandbox and production.
Install the Square Mobile Payments SDK via Swift Package Manager; set your Xcode deployment target to iOS 16 or later; the device must be iPhone XS or newer running iOS 16.7 or later.
Authorize the SDK with `MobilePaymentsSDK.shared.authorize(accessToken:locationID:)` and call `ReaderManager.TapToPaySettings.linkAppleAccount()` to link the seller's Apple ID; this must happen before the first payment.
Check `ReaderManager.TapToPaySettings.isDeviceCapable()` to confirm device support; ensure no Square Reader hardware is paired, as a paired reader takes priority over Tap to Pay.
Use `PromptParameters` with `.tapToPay` or `.all` to present the Tap to Pay payment prompt, then run the standard `PaymentManager.startPayment` flow.
Use `ReaderManager.TapToPaySettings.relinkAppleAccount()` if the seller needs to change the linked Apple ID, and `isAppleAccountLinked` to check current link state.
Known gotchas
Square Tap to Pay on iPhone requires iOS 16.7 or later; this is Square's own requirement and is distinct from Stripe's iOS 16.0 floor — never cross-apply version floors between vendors.
If a Square Reader is paired to the device, Tap to Pay will not appear as a payment option; you must explicitly unpair or forget hardware readers before presenting a Tap to Pay prompt.
The Tap to Pay entitlement must be obtained before testing in sandbox; linking a seller Apple ID is required even in test environments.
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