Overview
NetPOS supports white-label deployments for multiple financial institutions. Each bank can have its own branded version with custom configurations, URLs, and features.Supported White-Label Variants
NetPOS uses Gradle product flavors to create bank-specific builds:NetPOS
Package:
com.woleapp.netposDefault NetPos branded versionZenith Bank
Package:
com.woleapp.netpos.zenithZenith Bank branded version with custom featuresWema Bank
Package:
com.woleapp.netpos.wemaWema Bank variant with specialized servicesProvidus Bank
Package:
com.woleapp.netpos.providusProvidus Bank customized buildKonga
Package:
com.woleapp.netpos.kongaKonga marketplace integrationHeritage Bank
Package:
com.woleapp.netpos.heritageHeritage Bank branded versionUnity Bank
Package:
com.woleapp.netpos.unitybankUnity Bank customized buildEasyPay
Package:
com.woleapp.netpos.easypayEasyPay payment solutionAella Credit
Package:
com.woleapp.netpos.aellacreditAella Credit lending solutionTingoPay
Package:
com.woleapp.netpos.tingopayTingoPay digital paymentsWema Cash Out
Package:
com.woleapp.netpos.wemaagentWema Bank agent bankingWema MPGS
Package:
com.woleapp.netpos.wemampgsWema MasterCard Payment Gateway ServicesBuild Configuration
White-label variants are defined inapp/build.gradle:
Flavor-Specific Resources
Each white-label variant has its own resource directory:Customizable Resources
Branding Assets
Each flavor can override:
- App Name:
values/strings.xml - Colors:
values/colors.xml - Icons: Launcher icons and app icons
- Logo: Brand-specific logos
- Dimensions: UI spacing and sizes
Environment Configuration
White-label builds can target different environments:Production Environment
File:production-env.properties
Staging Environment
File:staging-env.properties
Switching Environments
Editapp-settings.properties:
Bank-Specific Features
Zenith Bank
Zenith-Specific Features
Zenith-Specific Features
- Pay by Transfer: Zenith-specific transfer endpoints
- QR Registration: Custom QR merchant registration
- Reprint Password: Enhanced security for receipt reprinting
- Custom API:
STRING_ZENITH_BASE_URLendpoint
Wema Bank
Wema-Specific Features
Wema-Specific Features
- Agent Banking: Cash-in/cash-out services
- MPGS Integration: MasterCard Payment Gateway
- Merchant Accounts: Custom account management
- Reprint Password: Enhanced receipt security
wema: Standard Wema buildwemacashout: Agent banking focuswemampgs: Payment gateway integration
Providus Bank
Providus-Specific Features
Providus-Specific Features
- Merchant Accounts: Providus merchant account services
- Custom Settlement: Bank-specific settlement flow
- Integration:
ProvidusMerchantsAccountService
Building White-Label Variants
Using Gradle
Build a specific flavor:Build Types
Debug Build
Debug Build
- Includes debug symbols
- Adds
.debugpackage suffix - Supports ARM and x86 emulators
Release Build
Release Build
- Production-ready build
- Code signing required
- Optimized for distribution
Signing Configuration
All white-label variants use the same signing configuration defined inkeystore.properties:
Printer Settings
Some features are flavor-specific, like printer configurations:- Print customer copy only
- Print merchant copy only
- Print both copies
MQTT Configuration
Each environment has its own MQTT broker:- Real-time transaction notifications
- Terminal configuration updates
- Remote terminal management
Deployment Checklist
Configure Resources
- Update brand colors in
colors.xml - Replace app icons and logos
- Set correct app name in
strings.xml
Set Environment
- Choose production or staging in
app-settings.properties - Verify API endpoints in
local.properties - Configure MQTT broker URLs
Build Configuration
- Select correct product flavor
- Use release build type for production
- Verify signing configuration
Testing
- Test on physical device
- Verify terminal configuration
- Test bank-specific features
- Validate payment flows
Troubleshooting
Wrong Branding Appears
Wrong Branding Appears
- Clean the build:
./gradlew clean - Rebuild with correct flavor:
./gradlew assembleZenithRelease - Check
BuildConfig.FLAVORat runtime
API Endpoint Issues
API Endpoint Issues
- Verify
local.propertiescontains correct URLs - Check environment setting in
app-settings.properties - Ensure flavor-specific endpoints are configured
Features Not Available
Features Not Available
- Check flavor-specific code in
BuildConfig.FLAVORconditions - Verify feature flags are set correctly
- Ensure flavor directory has required resources
See Also
- Configuration - Terminal setup and NIBSS configuration
- Network Setup - Configure network connectivity
- Troubleshooting - Resolve common issues