Hi. I’m developing a mobile web app that uses the Point-of-Sale API to talk to a Square card reader. The app works perfectly in Chrome, however, I need to use a browser apart from Chrome. I came across a Stack Overflow post from August 2018 that states by user sjosey from Square that ONLY Chrome intents are supported:
Can somebody please give me an update on whether other browsers are now supported or if there are any workarounds e.g. can Chrome intents be spoofed somehow in other browsers?
If this is still the case, it appears to be a major design limitation as surely there are many use cases for browsers other than Chrome such as kiosk browsers (which I absolutely must have for my app - a charity donations kiosk). I thought the days of developers only writing apps that work on specific browsers or platforms e.g. iOS were well behind us!
Any help would be much appreciated.
“POS API” is just SPOS reacting to particular Android Intents. Anything that creates a valid intent could start that process. This could be a mobile app using the SDK code we publish, could be a mobile app hand-building an Intent, could be Chrome, could be any old browser so long as the rest of its payload is valid to Android first (so,
intent:#Intent;...;end ) and to SPOS second (
action=com.squareup.pos.action.CHARGE; and all the rest until
Thanks for the explanation, Bryan. I’m a real beginner with the Square API and Android intents so I’m still a little confused as to why the exact same intent string (triggered by clicking an href link in my web app as in the API example) won’t work in any other browser but Chrome. Going by the Square app error msg, it does appear that the other browsers may be handling the startActivityForResult() function differently.
Are you or other devs able to use other browsers successfully?
I’ve also been trying to send an intent using Tasker (with the IntentTask plugin to allow more ‘Extra’ fields) and I keep getting a Square app error “Unexpected Developer Error. The API Version parameter must be set”. I am sending this as a part of the intent:
which is also from the API doco.
Any thoughts on this error also?