Welcome to Phoenix Java Middleware
Phoenix Java Middleware is a Java Spring Boot application that serves as a standalone microservice for integrating with the Interswitch Uganda Phoenix API. It provides a simplified REST interface for payment processing, client authentication, and biller management operations.Quick start
Get up and running in minutes with the pre-built JAR
Configuration
Configure your credentials and settings
Authentication
Learn about key generation and client registration
API reference
Explore the complete API documentation
Key features
Client registration
Secure client registration with elliptic curve cryptography
Payment processing
Validate accounts and process payments seamlessly
Biller management
Browse categories, billers, and payment items
Transaction tracking
Check payment status and wallet balance
Architecture
The middleware is built on Spring Boot 3.1.5 and provides a clean separation of concerns:- Controllers - REST endpoints that expose the Phoenix API functionality
- Services - Business logic for authentication, payments, and billers
- DTOs - Data transfer objects for request/response handling
- Utilities - Cryptographic operations, HTTP clients, and helper methods
Security
Phoenix Java Middleware implements enterprise-grade security features:- Elliptic curve cryptography for key exchange using Bouncy Castle
- Signature-based authentication with Interswitch
- Daily key rotation to maintain secure sessions
- OTP encryption for sensitive payment operations
Technology stack
- Spring Boot 3.1.5 - Application framework
- Java 17+ (OpenJDK recommended)
- Bouncy Castle 1.71 - Cryptographic operations
- Apache HttpClient 4.5.13 - HTTP communication
- Jackson 2.13.0 - JSON processing
Use cases
Phoenix Java Middleware is ideal for:- Fintech applications requiring payment processing
- Mobile money integrations in Uganda
- Bill payment systems
- Wallet-based applications
- POS terminal integrations
Next steps
Run the middleware
Start the application and test the endpoints
Configure credentials
Set up your Phoenix API credentials