When developing a payment kiosk, it's important to select your hardware before your operating system and programming language. Otherwise, implementing the payment device will be difficult and potentially expensive.
May 10, 2019 by Andrew Savala — CEO, KioskSimple
One of the most common calls I get as a kiosk consultant is from a project manager or developer asking me how to integrate some payment device (i.e., a bill acceptor) into their kiosk application. And unfortunately, this is one of the costliest and easily avoidable mistakes companies make when developing their first payment kiosk.
They'll proceed to tell me how they've already developed 80% of their kiosk application in Swift (iOS), JavaScript (Web), etc. and they “just” need to integrate some payment device in order to make their deadline in three weeks.
If you're asking this question, then you messed up a long time ago.
The companies that make these payment devices typically release software development kits which greatly lower the learning curve for integrating their payment device into a software application.
They also tend to favor the Windows and Linux operating systems. This is certainly not true for all payment devices, but it is in most cases. For example, if you're going to be deploying Android tablets, make sure the payment device you're using has an Android SDK you can use.
Okay, so you already messed up. What now, you ask?
Here are a few options, none of which are pretty.
1. Select different payment devices, which might not easily fit into your kiosk enclosure.
2. Completely rewrite your kiosk application in a different language.
3. Implement a very low level and potentially expensive integration directly with the payment device.
4. Implement a complex client/server solution where the server utilizes the payment device SDK since the client (your kiosk application) cannot.
None of these solutions are cheap or fast. Therefore, it's vital that you select your kiosk hardware early in the project before you select your operating system and programming language.
This pitfall is easily avoidable, but unless your software developers have built a payment kiosk, selecting hardware will likely be an afterthought.
As a software developer, it's a foreign concept to worry about hardware first. But when you're developing a self-service kiosk, the hardware and software must play nice together.
Think ahead or you'll end up wrecking your budget and timeline with costly rework.