PayU scales global marketplace with NashTech API
Industry
Technology
Introduction
The whole solution was built on the concept of serverless computing (AWS lambdas), making it easier to manage and scale due to the dynamic allocation of machine resources based on the load.
About PayU
PayU is a leading financial services provider in global growth markets. They have expertise and heritage in cross-border and local payments. They also offer multiple services to both merchants and consumers. The innovative technology, which is developed in-house and through investments and strategic partnerships, empowers billions of people and millions of merchants to buy and sell online, extending the reach of financial services.
Challenges
As a part of this project, we have to deliver a Standardised Global Solution for Merchant Management, linking existing PayU Global Products to support marketplace product offerings. At the start of the project, PayU has local products for every geography they operate, and it becomes very difficult to maintain and operate all the solutions. The other problem was that if they had to enter a new market, then they had to build the whole solution from scratch, which increased their turnaround time substantially.
The major problems that they were facing are mentioned below:
- No unified or standard solution.
- Maintaining different products for each geography.
- Local solutions are expensive to develop and are not scalable.
- No common platform for the current solutions which are built on old technology stack.
- Global merchants can not use these solutions as they have to integrate with multiple systems.
Solution
NashTech worked closely with the PayU team and helped build the unified API that can replace all the existing solutions. Some of the crucial functionalities that were developed are listed below:
- Automatic Onboarding and verifying of sub-merchants (including IBAN for payouts).
- Multi-Basket purchases (multiple sub-merchants) with different marketplace Fees.
- Lambda functionalities implemented with Functional Java and Scala
- Fee split between marketplace and sub-merchants based on configurations.
- Configurable Marketplace and Merchant contract and payout terms.
- Automatic payment of the payouts as per the contract to sub-merchants of Marketplace.
- Integrating with the current systems to get the existing data and contracts.
- Automate and develop the CI/CD pipeline for faster time to production.
Architecture
PayU is a payment solution provider, and this solution was particularly built for Marketplaces that have different infrastructure needs at different periods of time, e.g. during holidays or festive seasons, there will be a lot of activity and transactions. Hence the solution needed to scale up significantly during the peak season and downscale during the lean period. After executing some of the initial poc we narrowed down on Serverless Computing as the preferred choice. Serverless computing allows us to build and run applications and services without thinking about servers keeping us focused on functionality development. With this approach, we worked on developing individual AWS Lambdas, and to make the solution more cost-effective, we combined various Lambdas in AWS Step Functions, building a simple state machine to orchestrate the flow. Step Functions coordinate the components of distributed applications and microservices at scale, using visual workflows that are easy to build.
The Figure below illustrates one of the flows that was designed for this case study, the various lambdas are combined using the Step Functions and these state machines were triggered using another trigger function lambdas which were called whenever there is a purchase request. We made sure that Lambdas performed one and only one function at a time to increase their reusability. DynamoDB was used for storing the data whenever required, and for 3rd Party processing we used webhooks to get the status updates in an async way.
We also used DynamoDB Streams to create event-driven flows that were required for analytics and other sidecar operations like Notification Service and storing the operational history related to purchases.
Results
The solution helped PayU to reduce the cost of launching in new geography by 50%. The whole solution was built on the concept of serverless computing (AWS lambdas), making it easier to manage and scale due to the dynamic allocation of machine resources based on the load. The payment business is heavily dependent on contracts and local bye-laws; hence, we greatly focused on configurability and customisability of the product to suit the needs for a global solution. The Global Marketplace solution can now be adapted by any Marketplace to use PayU as a payment solution provider with ease.
Read more case studies
Enhancing both courier and customer experiences for Evri
NashTech and Evri work closely together on the application and systems for the couriers to ensure that they are satisfied and well-trained.
Unified and NashTech: driving digital media excellence
Explore how NashTech helped Unified to overcome challenges in the startup phase by scaling technology resources as needed.
From rising above adversity to riding the wave of digital transformation in the education sector
Explore how NashTech help Trinity College London ride the wave of digital transformation in the education sector
Let's talk about your project
- Topics: