Overview
NetPOS terminals require proper configuration to communicate with the NIBSS (Nigeria Inter-Bank Settlement System) network and process transactions. This guide covers the complete terminal configuration process.Configuration Parameters
The terminal configuration system manages critical connection and security parameters stored in theConfigurationData model.
Core Configuration Fields
NIBSS server IP address. Production default:
196.6.103.18NIBSS server port. Production default:
4016Unique terminal identifier assigned by NIBSS. Default:
2057H63UFirst component of the host base key for encryption
Second component of the host base key for encryption
Configuration Process
Initial Configuration
The terminal automatically initializes on first launch using the
NetPosTerminalConfig.init() method.The configuration process runs automatically when the app starts. Manual configuration is only needed for troubleshooting.
Download NIBSS Keys
The terminal connects to NIBSS to download cryptographic keys:
- Session Keys: Temporary keys for secure communication
- PIN Keys (TPK): Terminal PIN Key for card PIN encryption
- Master Keys: Long-term encryption keys
downloadNibssKeys() method and stored securely.Download Terminal Parameters
After key exchange, the terminal downloads operational parameters:Parameters include transaction limits, supported card types, and merchant settings.
Configuration Modes
Silent Configuration
For background updates without UI feedback:Interactive Configuration
With UI status updates and user feedback:Call Home Protocol
Terminals perform a daily “call home” to verify configuration validity:How Call Home Works
How Call Home Works
The call home process:
- Checks if configuration was done today using
LAST_POS_CONFIGURATION_TIME - If not today, performs full reconfiguration
- If today, sends lightweight validation request to NIBSS
- On success (
responseCode = "00"), continues normal operation - On failure, triggers full reconfiguration
Configuration Status
The configuration process uses status codes to track progress:| Status | Meaning |
|---|---|
-99 | Reset/Idle state |
0 | Configuration started |
1 | Configuration successful |
-1 | Configuration failed |
Monitoring Configuration Status
Listen for configuration broadcasts:The broadcast action is
com.woleapp.netpos.TERMINAL_CONFIGURATIONStorage Locations
Configuration data is persisted in multiple locations:SharedPreferences Keys
SharedPreferences Keys
Hardware Storage
Hardware Storage
- TPK Index: Secure storage index for Terminal PIN Key
- Device Serial: Retrieved via
NetPosSdk.getDeviceSerial() - Keys are written using
NetPosSdk.writeTpkKey()to secure hardware
Terminal ID Management
The terminal ID is retrieved from the current user:Using Storm Terminal ID
NetPOS can switch between NIBSS and Storm-assigned terminal IDs:Encryption Keys
NetPOS uses different key sets based on environment:Production Keys (POSVAS)
Test Keys
Connection Settings
Connection to NIBSS uses SSL/TLS encryption:Network Requirements
- Protocol: ISO 8583 over SSL/TLS
- Timeout: Configurable per transaction type
- Retry Logic: Automatic retry on network failures
- Firewall: Allow outbound connections to NIBSS IP on specified port
Best Practices
Daily Configuration
Allow automatic daily call home to keep terminal updated
Secure Storage
Never log or expose encryption keys in production
Error Handling
Monitor configuration status and handle failures gracefully
Network Stability
Ensure stable network connection during configuration
See Also
- Network Setup - Configure network connectivity
- Troubleshooting - Resolve configuration issues
- White-Label Setup - Bank-specific configurations