Square POS api in web app for android is sending "transaction canceled" every time

I have been using my web app for a few months and everything was working as expected for ios and android.

I don’t believe we have made any changes, but out of nowhere when we go through the android flow, here’s what happens:

Customer fills out info
customer presses “pay” in our app.
App opens the square app using the deep link for android
The correct amount shows up to pay on the screen
Customer taps “cash”
Transaction shows as completed within square
Customer declines receipt
Customer taps “new sale” to send us back to the app

Past behavior:
Callback would open the app in a browser and the transaction functions would run like nromal to complete the transaction within the app.

Current behavior:
App opens back up and the url callback sent from square says “TRANSACTION CANCELLED”

Other important info to note:

  1. Every transaction that is reported as cancelled in the callback is actually completed successfully and saved in square.
  2. This does not happen on ios
  3. I’ve tried cash, charge, etc and the result is the same each time
  4. I’ve checked for undefined/missing values being sent with the deep link call to square, but none found.

Is there any known reason this may be happening?

Do you have a payment_id that this happened with?

I do not have any payment_ids (they did not get sent back with the callback) but I do see every one of the transactions logged in my square dashboard

If you click on one of the payments in the Dashboard you can get the payment_id from the URL. :slightly_smiling_face:

Ah, sorry I was in mobile app-

here are a few:

newtoki@ If you’re experiencing the issue of receiving a “transaction canceled” message when using the Square POS API in a web app for Android, there could be several reasons for this behavior. Here are some steps you can take to troubleshoot and address the issue:

  1. Check API Configuration:
  • Ensure that you have correctly set up and configured the Square POS API in your web app. Verify that you are using the appropriate API endpoints and parameters for initiating transactions.
  1. Permission and Access:
  • Make sure your web app has the necessary permissions and access to use the Square POS API. Check if your app’s OAuth tokens or access permissions are correctly configured.

Hi @lucasjeffe,

Is there a reason this would work, but suddenly stop working? I never had to configure permissions and tokens upon initial setup and it has been working without issue for a few months.

Did it start working correctly again or are you still experiencing this? :slightly_smiling_face:

Yes this is still happening, I have made no changes.

@Bryan-Square Do you have any updates? Client is still unable to use their android versions.


Do you have skip receipt or tipping enabled on the POS? The team is aware of this issue and is working to fix this. There are a few workarounds depending on your settings. :slight_smile:

Hi Bryan,

I do not have skip receipt enabled and I do not have tipping enabled.
This is just a one time purchase (goods) kind of setup.

Thank you!

This is a weird bug but if you enable skip receipt does it work as expected? This has been one of the workarounds till the team can deploy a fix for the issue. :slight_smile:

@Bryan-Square - I set skip receipt to true in both the square app settings and in the url I send to the app when the user confirms payment. Neither of these seem to work as I am still getting the ‘transaction cancelled’.

Okay, thanks. I’ll let the team know. :slight_smile:

Hey team.
The app I work on (Cordova) is also having this issue.
We trigger the interaction with the Square POS app using the CHARGE action intent.

We are seeing this issue for Android only and appears to only impact our customers in the US.

The workaround for enabling skip receipt does not work.

We are having the same problem with our customer, please let me know when you have a solution.
Thank you!

Hi @Bryan-Square!

happy monday. Just wondering if you’ve heard anything about this?