Over the past few years, payment digitalization has grown exponentially. From utility payments, insurances, microfinance, loyalty and many more financial use cases, digital banking and payments platforms are now processing millions of transactions in a day. mobiquity® is one such leading digital banking and payments platform that powers digital financial services for over 80 banks, financial institutions and telecom operators catering to over 120 million consumers and processing 7 billion transactions annually.
To meet the scale of transactions and diversity of use cases, we have built mobiquity® as highly scalable, reliable and flexible digital banking and payments platform. In this article, I will share my experience of engineering mobiquity® the next gen digital banking and payments platform.
Design Constraints:
To support diverse lines of business in a uniform way, mobiquity® platform implements a more generic way of handling payments with the design constraints mentioned below:
- Any addition of a new line of business does not impact core payment processing platform.
- Maintain a single code base for all our clients. Extensibility at core to meet changing needs and client specific customisation without changing core platform.
- Consistent money movement
- Immutable
- Auditable
- Zero Sum Principle of accounting
Getting the Architecture Right
The journey started with finding the best architecture pattern to fit within design constraints and ended with an event driven micro-service architecture mix of choreography and orchestration. Our engineering team re-wrote all our code into modular services built on top of a messaging infrastructure. At a high level, the architecture is as below.
https://medium.com/@mfs.techblog/engineering-the-next-gen-digital-banking-and-payments-platform-5052cd125c72

