This is a modular, microservices-based backend system for simulating an e-commerce payment gateway, built entirely in Java (Spring Boot). It consists of four independently functioning services that simulate real-world financial transaction flows between a customer, vendor, bank, and payment processor.
Microservice | Description |
---|---|
BankServer | Validates card number, expiry date, and checks available balance |
MerchantServer | Initiates and handles transaction logic from the merchant's side |
PaymentGatewayServer | Central gateway that routes transactions between merchant and bank |
VendorApp | Simulates a product/vendor-facing component of the transaction system |
Each service is standalone and contains its own Spring Boot application, pom.xml
, and RESTful API endpoints.
payment-gateway-backend/
├── BankServer/
├── MerchantServer/
├── PaymentGatewayServer/
├── VendorApp/
└── README.md
- Java 11+
- Spring Boot (Web, MVC)
- Maven
- REST APIs (JSON)
- IntelliJ IDEA
- CORS configuration for frontend integration (Angular)
- Java 11+
- Maven
- IntelliJ IDEA or any IDE with Spring support
cd BankServer # or MerchantServer, etc.
mvn clean install
mvn spring-boot:run
Each service runs independently on its own port (configured in application.properties
).
- VendorApp displays product and collects payment request.
- MerchantServer processes the request and forwards to PaymentGatewayServer.
- PaymentGatewayServer routes request to BankServer.
- BankServer validates the card, expiry, and balance.
- Response flows back from BankServer → PaymentGatewayServer → MerchantServer to vendor UI.
VendorApp
↓
MerchantServer
↓
PaymentGatewayServer
↓
BankServer
All communication is RESTful and uses JSON.
Shubham Kanse
This repository is intended for academic, demonstration, and portfolio purposes only.