Implementation: developing the fintech component for the telecom mobile applicationImplementation
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.