Proposal & Full SRS
Executive GCC Payment Orchestration Platform – Complete Technical SRS
Executive Summary
This platform aggregates multiple PSPs into a unified API and dashboard, enabling merchants to process transactions across all GCC payment methods including KNET, MADA, AMEX, Apple Pay, Google Pay, Visa, Mastercard, with multi-currency support. Designed for high availability, scalability, optimized routing, and full auditability.
System Objectives
- Unified API & Merchant Dashboard
- Smart transaction routing engine
- Wallet & Settlement system
- Administrative & Fraud Control Panel
- High availability & scalability
- Multi-Currency & Multi-Payment Method Support
Core Modules
Payment Engine
- Transaction lifecycle management (initiate, authorize, capture, settle)
- Webhook handling & real-time updates
- Refunds & payouts management
- Retry & Fallback logic for failed payments
- Transaction audit logging
PSP Adapter Layer
- Provider abstraction & integration
- Status normalization & error mapping
- Multi-PSP failover handling
Merchant & Wallet System
- Merchant onboarding & verification workflow
- Wallet ledger & settlement calculations
- Fee configuration & reporting
- Multi-currency handling
Dashboard & Admin Panel
- Transaction monitoring & filtering
- Analytics & reports
- Routing & PSP management
- Fraud alerts & audit
Technical Architecture
- Backend: Node.js (NestJS)
- Database: PostgreSQL + Read Replicas
- Caching: Redis Cluster
- Queue: RabbitMQ
- Frontend: React + Tailwind
- Deployment: Docker + AWS / GCP
- Security: TLS 1.3, HMAC, Audit Logging
- Scalable Microservices Architecture
Workflows
- Payment Processing: Merchant → Platform → PSP → Confirmation → Wallet Settlement
- Refund Workflow: Request → Validation → PSP → Wallet Update → Notification
- Failure Handling: Retry → Alternate PSP → Alert Admin → Log
API Endpoints
- POST /payments/initiate → Initiate Payment
- POST /payments/capture → Capture Payment
- POST /payments/refund → Refund Payment
- GET /transactions → List Transactions
- POST /webhooks → Receive PSP updates
- POST /merchants → Onboard Merchant
Database Schema
- Merchants: id, name, email, wallet_balance, status
- Transactions: id, merchant_id, amount, currency, status, psp, created_at
- Wallet Ledger: id, merchant_id, transaction_id, type, amount, balance
- PSP Config: id, name, api_key, endpoints, status
- Audit Logs: id, entity, action, timestamp, user_id
Team Structure & Timeline
| Role | Responsibilities |
|---|---|
| Backend Lead | Core engine + Architecture + Security |
| Backend Integration | PSP Integration + Webhooks + Retry Logic |
| Frontend | Merchant + Admin Panels + Dashboard UI |
| DevOps | Infrastructure + CI/CD + Monitoring + Deployment |
| QA | Testing, Stability, Multi-currency & Multi-PSP Scenarios |
Gantt Timeline (6 Weeks MVP)
Phases compressed with parallel work, colored by team:
Risks & Deliverables
- High concurrency transaction handling
- Webhook race conditions
- Partial Wallet & Settlement (for 6-week MVP)
- Deliverables: Core Engine, 3–5 PSP Integrations, Full Dashboard, Admin Panel, Deployment Scripts