Read the case to learn how we developed the SDK for credit card scanning.
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 information 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 mobile app 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 online stores, taxi, food delivery, etc. The application includes beautiful visual effects and animations, and designs optimized for both smartphones and tablets.
Credit card scanner adaptation for Android
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 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.
The resulting app includes a built-in OCR functionality and enables a smartphone to scan credit or debit card info using the device camera. It is very convenient for customers, since it makes the online purchase process simple and comfortable. End-users can easily scan their card information instead of manually entering it. 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 processing time.
UIKit Dynamics, OpenGL, Wallet One Open API