nets-service-sdk
v1.0.2
Published
Utility functions for Nets Service
Readme
NETS Service SDK
A utility library for integrating with NETS payment terminals and handling related operations. This SDK provides tools for serial communication, message parsing, configuration management, and common utility functions.
Installation
npm install nets-service-sdkUsage
Importing the SDK
const netsSdk = require('nets-service-sdk');
// OR destructure specific modules
const { communication, manageConfig, logger } = require('nets-service-sdk');Configuration Management
Manage your application configuration using manageConfig. It reads/writes to a config.json file in your project root.
const { manageConfig } = require('nets-service-sdk');
// Get entire configuration
const config = manageConfig.getConfig();
// Get specific config value
const port = manageConfig.getConfigByKey('com');
// Update configuration
manageConfig.updateConfig({ com: '/dev/ttyUSB0' });Serial Communication (Payment Terminal)
Handle communication with the NETS terminal.
const { communication } = require('nets-service-sdk');
// Initialize the serial connection
// Ensure your config.json has 'com' (port) and 'terminal' settings
communication.initialize();
// Send a request to the terminal
// Types: 'STATUS_CHECK', 'LOGON', 'PAYMENT', 'CREDIT_PAYMENT'
communication.sentToTerminal('STATUS_CHECK', {});
// For Payment
communication.sentToTerminal('PAYMENT', {
amount: 1000, // Amount in cents
reference: 'ORDER123'
});Utility Functions
The SDK exports various utility functions directly.
const { padWithLeadingZeros, xorCalculation, generateServiceKey } = require('nets-service-sdk');
// Pad numbers
console.log(padWithLeadingZeros(5, 3)); // Output: "005"
// XOR Calculation for checksums
const checksum = xorCalculation("02313030");
// Generate Service Key
const key = generateServiceKey({ some: "payload" });Logging
Use the built-in Winston logger.
const { logger } = require('nets-service-sdk');
const myLogger = logger(module);
myLogger.info('This is an info message');
myLogger.error('This is an error message');Modules
- communication: Handles serial port communication with the terminal.
- manageConfig: Reads and writes configuration to
config.json. - utilsHelper: General utility functions (padding, XOR, hex conversion, etc.).
- logger: Winston logger configuration.
- queue: Queue management (if applicable).
- sendMessage: Helper for sending messages (e.g., to socket rooms).
- hexRequest: Generates HEX requests for the terminal.
- parser: Parses responses from the terminal.
License
ISC
