Environment:
-
Mobile Payments SDK version: 2.4.0 (Android)
-
Android API: 34 (targetSdk), compileSdk 35, minSdk 28
-
Device: RK3566 tablet (GMS certified, Google Play Store + Play Services installed)
-
Reader: Square Reader for Contactless & Chip (2nd generation)
-
Reader firmware: 411092
-
App package: com.golfmark.express (production, not sandbox)
-
Application ID: starts with sq0idp- (production credentials)
-
SHA-256 fingerprint: registered in Square Developer Dashboard
Issue:
After pairing a Square Reader via Bluetooth, the SDK’s built-in Settings UI shows:
Reader unavailable
This reader is not supported. Try again with a supported reader.
The reader IS connected — battery level, firmware version, and serial number are all visible. The Bluetooth pairing succeeds, but the SDK rejects the reader as “not supported.”
What works:
-
The official Square POS app on the same tablet pairs with the same reader and processes payments successfully
-
The reader is a 2nd generation Contactless & Chip reader (S222) which is listed as supported
-
SDK authorization succeeds (authorizationState.isAuthorized = true)
-
SDK environment is PRODUCTION (not sandbox)
-
All permissions granted (Bluetooth, Location, Phone State, Microphone)
What I’ve tried:
-
SDK versions 2.3.0 and 2.4.0 — both show the same error
-
Verified SHA-256 fingerprint matches Square Developer Dashboard registration
-
Confirmed production Application ID (sq0idp-…) and production access token
-
Verified device is not rooted (release-keys, verified boot green)
-
Developer Options is disabled
-
Completely uninstalled and reinstalled the app
-
Forgot and re-paired the reader
Timeline:
-
The same APK + reader combination worked on March 6 and successfully charged
-
After flashing the updated GMS firmware and updating Google Play Services, the reader now shows “not supported.”
-
Even reinstalling the previously-working APK now produces the same error
Questions:
-
What does “This reader is not supported” specifically mean in the SDK’s built-in Settings UI? Is this a device compatibility check, reader firmware check, or backend validation?
-
Is there a way to get the exact
ReaderUnavailable.reasoncode behind this message? -
Are there known device attestation / Play Integrity requirements that could cause this on a GMS-certified non-Samsung/Pixel device?
-
Does the reader firmware (411092) need to be updated to work with SDK 2.4.0? If so, how — since the SDK settings screen doesn’t offer an update option?
Any help would be appreciated. The official Square POS app works perfectly on this device, so I believe the hardware is compatible — something in the SDK’s validation is rejecting the reader.