Executive summary Executive summary
Our client is a prominent mobile telecommunications company that serves millions of customers and commands a dominant market share in their country’s mobile market.
The client needed to implement a fintech component into their mobile telecom application to gain an edge over their competitors and open a new revenue stream.
The new fintech component we implemented has helped our client get ahead of the competition, expand their customer reach, and attract new customers.
Success story in detail
Our client wanted to expand their customer reach and open a new revenue stream by adding the fintech component, namely, the ability to order and use virtual bank cards, to their existing mobile telecom application. Since this was a brand new feature for the local market, the client needed to find a tech partner highly skilled in fintech that could begin the implementation asap to ensure fast time-to-market and gain an edge over their competitors.
N-iX began the cooperation with the client by conducting Product Discovery and designing the fintech functionality for the mobile application. We have thoroughly analyzed the existing architecture and offered ways to incorporate new features into the existing backend.
As a result of Product Discovery, the N-iX team designed a microservices architecture, since it enabled effective load management and the capability to work with a single service at a time without affecting the entire application. To ensure that we can handle multiple long-running operations (card issuing, payment transaction processing, etc.), we offered Apache Kafka. Also, we outlined the need for the application to have two separate backend services for supporting telecom and fintech operations and delivered an MVP of the solution.
Additionally, N-iX automation QA engineers implemented a PoC on the contract tests to resolve issues with the dependency on a third-party digital banking platform. This has ensured that the integrator’s digital wallet and our back-end services are compatible and can communicate with one another.
N-iX has built and implemented the fintech functionality (ability to order and use virtual bank cards) into the backend of the client’s mobile telecom application. The card can be connected to Google or Apple Wallet and, in case the mobile device has an NFC chip, can also be used for offline payments. Furthermore, users can top up their mobile account and bank card, make payments online, transfer money to another account, etc.
First development phase
We began by ensuring smooth user onboarding and enabling them to conduct basic card operations, such as creating a bank card and topping-up mobile accounts. We developed the following microservices within the new backend of the fintech component:
- Legal verification service for verifying user identity.
- Know-Your-Customer service for providing verification capabilities.
- Notification manager for handling external notification logic of different channels, for example, SMS.
- eBanking proxy for providing the logic of API calls to banking solutions of other vendors.
Due to the limitations of the country’s legislation for using cloud services, the application is hosted on-premises in the client’s data center. We created requirements for setting up the Kubernetes cluster and Load balancer to improve the solution’s scalability and enable efficient distribution of incoming network traffic.
Second development phase
We have added the second Load balancer to ensure better application scaling and acquire the ability to control the number of nodes under each Load balancer. We have also implemented the following microservices:
- Feature Flags service for on-demand enabling/disabling features for some or all users.
- Loyalty service for handling cash back for users making payments in specific stores.
- Utilities service for handling utility payments such as water, electricity, etc.
- Loans service for handling microloans granted to users for up to 1 month.
Monitoring, quality assurance, and security
We have helped the client monitor server errors, request duration, Load balancer’s response time, etc. A similar set of metrics was set up for third-party vendors as well, as a way to ensure comprehensive monitoring. In addition, we have provided integration of Kibana and Grafana with Microsoft Teams to enable timely error notifications. We have also prepared a Disaster Recovery Plan for the fintech subsystem.
To make sure that the API connection works as expected, we have established contract tests between the API producer (the banking platform) and the API consumer (our back-end services). Contract tests validate real API responses and provide immediate feedback on discrepancies.
Additionally, we documented and designed penetration testing to make sure there are no security gaps. Penetration tests are carried out in two phases:
- Checking the fintech functionality for security breaches.
- Checking the entire solution (both the fintech and the telecom functionality).
Finally, we have set up automation tests and established the CI/CD pipeline from scratch to accelerate the solution’s time-to-market.
By designing, building, and implementing the fintech functionality into the client’s mobile telecom application, we have helped them gain several significant advantages:
- Increased the number of customers and made it easier to attract new ones by expanding their services with the fintech component—a brand new feature for the local market;
- Ensured seamless integrations with third-party vendors by establishing contract testing;
- Improved solution scalability and load management by monitoring various metrics such as server errors or request duration;
- Accelerated time-to-market by setting up the CI/CD pipeline from scratch.