Mobile Payment at Point of Sale


Ingenico Telium terminals, iCT250, iWL280, Zebra/Motorola Symbol DS9208 Handheld 2D Barcode Scanner, Zebra LS2208 Corded USB Laser Barcode Scanner, USB Host, CDC Scan mode, HID input mode, Apple Wallet, Mobile Payments

Tech Stack

Telium2, IngeDev7, C/C++, JSON, XML, QR codes, barcodes

Project Details

Both Apple and Android phones offer a digital wallet, where the user can save their various gift and loyalty cards as well as bank cards. Most EMV POS terminals offer mobile payment acceptance only through NFC/contactless cards. However,  all other git and rewards cards that go on Apple and Android wallets do not support NFC. Instead, they all support a QR or barcode that’s representative of an account number with a balance. 

To be able to input the account number through QR code or barcode into legacy Ingenico Telium terminals, such as iCT250 and iWL280, we needed to attach a barcode scanner to the terminal. This would eliminate the need for the merchant to purchase new hardware and to be able to accept mobile payments, including AliPay and WeChat pay, through their existing POS system. 

ONTAB was hired to develop an integration layer into Ingenico Telium terminal that would use the available USB ports on the terminals to take inputs via the serial connection from the attached Motorola DS9208 or Zebra LS2208 barcode scanners. We developed this app as a 3rd party app, in order not to meddle with the core payment app and stay outside the scope of EMV L3 certification that was in place by the payment processor and merchant acquirer. 

ONTAB was responsible for the technical requirements, app design, UI/UX design, semi-integration architecture, user flows, project plan, development, signing, production distribution, deployment, and documentation.

The Biggest Challenge

Prior to this project, no one has ever connected a barcode scanner to Ingenico iCT250 terminals to be able to accept mobile payments through Apple and Android wallet at the point of sale. There were many challenges to be able to integrate the barcode scanner through USB to the back of Ingenico iCT250, since it was based on the older generation of USB 1.0 and was not able to provide enough current to power the barcode scanner. Moreover, no available libraries were found in the IngeDev7 to able to communicate with the USB port. ONTAB’s engineering team yet again overcame all these challenges by going deep into the serial port and decoding the scanner outputs to be able to collect the barcode/QR code numbers that were scanned.