iPay is a modular, microservices-based payment platform designed to support mobile transactions, user identity management, account ledger operations, merchant services, and third-party integrations.
The system follows a decoupled microservices architecture where the iPay Mobile Gateway coordinates requests across specialised backend services.
| Service | Responsibility |
|---|---|
| iPay Mobile Gateway | Entry point for mobile users. Routes requests for transfers, top-ups, balance queries, and merchant actions. |
| iUser | Handles user identity, registration, login, JWT token issuance, and OTP verification. https://github.com/Jung028/alipay/tree/adam_lhj/user_center |
| iBusiness | Handles core business logic such as transfer coordination, transaction processing, scheduled payments, and QR code generation. https://github.com/Jung028/iwallet |
| iAccount | Ledger service responsible for account creation, balance management, and transaction history. https://github.com/Jung028/iaccount |
| iMerchant | Manages merchant data, merchant onboarding, and merchant-related workflows. https://github.com/Jung028/imerchant |
| iAgent | Integration layer used to call external service APIs for third-party operations. https://github.com/Jung028/iagent |
Users can register through the mobile gateway. The registration flow is handled by iUser.
After successful registration, an account is automatically created in iAccount.
The system uses JWT-based authentication to secure user sessions.
Sensitive actions, such as transfers or scheduled payments, require OTP verification through iUser.
Users can transfer money through the mobile gateway.
The request is routed to iBusiness, which handles the transfer logic and coordinates with iAccount to update balances and transaction records.
Top-up requests are processed through iBusiness.
If an external provider is required, iAgent is used to call the third-party API.
Users can retrieve real-time account balances from iAccount.
Users can view transaction details and historical records stored by iAccount.
The platform supports automated or recurring payment workflows.
Merchants can be registered and managed through iMerchant.
iBusiness supports QR code generation for merchant payment scenarios.
Merchant-related information can be queried through iMerchant.
Example: user initiates a transfer from the mobile app.
User
↓
iPay Mobile Gateway
↓
iUser
↓
iBusiness
↓
iAccount
↓
iAgent, if an external provider is required