🏷 1. Project Name
Multi-Party Payment Orchestrator (MPPO)
A scalable system enabling group ordering with split payments.
🎯 2. Overview
This backend supports a feature where one user can create a group order, invite friends, split the payment, and the order is confirmed only when all required payments succeed.
The system has 3 core microservices:
- Group Service – manages group orders, members, split logic
- Payment Service – handles payment intents, webhooks, verification
- Order Service – final order placement after full payment
Each service runs independently and communicates via events and APIs.
🧩 3. High-Level Architecture
- Client → API Gateway → Group Service
- Group Service → Payment Service → Payment Gateway
- Payment Service → Event Bus → Group Service
- Group Service → Order Service → Merchant Backend
- Notification Service (async)