About the Client
Client is a leading financial institution providing platform to businesses, merchants, and consumers, to send and receive payments through mobile devices. Client’s platform contribute towards building a safe and reliable payments ecosystem in collaboration with other players like merchants, payments processors and major banks.
Client’s product range comprises of mobile payments systems, prepaid cards, mobile virtual cards, and corporate card solutions designed to empower individuals and organizations to make swift payments electronically.
Client’s mobile payment solution had a user traffic of 12 million transactions per year running on two PHP-based legacy system (Backend powering Digital Payments) synced together. With its expanding business, the client was looking forward to integrate with leading merchants and service providers who accept payments through mobile. The key challenges the client faced were:
- Gear up to handle a transaction rate of 25 thousand per hour in the future, approx. 18 times the current traffic; it was apparent that client’s current system would not be able to handle this
- The legacy system was facing issues such as low success rates, no dynamic switching, and no fraud detection
- Low user acceptance because of average UI/UX
The client had a definite need to re-architect its current wallet to a new-age mobile wallet solution developed from scratch. The new solution developed had to be of such flexibility that client could white-label it to further sell it to its customers.
Need help with a Digital Payment Platform project?Contact Silicus Sales
Silicus architected, designed and developed a new mobile wallet platform from the ground up.
1. Backend Architecture Revamp
After reviewing the existing legacy system and brainstorming with client side stakeholders, Silicus Technical Architects and Business Analysts designed a State of the Art architecture for:
- High volume payments processing
- Advance reporting for fraud detection
- Dynamic Switching of Payment Gateways
- Multi Member Fund Transfers
- Real time Risk Management
2. Architecture design showing key features and functionality developed
Front-End Platform Development :
- Switch from PHP to Java:Modernized client’s existing PHP based systems with Java for improved Scalability, Customizations and real time Risk Management
- Varnish caching: Implemented Varnish as an HTTP accelerator for high performance and fast handling of incoming requests
Middleware Development :
- API Layer: Developed API layer with standard security protocols and encryptions; handles communication between front and middleware layers and also their communication with the mobile wallet app
- Rule Engine: Responsible to facilitate authorization and access to different types of users (not all users have access to all sections) and manage all business rules
- Cache and Session:Cache stores information which is frequently required, such as, frequent customers, login forms etc., and Session tracks similar user activity sessions
Back-End Development :
Stores user activities (transactions, login attempts, logouts, etc.) and details (name, contact details etc).
- Database Design: Split into two parts to handle transaction traffic and reporting separately. This ensured smooth back-end operation without undue loading on the database –
- Maria DB: For storing user and transaction related data; Maria is a powerful open-source database
- MongoDB: Store all reporting data and enabled real-time report capture, along with batch-scripting of reports. Earlier due to heavy data load in single database, reports could be captured only in batches
- Elastic Search, Logstash & Kibana (ELK): Actionable insights in real-time from structured and unstructured data sources using ELK stack, elastic search pulled out data from Logstash and Kibana converted it into readable content
3. Features & Functionality Developed
- User Management:Manage user types - client admin, merchants, corporate users, agents, etc., who would engage with thedigital wallet architecture
- Login: Facilitate log in through mobile wallet or social media spaces, such as, Facebook, Google Plus etc.
- Transactions: Option gets triggered when a user attempts to make a payment, once authenticated, user is given a choice of Payment Gateways (PGs) via Java service. User then chooses his/her preferred PG which further moves the user along the payment processing workflow
- Wallet: Digital wallet of a user which stores cashback or credit money. While making a payment, user can do so using the wallet, if there is a credit balance
- Notifications: Once a user (client side or others) makes a transaction (successful or failed), they are informed via email or sms
- Reports: Reports of all user activity are generated for management review and decision making
- Search: Admin can search for Transactions, Logs, Error Messages and Fraudulent activates
Silicus also implemented features specific to client’s needs:
- White labeling
- Flexile and robust architecture for base sections such as Rule Engine
- Customization options for Payment Gateways and User management modules as per merchant requirements
HTML, CSS, Angular JS, Java 1.8
MariaDB and MongoDB, My SQL 5.6
3rd Party Interfaces
Email and SMS gateways, Payment gateways
Bootstrap, Spring, myBatis
Varnish and Redis
Elastic search, Logstash and Kibana
Ability to attract more users
With enhanced features, functionality and UX, the client was able to on-board large number of consumers, merchants, distributors and agents.
Designed for the Future
The new architecture helped client handle traffic to the tune of 25 thousand transactions per hour in line with the client’s long term business expectations. Highly customizable software model.
Highly customizable software model
A flexible architecture ensured easy customization of features, such as, PGs, User Login etc., through API sharing, without modifying the base.
Client has control over customization of few features so as to white-label the new mobile wallet solution for different customers.