As a B2B SaaS offering, Deutsche Payment provides registered merchants with an integrated platform to set up custom payment channels with their end users - i.e., people purchasing goods.
Deutsche Payment decided to give their customers a new reporting tool for monitoring their platform usage and making more informed decisions about the payment solutions to adopt. The core idea was to offer an aggregated view of all the payments received by registered merchants from every payment gateway connected to the platform. kreuzwerker joined Deutsche Payment on this greenfield project, crafting the reporting tool from the ground up as a cloud service.
In order to build a resilient solution and fully utilize the power of the services provided by AWS, kreuzwerker proposed a multi-service architecture in which events from payment gateways are standardized and stored in a relational database for later retrieval by an aggregation service. This is further explained below:
Payment Gateways on the Deutsche Payment platform generate events which are consumed by an API Gateway.
The events are routed through SQS to AWS Lambda functions, each responsible for processing the event based on its type and corresponding merchant.
AWS Lambda functions process the events and transform them into the data model required for the aggregated view.
The Lambdas forward these transformed events to another SQS queue. This queue is utilized to throttle the requests to write these events.
A microservice deployed on Fargate in ECS picks up these events and writes them into Aurora DB.
Finally, another microservice in ECS Fargate exposes the APIs for the payment aggregator, which is fed data from the Aurora DB.
The initial architecture was provided by kreuzwerker in the form of a POC and improved upon to provide architecture deployments in staging and production environments.
The diagram below shows the complete architecture, which was designed with scalability, resiliency and reliability in mind:
The reporting tool and its supporting infrastructure were developed, tested, and successfully deployed staying within the project timeline. Key features like merchants onboarding, payment events handling (filtering by merchant), and bill generation for each tenant are currently being used in production.
In collaboration with the kreuzwerker development team, Deutsche Payment also improved and automated its existing manual processes of deployment and testing with the integration of GitHub Actions based CI/CD pipeline. This service also acts as a baseline to provide additional services to customers, such as a recommendation system powered by machine learning.
Deutsche Payment, a SaaS payment solution provider, partnered with kreuzwerker and built a new service on top of its platform to improve the user experience of its users. The solution utilized AWS Cloud native technologies such as ECS Fargate, Lambda, API Gateway, SQS, etc., to develop and scale quickly. By leveraging agility on the cloud and with kreuzwerker’s support, Deutsche Payment was able to roll out a new aggregated payment view service in just a few weeks.