What problem does it solve?
Provides a clear, maintainable implementation plan for an in-app wallet and payments feature so developers can implement secure top-ups, transaction histories, and multiple payment methods without re-designing architecture.
Core Features & Use Cases
- Wallet state & balance management: Defines WalletEntity with balance, currency, and pending balance and mandates refreshing balances after payments.
- Transaction management: Supports transaction entities, paginated history, and transaction detail pages covering topups, payments, refunds, bonuses, and withdrawals.
- Top-up and payment method flows: Details creation of top-up requests, deep link handling for external payment apps (MoMo, ZaloPay, VNPAY), payment URL launching, and updating balance after callbacks.
- Presentation and orchestration: Specifies Cubits (WalletCubit, TopUpCubit), pages, widgets, and rules for secure handling of payment data and deep link integration.
Quick Start
Open the WalletPage, choose an amount and payment method, create a top-up request, and follow the payment app deep link to complete and refresh the balance.