I am converting a Windows POS program to a mobile application to use on tablets - really just converting the concept as the only reusable code is on the backend. With the Windows point-of-sale program it was relatively easy to integrate credit card capture - not so easy on Android or iOS. Has anyone done this and any suggestions on the best solution? Ideally, I want to be able to send the amount of the sale from my POS app to the credit card device via Bluetooth, and then pull back the card capture result to my app. I want to give my users some flexibility so they don't have to use a dedicated system like Square.
The last one I did (a few years ago now) was the Cayan Genius system, It's a device that acts a local network HTTP host and you post requests to it. If you want to issue card boards, or void transactions you'll need to use the transport layer API on their web backend (for our application the tablet only handles swipes, all other functions are performed by our backend API).
Since this integration, all of the independent companies (MerchantWare, Cayan, TSYS, FisrtData just to name the ones I can remember) have all been bought out by Global Payments. But, from what I understand they are still using the method I described above for their current terminals.
From the research I can remember, your only other option would be to install the processors software on the tablet, then issue an intent for the swipe, then have your app handle the card swipe response intent. We chose the former method so we had more control over what was displayed and the program flow/timeout. We didn't trust the clerks leaving our app for a 3rd party app