Hi Square team,
Since around 2026-10-17 07:16 UTC, card-on-file registration with 3DS has been failing on iOS for most cards that require a challenge. We’d like help finding out why Square rejects these verifications.
Environment
- SquareInAppPaymentsSDK / SquareBuyerVerificationSDK 1.6.7 (latest on CocoaPods)
- react-native-square-in-app-payments 2.1.1
- Production, Japan
- Flow:
startCardEntryFlowto get a nonce, thenstartBuyerVerificationFlowwith buyerActionStore
What happens
startBuyerVerificationFlowreturnsbuyer_verification_unexpected2–6 seconds after it starts. No challenge screen is shown.- Frictionless cards still succeed. Some challenge cards also still succeed, so it depends on the card.
- Android (same application) is not affected.
- We did not change the native part of our iOS app during this period.
Where it fails
In the failing cases, this request returns 400, and the SDK then returns buyer_verification_unexpected:
PUT https://pci-connect.squareup.com/v2/analytics/verifications/{verification_id}/three-ds-authentication
In the successful cases, the same request returns 200 and the SDK continues to the issuer’s challenge (ACS).
We can’t see the 400 response body from the app. Could you check why these verifications were rejected? We can share example verification IDs and timestamps privately with the Square team.
Related observation
At the same time, this request from the bundled Netcetera 3DS SDK started returning 404 on every call:
POST https://api.support-server.prod.netcetera-cloud-payment.ch/sdk-data
- 200 (about 51 KB) until 2026-10-17 05:28 UTC; 404 (19 bytes) on every call since 07:16:41 UTC
- Our first failure happened 3 seconds after the first 404
However, the devices whose challenges still succeed also get 404, so we are not sure the 404 alone is the cause. We also noticed that NetceteraSDK-License-Prod.lic bundled in SquareBuyerVerificationSDK 1.6.7 has valid-until: 2024-08-31.
Questions
- Why does
three-ds-authenticationreturn 400 for these verifications? - Is the
/sdk-data404 related, and is it expected? - Is a fixed iOS SDK or a workaround planned?
Thanks!