Users are facing checkout error - "Something went wrong. Please contact the developer of this application and provide them with this error code: checkout_already_presented"

Hello Support Team,

Our users are facing this issue since 3 days (probably or mostly after updating to iOS/iPad OS 15) and our Square Cocoapods SDK 1.4.9.

Our App ID is: sq0idp-ISpKdUUrjo4U34K7uOYIQQ

Scenario:

User receives this error alert first on their iPad:
Something went wrong: Please contact the developer of this application and provide them with this error code: checkout_already_presented

When user taps on OK button of the above alert, this below alert comes up.
“Failed to Pair”
“An error was detected when connecting to your Square Reader for Contactless and Chip. Please force quit the Square app and go to Settings > Bluetooth on your device…”

Our application L1 support team helped the users to pair the device, deleted and installed Square Point-of-Sale and our app, re-paired the contact less chip and still getting this error.

Please let us know the resolution.

I stitched the images together as new users are allowed to upload only one image.

Thank you!!

There is a known issue with iOS 15 and 1.4.9. You will want to update to the lates version of the SDK to get the fix. :slightly_smiling_face:

Hi Bryan,

I realized we are downloading ReaderSDK installer with the below command.
We are not using 1.4.9 as mentioned in the original question.

#!/bin/bash
#
# Description: Download the latest SquareReaderSDK to current directory

APP_ID="sq0idp-ZcnOBO6O0ih6sjseAMIM0w"
REPO_PWD="<<REDACTED>>"

ruby <(curl https://connect.squareup.com/readersdk-installer) install \
--app-id $APP_ID                           \
--repo-password $REPO_PWD

In the credentials page of the Square Developer dashboard, I see Production API Version is set to 2018-07-12.

My question is… even if API version is set to 2018, would it download latest SDK or the relevant SDK for 2018?

Thank you!

Yes, that is correct. The version in the application on the Developer Dashboard is for API calls and the SDK version is different. Running the command you provided will get you the latest version of the SDK. :slightly_smiling_face:

So, even if we are getting recent SDK, our users are getting the attached error.
Our support people helped our users by uninstalling the Point of Sale app, disconnected the readers and setup everything again.

Can you please let us know why our users are seeing the below error?
The problem is… we are unable to replicate the error when we try on our side.

One of the user getting error “reader_settings_checkout_presented” has these versions:
iOS: 15.0.2
Square: 5.75
CARD READER: Contactless Chip Reader
Model: spc101

This is with the Point of Sale API? Also whats the applicationId and the location_id of the merchant?

Mornign Bryan,

Can you tell me where do I get app id and location_id of the merchant?
Or can I provide their address (redacted) for location_id?
And if app_id is unique for their Square PoS app installation, how do I get it?

Thank you

Actually I have the app_id. If you call ListLocations with their access token and provide one of the location_ids we can track it down from there. Also just to confirm this is with Reader SDK? :slightly_smiling_face:

Hi Bryan,

  1. How do I get the user’s access token?
  2. Our app has both ReaderSDK and PointOfSaleSDK integrated. So, not sure which one is causing this issue as we are unable to replicate the issue on our side.

Thank you.

Your app uses OAuth to connect to merchants accounts right? If so that’s the token to get the location_id Also if you have a payment_id from a payment they took I could track it down.

Do you know which one they are experiencing this on? Is it Reader SDK or Point of Sale API? Both application will need to be using the latest version of the SDK and Square app.

Hello Bryan,

  1. This is happening with ReaderSDK
  2. I found this LocationID on our Developer Dashboard: 87ZNTK6ZDYXYN
  3. Payment ID is not found.

I am new to Square and first time implementing it. Please let me know if I provided wrong info.