Overview
NetPOS requires reliable network connectivity to communicate with NIBSS (Nigeria Inter-Bank Settlement System), backend APIs, and MQTT services. This guide covers network configuration, requirements, and troubleshooting.Network Requirements
Internet Connection
- Type: Wi-Fi or Mobile Data
- Speed: Minimum 2G/3G (4G recommended)
- Stability: Stable connection during transactions
Firewall Rules
- NIBSS: Allow outbound to
196.6.103.18:4016 - MQTT: Allow
storm-mqtt.netpluspay.com - API: Allow
*.netpluspay.com
SSL/TLS
- Protocol: TLS 1.2 or higher
- Certificates: Valid SSL certificates required
- Encryption: End-to-end encryption enabled
Ports
- NIBSS: Port 4016 (SSL)
- MQTT: Port 8883 (SSL) or 1883
- HTTPS: Port 443
NIBSS Connection
NetPOS connects to NIBSS using the ISO 8583 protocol over SSL/TLS.Connection Parameters
NIBSS server IP addressProduction:
196.6.103.18NIBSS server portProduction:
4016Enable SSL/TLS encryptionValue:
true (always required)Connection Configuration
The connection is established using:Connection parameters are automatically loaded from
ConfigurationData during terminal initialization.MQTT Integration
NetPOS uses MQTT for real-time notifications and remote terminal management.MQTT Broker Configuration
- Production
- Staging
- Host:
storm-mqtt.netpluspay.com - Port: 8883 (SSL) or 1883 (non-SSL)
- Protocol: MQTT 3.1.1 or 5.0
MQTT Topics
NetPOS subscribes to specific topics for different events:Terminal Configuration
Terminal Configuration
Topic:
mqtt.pos.terminal_config.eventUsed for:- Remote configuration updates
- Terminal parameter changes
- Key rotation notifications
Transaction Notifications
Transaction Notifications
Topic:
mqtt.pos.transaction.eventUsed for:- Real-time transaction updates
- Payment confirmations
- Status notifications
System Events
System Events
Topic:
mqtt.pos.system.eventUsed for:- App updates
- System maintenance notifications
- Emergency broadcasts
MQTT Connection Handling
API Endpoints
NetPOS communicates with multiple backend services:Storm API
Production:
https://storm-utilities.netpluspay.com/Staging: http://storm-utilities.test.netpluspay.com/- Transaction management
- End-of-day reports
- User authentication
- Bills payment
NetPOS Gateway
Main NetPOS API endpoint (configured in
local.properties)- Card transactions
- Transaction history
- Merchant operations
Zenith API
Zenith Bank-specific API endpoint
- Pay by transfer
- Account verification
- QR payments
QR Payment API
Contactless and QR payment services
- NIBSS QR
- MasterPass QR
- BlueCode
- Zenith QR
Network Error Handling
NetPOS implements comprehensive error handling for network issues:Common Network Errors
Connection Timeout
Connection Timeout
Error: “Connection timed out, failed to receive response from remote server”Causes:
- Slow network connection
- Server not responding
- Network congestion
- Check internet connectivity
- Retry transaction
- Switch to alternate network (Wi-Fi ↔ Mobile Data)
No Internet Connection
No Internet Connection
Error: “Could not connect to the internet, check your connection settings and try again”Causes:
- No active network connection
- Airplane mode enabled
- Network disabled
- Enable Wi-Fi or Mobile Data
- Disable airplane mode
- Check device network settings
Server Unreachable
Server Unreachable
Error: “Could not connect with remote server, check your connection settings and try again”Causes:
- Firewall blocking connection
- Incorrect server address
- Server maintenance
- Verify firewall rules
- Check server IP and port
- Contact support if server is down
Port Unreachable
Port Unreachable
Error: “Could not connect with remote server, port is unreachable”Causes:
- Port blocked by firewall
- Wrong port configuration
- Network policy restrictions
- Check firewall allows port 4016
- Verify port configuration
- Contact network administrator
Malformed URL
Malformed URL
Error: “Malformed url, check your connection settings and try again”Causes:
- Invalid URL format
- Configuration error
- Incorrect endpoint
- Verify API endpoints in configuration
- Check
local.propertiesURLs - Reconfigure terminal
Socket Errors
Socket Errors
Errors:
- “Could not bind socket to local address or port”
- “Could not create socket”
- Port already in use
- Network interface error
- System resource limitation
- Restart application
- Restart device
- Check for conflicting apps
Host Resolution
Host Resolution
Error: “Host address could not be recognized”Causes:
- DNS resolution failure
- Invalid hostname
- DNS server not responding
- Check DNS settings
- Use IP address instead of hostname
- Try alternate DNS (8.8.8.8)
Error Detection
Check if an error is network-related:Network Monitoring
NetPOS monitors network status to ensure transaction reliability:Connection State
Network Type Detection
SSL/TLS Configuration
Certificate Validation
NetPOS validates SSL certificates for all secure connections:- NIBSS connections require valid SSL certificates
- MQTT broker must have valid TLS certificate
- API endpoints must use HTTPS with valid certificates
Supported TLS Versions
- Minimum: TLS 1.2
- Recommended: TLS 1.3
- Cipher Suites: Strong encryption required
Firewall Configuration
Ensure your network allows these connections:Outbound Rules Required
| Service | Protocol | Destination | Port |
|---|---|---|---|
| NIBSS | TCP/SSL | 196.6.103.18 | 4016 |
| Storm MQTT (Prod) | TCP/SSL | storm-mqtt.netpluspay.com | 8883 |
| Storm MQTT (Test) | TCP/SSL | storm-mqtt.test.netpluspay.com | 8883 |
| Storm API (Prod) | HTTPS | storm-utilities.netpluspay.com | 443 |
| Storm API (Test) | HTTP/HTTPS | storm-utilities.test.netpluspay.com | 80/443 |
| NetPOS API | HTTPS | api.netpluspay.com | 443 |
Network Security
Best Practices
Connection Stability
- Use Wi-Fi for bulk operations
- Ensure stable connection during transactions
- Monitor network quality
Retry Logic
- Implement automatic retry for network failures
- Use exponential backoff
- Limit retry attempts
Offline Handling
- Queue transactions when offline
- Inform users of connection status
- Sync when connection restored
Security
- Always use SSL/TLS
- Validate certificates
- Never expose credentials
Testing Network Connectivity
Manual Tests
See Also
- Configuration - Terminal configuration setup
- Troubleshooting - Resolve network issues
- White-Label Setup - Bank-specific configurations