Main/Portfolio/Credit Card Scanning: Development of an SDK
Wallet OneCredit Card Scanning: Development of an SDK
Read the case to learn how we developed the SDK for credit card scanning.
The Client
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 Scope
The main goal of the 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 devices. 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.
The Solution
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, a list of saved cards, and screens of the 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, taxis, food delivery apps, etc. The application includes beautiful visual effects and animations, and designs optimized for both smartphones and tablets.
The Challenge
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.
Recognition algorithm
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 Outcome
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 bring benefits to them with a fully-featured UI, easy deployment, and quick payment processing time.
Stack
UIKit Dynamics, OpenGL, Wallet One Open API
Stack
-
Android
-
IOS
Related projects
-
eSport community
Learn more -
Sberbank
Learn more -
EY
Learn more