Mobile Payment App SkipCash
Mobile wallet and a virtual payment terminal solution
- Discovery phase
- Product development
- Mobile payment app allowing shoppers to pay by card without using a POS terminal
- The payments are made between the seller (merchant) and the buyer (shopper) via a QR code
See what Altamira can do for you
POS (Point of Sales) terminals, enabling payment by card anywhere and in any amount, are commonly used across Europe or North America. However, they are not available as a standard in our client’s country – Qatar. This means that current payments at establishments are still primarily in cash. From the viewpoint of tourism and the upcoming FIFA WORLD CUP world championship, this Qatari standard represents a barrier to the potential spending by tourists.
One of the project’s biggest challenges is certainly the communication with third parties, especially financial institutions, on which the development of the app was dependent. The main problem was the documents and documentation for implementation, which did not keep pace with the current version of the solution. However, we finally solved this and integrated it, which was necessary.
The SkipCash mobile payment app is developed helped by the React Native open-source framework. This enables the simultaneous development of a mobile app for both the iOS and Android operating systems, thus reducing the costs of system development and maintenance.
To enable payment processing, the SkipCash user must pair their payment card with the app before the first payment, similar to the commonly used Apple Pay or Google Pay solutions. The operator and the developer of the mobile app necessarily work with the users’ sensitive data – including payment card data.
Security requirements for operating such apps are placed directly by card operators, in our case, by VISA. For SkipCash to be accepted by card companies, it was necessary to complete the so-called PCI DSS (Payment Card Industry Data Security Standards) certification. The certification is performed by an independent third party that analyzes the source code and the security and potential risks arising from the implementation.
The entire security solution also includes penetration tests performed by an independent company.
The basis for the proper functioning of the app is a network comprising of sellers and buyers. The seller (merchant) is also the primary (paying) customer of the SkipCash service. Besides the special version of the app, he also has an administrative interface available, which is used for more advanced management and financial reports. Because the operations in which SkipCash is used can vary in size, the app offers multiple roles with different levels of rights. The role of “Cashier” has the lowest rights. The app also works with the Branch manager role that manages Cashiers, and at the top of the hierarchy is the so-called Group manager. Depending on the seller’s operations structure, it is possible to work with different combinations of roles. The app is also adapted for single-person operations.
First, they receive information about what benefits the app can offer them – a simple and fast payment option. Furthermore, it displays a map about which establishments use the app or draws discount coupons to apply in the establishments.
Then, during registration, the buyer gives their name, phone number, and e-mail, which they must verify. The buyer then creates a password, sets a PIN, allows a Touch ID / Face ID, and adds a credit card. If they do not do so during the registration, the app will ask for the card details when attempting the first payment.
Sellers go through a different process. The seller’s account (activation and deactivation) is created within the administrative interface. Here they also define the structure of roles according to their needs. Subsequently, the seller and various roles on their side can log in to the app and set a PIN. The role of the cashier (shopper) has its own signup process in the app and is not registered in the admin interface.
Both major roles – Buyer vs. Sellers – use the same version of the mobile payment app.
The sequence of steps before the actual payment can be different, and, therefore, we distinguish two main types of payments, namely static and dynamic.
The buyer chooses the product in the store and comes to the cash register, where the static QR code of the operation is placed visibly and scans it in their application. At that moment, the buyer automatically appears in the seller’s app as a customer waiting in line at the checkout. The seller selects the buyer, enters the amount for the purchased products into the app, and confirms it. A screen will appear on the buyer’s display, where they have several options. They can use a discount coupon, add a tip as a % of the purchase value or as a fixed amount, choose a payment card (if they have more than one saved in the app) and confirm the payment. After confirming the payment with a PIN code, the seller is informed about the payment, and the received payment is recorded in the transactions. Exactly the opposite transaction – the sent payment – is recorded in the buyer’s app. Besides the payment amount itself, its details are also available, then transferred to other reports and statistics.
The dynamic payment, unlike static payment, is based on a dynamically generated QR code for a specific purchase. The payment process starts with the seller, who enters the purchase amount into the app and generates a QR code. In the next step, the buyer will scan it, which will show them the possibilities of using discount coupons, adding a tip, and confirming the payment itself. The next steps are identical to a static payment.
The app can also do a so-called Request payment, which allows you to send a payment between users remotely without scanning any QR code. The process begins on the seller’s part, who enters the buyer’s phone number in the first step. After verifying the phone number, the buyer’s name is automatically displayed, then the seller lists the subject and description of the payment, its amount, and the date by which the payment must be made. At the moment of confirmation of the request for payment by the seller, the buyer is notified. Such a payment request can be canceled or confirmed by the buyer with a PIN code (i.e. payment). Even with this payment, the buyer can choose from which card to send the money they have several saved in the app.
In addition to the possibility to pay for goods or services, the SkipCash app informs the buyer on the dashboard (main page after logging in to the app) about the total number and amount of executed transactions, i.e., the number of payments and the amount they spent in the current month or the previous months. Another graphical overview offers information on the type of establishments in which the transactions were made (e.g., restaurants, cafes, beauty, health, etc.), so the buyer can easily track how much money and where they spend the most.
The statistics on the dashboard are also available to the seller or role Group manager and Branch manager. First, the number of executed transactions and their total amount is displayed. The informative value of the dashboard is further supported by a graph showing the development of received payments daily.
We participated in developing the SkipCash app with 2 other teams – Develogics for the backend and Platform for UI/UX. We at Altamira Softworks are in charge of the front-end development. This means the development of all screens that the seller or buyer works with, their functionality, and the connection to the functionalities in the background or on the backend.
This cooperation primarily requires thoughtful and effective project management. The development worked in Scrum mode on weekly sprints and standups. The project management of tasks took place in the online platform Jira and daily communication primarily via Slack (instant messaging).
The deadlines for this project were as tight as the gift shopping in mid-December. The project had defined 4 milestones for 5 consecutive months, which resulted in the preparation, finalization, testing, and deployment of MVP (Minimal Viable Product).
After several months of testing the MVP app with selected operations and several rounds of change requests, the client launched the app live in December 2020.
For the correct and full-fledged operation of the app, a stable and sufficiently large base of cooperating establishments was and is necessary in the first place. This will attract enough users on the part of buyers. The client focuses on building such a base in Doha and its immediate vicinity. Up to 500 sellers are on the map, where it is possible to make a payment via the SkipCash mobile wallet. This number is constantly growing.
The SkipCash app is constantly being worked on. Its security is being increased by implementing penetration tests by a third party and the subsequent implementation of the proposed improvements, all to ensure, foremost, the security and fluidity of completed transactions.
The SkipCash app described above and further planned development aims to simplify shopping or making payments and speeding up its process to increase the satisfaction of the seller and the buyer and deviate from the usual payment by cash.