nigerian_banks_nuban 0.0.4
nigerian_banks_nuban: ^0.0.4 copied to clipboard
A Flutter package to list Nigerian banks and detect probable banks from NUBAN account numbers. Includes offline assets.
Nigerian Banks NUBAN #
A Flutter package that lists all Nigerian banks, their logos, and slugs, and provides functionality to detect probable banks from a NUBAN account number.
Features #
- Get All Banks: Retrieve a list of all commercial and microfinance banks in Nigeria.
- Search by Slug/Code: Find specific banks using their unique slug or CBN code.
- NUBAN Lookup: Detect probable banks for a given 10-digit account number using the NUBAN algorithm.
- Fuzzy Matching: Find banks by name with variations (e.g., "MONIE POINT" → "Moniepoint MFB").
- Search: Search banks by partial name, slug, or code.
- BankLogo Widget: Ready-to-use widget with fallback handling for missing logos.
- Offline Assets: All bank logos are bundled with the package.
Installation #
Add the dependency to your pubspec.yaml:
dependencies:
nigerian_banks_nuban: ^0.0.3
Usage #
Import #
import 'package:nigerian_banks_nuban/nigerian_banks_nuban.dart';
Get All Banks #
final nigerianBanks = NigerianBanks();
final banks = nigerianBanks.getBanks();
for (final bank in banks) {
print('${bank.name} - ${bank.code}');
}
Find Bank by Slug or Code #
final bank = nigerianBanks.getBankBySlug('access-bank');
// or
final bank = nigerianBanks.getBankByCode('044');
if (bank != null) {
print(bank.name);
print(bank.logo); // Returns path to asset
}
Detect Bank from Account Number (NUBAN) #
Suggest probable banks for a user's account number.
final accountNum = '1234567890';
final probableBanks = nigerianBanks.getBanksByAccountNumber(accountNum);
if (probableBanks.isEmpty) {
print('Invalid Account Number or No Matching Bank');
} else {
for (final bank in probableBanks) {
print('Detected: ${bank.name}');
}
}
Fuzzy Bank Matching #
Find banks by name, handling variations like "MONIE POINT" vs "Moniepoint MFB":
final bank = nigerianBanks.findBankByName('MONIEPOINT');
// Returns Moniepoint MFB bank
Search Banks #
Search across names, slugs, and codes:
final results = nigerianBanks.searchBanks('access');
// Returns all banks containing "access"
Normalized Name Comparison #
Compare bank names from different sources:
final normalized = NigerianBanks.normalizeName('Access Bank PLC');
// Returns: "access"
Display Bank Logo #
Use the BankLogo widget with built-in error handling:
BankLogo(
bank: bank,
size: 48,
borderRadius: 8,
fallback: Icon(Icons.account_balance), // Optional custom fallback
)
Note on OPay/PayCom #
- PayCom (Code
100004) and OPay (Code999992) both map to the slugpaycom. - Lotus Bank: Many OPay accounts are technically domiciled at Lotus Bank (Code
303). If an "OPay" number is detected as Lotus Bank, this is correct behavior as per the NUBAN algorithm.
Credits #
Data and logos sourced from ichtrojan/nigerian-banks.