Problem
Current USSD implementation is basic. Need advanced multi-level menus, session management, and more features for feature phone users.
Proposed Solution
Build comprehensive USSD system with multi-level menus, balance checks, transaction history, and airtime purchase.
Technical Implementation
New Files:
backend/services/ussd/MenuBuilder.js - Dynamic menu builder
backend/services/ussd/SessionManager.js - Session state management
backend/services/ussd/AirtimeService.js - Airtime purchase
backend/services/ussd/BillPaymentService.js - Bill payment via USSD
backend/models/UssdSession.js - Session model
backend/migrations/20260327000013_create_ussd_sessions.js - Migration
backend/tests/ussd.enhanced.test.js - Enhanced tests
Modify:
backend/services/UssdService.js - Add advanced features
backend/controllers/ussdController.js - Add new menu handlers
backend/routes/ussd.js - Add new endpoints
USSD Menu Structure
*123# - Main Menu
├── 1. Check Balance
│ ├── 1. Base Chain
│ ├── 2. Starknet
│ ├── 3. Flow
│ ├── 4. Lisk
│ └── 5. U2U
├── 2. Send Money
│ ├── Enter recipient tag
│ ├── Enter amount
│ └── Confirm
├── 3. Transaction History
│ ├── Last 5 transactions
│ └── More...
├── 4. Buy Airtime
│ ├── Enter phone number
│ ├── Enter amount
│ └── Confirm
├── 5. Pay Bills
│ ├── Electricity
│ ├── Water
│ └── Internet
├── 6. My Account
│ ├── My Tag
│ ├── QR Code Link
│ └── Settings
└── 7. Help & Support
Acceptance Criteria
Priority
High - Critical for feature phone users in Africa
Problem
Current USSD implementation is basic. Need advanced multi-level menus, session management, and more features for feature phone users.
Proposed Solution
Build comprehensive USSD system with multi-level menus, balance checks, transaction history, and airtime purchase.
Technical Implementation
New Files:
backend/services/ussd/MenuBuilder.js- Dynamic menu builderbackend/services/ussd/SessionManager.js- Session state managementbackend/services/ussd/AirtimeService.js- Airtime purchasebackend/services/ussd/BillPaymentService.js- Bill payment via USSDbackend/models/UssdSession.js- Session modelbackend/migrations/20260327000013_create_ussd_sessions.js- Migrationbackend/tests/ussd.enhanced.test.js- Enhanced testsModify:
backend/services/UssdService.js- Add advanced featuresbackend/controllers/ussdController.js- Add new menu handlersbackend/routes/ussd.js- Add new endpointsUSSD Menu Structure
Acceptance Criteria
Priority
High - Critical for feature phone users in Africa