With smartphones and high-speed cellular networks becoming omnipresent around the globe, more people use their phones to purchase things, consume content and interact with each other. According to a McKinsey report, about half of retailers plan to extend their digital presence and prioritize mobile app or point-of-sale experience in the near future. Together with the effects of the COVID-19 pandemic, which turned people away from unnecessary visits to physical stores and cash payments, the trend of digitalization makes e-wallet apps highly popular.
Digital wallet is a category of apps that allow users to make contactless payments in stores, purchase online without inputting card details, store their credit, debit and loyalty cards’ details securely on a phone and send money to their friends and relatives. Of course, in return for the convenience and special discounts, retailers grow their customer base and have more data to make their offers even more appealing and personalized.
If you think about developing a digital wallet app, there has hardly been a better time for it. Digitalization of all industries makes investing in fintech apps such as digital wallets a potentially highly profitable business. Surf has profound experience in developing apps for banks and trading platforms and knows more than well how to create a wallet app. From this article, you will learn about types of digital wallets, technologies and features essential to mobile wallet app development, and how much it might cost.
Types of wallet apps
There are several types of digital wallets depending on the delivery technology or the way transactions happen.
NFC. Near Field Communication is a radio frequency technology for digital payments. It works by substituting a physical card with NFC chip with a mobile phone — a user links their card once and can exchange data with nearby readers and payment devices via phone. Of course, the most prominent examples of such apps are Apple Pay and Google Pay.
QR. QR-code is a 2D barcode that can be scanned by a smartphone camera. A wallet app that recognizes QR-code can decode its payment details and make a transaction. One of the popular e-wallet apps that supports QR-codes is Cash App.
Digital. Such wallet apps as YooMoney are used for online purchases and let users checkout instantly at e-stores using pre-linked bank cards. Also, apps like Zelle allow users to send money to other Zelle users by simply entering their phone number or email.
Combined. Apps that combine several delivery technologies are getting more and more common, providing a solution for both online and offline transactions in one app. A major fintech player, PayPal, lets users of its app set up QR-codes to accept payments along with the ability to quickly send money to other Paypal users.
Another classification of digital wallets is based on what types of transactions they support.
Closed wallet apps are created by a company selling goods or services and lets customers pay using the app only for its goods. For example, Walmart Pay app speeds up the checkout process in Walmart stores and offers additional cashback options.
Half-closed type of wallet apps, such as Amazon Pay, allows users to make transactions with a list of companies or individuals that are parts of a wallet network.
Open wallet apps, for example, QIWI wallet, can be used to pay for any purchases in stores that accept credit cards or e-stores that support this wallet app, and also send money to other app users.
Wallet app features & technologies
The set of features highly depends on the type of wallet app you plan to build. In this section of the article, we’ll overview the main features of a wallet app and technologies that can be used to implement them.
Frontend – user app
User sign-up and log-in. This part of the app lets new customers register an account using social networks or email and get access to their profile details.
Linking bank account. Using integrations provided by PayPal, Stripe or Braintree, users can easily and securely enter their bank card details once and then use the card as a payment method instantly via the app.
Add & check balance. If you plan to let users store funds on the app’s account, create an e-wallet app that allows them to transfer money from cards or other payment services, such as PayPal or Webmoney, to the wallet. Also, don’t forget to design a screen with a list of all transactions, so users can easily track their spendings in the app.
Money transfer. A feature that allows to quickly send money to other app users will greatly increase the number of use cases for your app. To make the process as convenient as possible, consider integration with the phone’s contacts that will allow users to choose a person and send them money in just a few taps.
Push notifications. Notifications about transactions, new offers, deals and rewards are a great way to keep users engaged. But it is important to let customers tweak notifications to their preferences — too many unimportant push notifications can have an opposite effect on user engagement.
iBeacon and Bluetooth integration. If you plan to develop a mobile wallet app for use in physical stores, consider integrating it with Bluetooth (and iBeacon for Apple devices) technology — this way, if a user appears in close proximity to Bluetooth beacons located in a shop, their phone automatically opens the app or sends a notification about current deals.
QR-code scanner. Implementation of QR-code payments will require integration with software for reading codebars, for example, ZBar bar code reader. Because QR-codes can often be found on utility bills and other documents as a fast payment option, QR-code recognition is essential for the majority of fintech apps, including banking apps. Below is an example of how Surf implemented a QR-code scanner in Zenit Mobile Bank.
Smartwatch integration. The rising popularity of Apple Watch and other brands of smartwatch makes this feature a great addition to any type of wallet app. What can be more convenient than to pay with your watch via NFC without taking out the phone, or monitor incoming and outcoming payments on your wrist?
Backend – admin tools
Admin dashboard. A control panel designed via a web interface that allows administrators to manage users, track app metrics and monitor transactions. It is important to develop an elaborate hierarchy of access levels so that any customer data can be accessed only by a handful of administrators, and all interactions with personal details are recorded.
Marketing panel. If you make a wallet app of a closed or semi-closed type focused on customers of a particular store, you’ll likely need to show current offers and inform users about the hottest deals in the app. Within an admin panel, develop a page with a user-friendly interface, so that the marketing team can easily create layouts, publish news and send push notifications to app users.
Analytics. In this section of admin tools, administrators can generate reports on the number of users, amounts of transactions, how they changed over time, user behavior (preferred ways of sign-in, most used features) and other details important to the business. Also, the usage of algorithms that highlight unusual behavior and suspicious operations can help to prevent fraudulent activity.
When Surf team worked on an app for a European investment bank, we used AppMetrica and Firebase mobile analytics platforms to track such events as logins and opened screens and how customers used the app to apply for credit, issue a new card or transfer money. If we detected a problem in any scenario, we set up more detailed analytics and gathered more data to solve the issue promptly.
Depending on the particular type, a wallet app can store a great deal of personal data, transaction history and details of other bank accounts. That is why the security of the wallet app is paramount for building brand image and gaining the trust of long-term users.
Usage of the second authentication factor after entering login and password or biometrics (touch ID or face ID) greatly increases the security of personal details. There are several commonly used two-factor authentication methods:
- SMS: A digit code is sent to the user’s phone and then entered in the app.
- Email: A digit code or link is sent to the user’s email.
- App: A user has a mobile app (Google Authenticator, for example) that generates unique codes.
When Surf developed Zenit Mobile Bank app, we wanted to make SMS authentication both convenient and sufficiently secure. If the SMS code is entered automatically, the app requires a user to tap the confirmation button, but if the user enters the code manually, the confirmation button is hidden, and the app accepts the code without it.
Public Key Infrastructure (PKI)
One of the most useful encryption methods in fintech is public-key cryptography. Public key infrastructure is based on digital signature technology and a pair of keys, private and public. The private key of each entity is only known to the owner and is used for signing in, while the public key is used to verify signatures but cannot be used to sign in.
This feature is used to secure payment details during transactions. Tokenization converts credit card details into an algorithmically generated string of digits, the so-called ‘token’, with no value outside the context of a transaction. The actual bank details are held safe in a token vault and are not shared with a merchant.
SSL & End-to-end encryption
To secure data transfer, Secure Sockets Layer (SSL) uses asymmetric and symmetric encryption to safeguard the data and authenticate communicating parts. For another layer of security, end-to-end (e2e) encryption that uses cryptographic keys at both endpoints to block third-party intervention can be added.
Although not an app feature itself, testing during mobile wallet development highly impacts the future security of the app. It helps to identify and eliminate vulnerabilities and double-check weaknesses in authentication and authorization, encryption techniques, and other security features. From Surf’s experience, the best results of security testing are achieved by third-party independent audits.
Before the first release of Zenit Mobile Bank app, Surf carried out 824 manual tests on payments, transfers, and statuses of all the products and features. Nevertheless, we actively rely on automated testing that speeds up the process and helps to cover the app code with tests in a short timeframe.
Cost of digital wallet app development
E-wallet app development cost is determined by a multitude of factors, such as development team location and size, technological stack used, app’s features and others. In this section of the article we’ll overview the most important factors affecting the price, while you can find more details in our article on mobile app development costs and timeframes.
Choice of framework
Developing native apps for iOS and Android means you’ll have to write code for two separate apps using different programming languages (Kotlin for Android and Swift for iOS). Native apps are known for their performance, stability and effective usage of device resources but come at a cost — you’ll need two teams of wallet app developers to build two different products.
Сross-platform frameworks, such as Flutter, allow developers to create apps for iOS and Android from one set of code with only minimal changes. This provides great cost optimization and a shorter time to market. Also, because both apps are written in one programming language (Dart, in case of Flutter), the debugging process gets a lot easier. From a user’s perspective, an app on Flutter looks no different from a native one: it provides smooth animations, supports gesture navigation, and UI elements have native appearance. Also, because Dart code is compiled into native, non-human readable code, it complicates the reverse rendering process and increases the security of Flutter apps.
Surf was an early adopter of Flutter framework, released by Google in 2017. Using Flutter for apps for the Rigla pharmaceutical chain, allowed us to save 40% of the client’s initial budget, while our app for Rosbank was the first banking app in Russia made on Flutter.
The type of wallet app you plan to develop, closed, semi-closed or open one, hugely impacts the number of integrations and consequently, the app’s complexity. Every integration with a payment service, a technology, such as a double-entry accounting API (Application programming interface) for tracking transactions, or device’s hardware, such as a camera to scan QR-codes, equals a certain number of development hours to develop. For more insights on how to assess app development costs, check our article on mobile app development estimation.
To avoid unexpected expenses, always begin developing from creating an app prototype. An MVP (minimum viable product) has only features that are crucial to the app’s concept. Use MVP to test usability, refine interfaces and showcase your app concept to potential partners and investors.
Developer location and team size
The geographical location of the development team plays a major role in the final cost of your app. For example, US developers have hourly rates starting at $90/hr, while developers in Eastern European countries have rates of $35-40 per hour. Because the whole process of e-wallet software development can be managed remotely, there’s no reason to limit your talent pool to the local area of your company’s HQ. Read more about the pros & cons of outsourcing fintech development in our dedicated article.
Today, fintech is a rapidly evolving industry — more people prefer to use their phones to manage finances instead of visiting bank branches, and cashless payments are accepted in almost every store. Finance apps, such as banking, investing or budget apps, not only make the lives of traditional banks’ customers easier, but also provide accessible financial tools to underbanked parts of the population in developing countries, opening new markets to fintech startups.
Contactless payments are one of the top fintech trends of 2021, as digital wallets, from universal payment solutions to closed loyalty programs, gain more popularity among customers and businesses as well. If you think about creating an e-wallet app, you have the best chances to make a convenient, stable and secure app by working with software developers that have successful fintech projects in their portfolio. Surf has been in mobile app development for over 10 years and has developed several fintech apps for banks and crypto trading platform. If you want to estimate the costs of your app and discuss it in detail, fill in the short form — we’ll get in touch soon.