Per la cronaca sono riuscito (solo su Android): bisogna però usare l'app di zXing come barcode scanner e scrivere un bel po' di JS senza poter usare ajax...
Meglio scrivere una app per queste cose comunque: fatto come l'ho fatto io è una forzatura poco utile.