nets-service-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.modern.mjs +2 -0
- package/dist/index.modern.mjs.map +1 -0
- package/dist/index.module.js +2 -0
- package/dist/index.module.js.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +32 -0
package/README.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# NETS Service SDK
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install nets-service-sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Importing the SDK
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
const netsSdk = require('nets-service-sdk');
|
|
17
|
+
// OR destructure specific modules
|
|
18
|
+
const { communication, manageConfig, logger } = require('nets-service-sdk');
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Configuration Management
|
|
22
|
+
|
|
23
|
+
Manage your application configuration using `manageConfig`. It reads/writes to a `config.json` file in your project root.
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
const { manageConfig } = require('nets-service-sdk');
|
|
27
|
+
|
|
28
|
+
// Get entire configuration
|
|
29
|
+
const config = manageConfig.getConfig();
|
|
30
|
+
|
|
31
|
+
// Get specific config value
|
|
32
|
+
const port = manageConfig.getConfigByKey('com');
|
|
33
|
+
|
|
34
|
+
// Update configuration
|
|
35
|
+
manageConfig.updateConfig({ com: '/dev/ttyUSB0' });
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Serial Communication (Payment Terminal)
|
|
39
|
+
|
|
40
|
+
Handle communication with the NETS terminal.
|
|
41
|
+
|
|
42
|
+
```javascript
|
|
43
|
+
const { communication } = require('nets-service-sdk');
|
|
44
|
+
|
|
45
|
+
// Initialize the serial connection
|
|
46
|
+
// Ensure your config.json has 'com' (port) and 'terminal' settings
|
|
47
|
+
communication.initialize();
|
|
48
|
+
|
|
49
|
+
// Send a request to the terminal
|
|
50
|
+
// Types: 'STATUS_CHECK', 'LOGON', 'PAYMENT', 'CREDIT_PAYMENT'
|
|
51
|
+
communication.sentToTerminal('STATUS_CHECK', {});
|
|
52
|
+
|
|
53
|
+
// For Payment
|
|
54
|
+
communication.sentToTerminal('PAYMENT', {
|
|
55
|
+
amount: 1000, // Amount in cents
|
|
56
|
+
reference: 'ORDER123'
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Utility Functions
|
|
61
|
+
|
|
62
|
+
The SDK exports various utility functions directly.
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
const { padWithLeadingZeros, xorCalculation, generateServiceKey } = require('nets-service-sdk');
|
|
66
|
+
|
|
67
|
+
// Pad numbers
|
|
68
|
+
console.log(padWithLeadingZeros(5, 3)); // Output: "005"
|
|
69
|
+
|
|
70
|
+
// XOR Calculation for checksums
|
|
71
|
+
const checksum = xorCalculation("02313030");
|
|
72
|
+
|
|
73
|
+
// Generate Service Key
|
|
74
|
+
const key = generateServiceKey({ some: "payload" });
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Logging
|
|
78
|
+
|
|
79
|
+
Use the built-in Winston logger.
|
|
80
|
+
|
|
81
|
+
```javascript
|
|
82
|
+
const { logger } = require('nets-service-sdk');
|
|
83
|
+
const myLogger = logger(module);
|
|
84
|
+
|
|
85
|
+
myLogger.info('This is an info message');
|
|
86
|
+
myLogger.error('This is an error message');
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Modules
|
|
90
|
+
|
|
91
|
+
- **communication**: Handles serial port communication with the terminal.
|
|
92
|
+
- **manageConfig**: Reads and writes configuration to `config.json`.
|
|
93
|
+
- **utilsHelper**: General utility functions (padding, XOR, hex conversion, etc.).
|
|
94
|
+
- **logger**: Winston logger configuration.
|
|
95
|
+
- **queue**: Queue management (if applicable).
|
|
96
|
+
- **sendMessage**: Helper for sending messages (e.g., to socket rooms).
|
|
97
|
+
- **hexRequest**: Generates HEX requests for the terminal.
|
|
98
|
+
- **parser**: Parses responses from the terminal.
|
|
99
|
+
|
|
100
|
+
## License
|
|
101
|
+
|
|
102
|
+
ISC
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),u=require("./src/queue"),a=require("./src/sendMessage"),t=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:u,sendMessage:a,communication:t,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}const r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),t=require("./src/queue"),u=require("./src/sendMessage"),a=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:t,sendMessage:u,communication:a,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
|
|
2
|
+
//# sourceMappingURL=index.modern.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.modern.mjs","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,MAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,eACAC,QACAC,cACAC,gBACAC,aACAC,cACAC,SACAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),u=require("./src/queue"),a=require("./src/sendMessage"),t=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:u,sendMessage:a,communication:t,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
|
|
2
|
+
//# sourceMappingURL=index.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),i=require("./src/queue"),t=require("./src/sendMessage"),u=require("./src/payment/communication"),a=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:i,sendMessage:t,communication:u,hexRequest:a,httpRequest:c,parser:o,responseHandler:p})});
|
|
2
|
+
//# sourceMappingURL=index.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"qSAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nets-service-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Utility functions for OM Service",
|
|
5
|
+
"source": "index.js",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.module.js",
|
|
8
|
+
"unpkg": "dist/index.umd.js",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "microbundle",
|
|
11
|
+
"watch": "microbundle watch",
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [],
|
|
15
|
+
"author": "dineshhv",
|
|
16
|
+
"license": "ISC",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"dollars-to-cents": "^1.0.3",
|
|
22
|
+
"lodash": "^4.17.21",
|
|
23
|
+
"moment": "^2.29.4",
|
|
24
|
+
"request": "^2.88.2",
|
|
25
|
+
"serialport": "^10.5.0",
|
|
26
|
+
"socket.io-client": "^4.7.2",
|
|
27
|
+
"winston": "^3.8.2"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"microbundle": "^0.15.1"
|
|
31
|
+
}
|
|
32
|
+
}
|