Wallet One is an international payment system, providing services to businesses and individuals. The platform allows users to make online payments from a single account in a simple and convenient way.
The main goal of Wallet One project was to create Pay.Cards, a new SDK for payment processing, which can be built into any iOS or Android application. More specifically, the concept of the solution relates to credit card recognition via mobile device. The solution must be able to recognize not just the card number, but also the cardholder's first and last name, as well as the expiration date.
Wallet One has leveraged Azoft R&D and mobile development team expertise to implement its new product. The SDK is a full application module that includes credit card scan and recognition functionality, screens for editing card details, list of saved cards, and screens of transaction process and result indication. The recognition feature is based on an algorithm of the convolutional neural network that R&D engineers trained for the project goals.
Pay.Cards met all the customer requirements. The main advantages are
- Reliable and precise text recognition
- Image processing directly on the mobile device
- Secure Client-Server interconnection
- Acquiring feature
In addition, we developed a demo application with samples of how the module can be used in various app types, such as apps for shops, taxi, food delivery, etc. The application includes beautiful visual effects and animations, and designs optimized for both smartphones and tablets.
When we started the project, we only had a library prepared for iOS. Thus, we had to adapt this library for Android in a very short time period. Porting the SDK to Android OS was not easy, since the languages for the mobile platforms differ from each other and it was quite unusual to code in C++ for Android. Moreover, there is a lot of diversity among Android-based mobile devices, since they come from several different manufacturers. So, it was necessary to make a universal SDK for various smartphones and tablets.
Another challenge we came across was related to the development of the recognition algorithm. The process of training convolutional neural networks always takes a lot of time in an attempt to obtain reliable results of high quality and performance. In this particular case, we experienced difficulties due to images and other design elements on the plastic surface of credit cards. The noise generated by the images on the cards blocked the opportunity to use the easiest way of recognition. Therefore, we had to come up with and implement a more sophisticated model to succeed.
iOS, Android, UIKit Dynamics, OpenGL, Wallet One Open API
The resulting app includes a built-in OCR functionality and enables a smartphone to scan the bank card data using the phone’s camera. It is very convenient for customers, since it makes their payment process simple and comfortable. End-users can enter their card information without using a keyboard. Pay.Cards recognize all the data and input it into the application. Being a free SDK for Payment Service Providers (PSP), Pay.Cards brings benefits to them with a fully-featured UI, easy deployment, and quick payment conversion time.