{"_id":"@cardknox/js-sdk","_rev":"6-65eb3eaac229d7cde7ba0f65be54c52d","name":"@cardknox/js-sdk","dist-tags":{"latest":"1.1.221-0.2401"},"versions":{"1.1.221-0.2401":{"name":"@cardknox/js-sdk","version":"1.1.221-0.2401","author":{"email":"developersupport@cardknox.com"},"license":"","_id":"@cardknox/js-sdk@1.1.221-0.2401","maintainers":[{"name":"rezwan-ck","email":"rezwan@cardknox.com"},{"name":"mweisz-ck","email":"mweisz@cardknox.com"},{"name":"mstein-ck","email":"mstein@cardknox.com"},{"name":"ymwymw","email":"ymwymw@gmail.com"}],"homepage":"https://github.com/cardknox/cardknox-sdk-js#readme","bugs":{"url":"https://www.cardknox.com/contact/","email":"developersupport@cardknox.com"},"dist":{"shasum":"f65b6ef67f1438249d75615a8ff6e11d87191fe5","tarball":"https://registry.npmjs.org/@cardknox/js-sdk/-/js-sdk-1.1.221-0.2401.tgz","fileCount":4,"integrity":"sha512-W2xWdK7GG343ComwbiB66z97W598hTPMzk2qwwl34kRqGXXCoUMq2xvWfqC9tglMfWAP04oDY/N9SBlwajTjew==","signatures":[{"sig":"MEUCIQCfn2iA4P1fpytC5UsgFusMPQFWXj9HyKwhuVLDECzHqAIgBEkxNk68g/cbGxHF3eYmJ9uGTbkvsNaYAsDEWz8yPJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjYYsNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQEA//cFb36GBJPc6dPJSJhNX/Qn1fBH4EZ0Y8sEgkAj0MH04ceso1\r\nor8hi4YdqxLB/O49JNWwYjj9BLNv4kHCrjb76FDFelJdDufyuJZmkWxOCaJy\r\nk1TBoQCchxYzBQMovYKbKQYFuFWu/tL8nxBAWZUKDOqCAtiCooL5uFkqpIey\r\nYh5g6MVwfIzcxcQb80rolU3RYSvACd6BiBJjbZvkaNpEpoUHzs/swUW3p4Sm\r\nj41Ruz4GIEWspSGZzLyttADtycOQmN6Z1/zWqwMW9BO0WtYoxW1Gizsf9WiS\r\nPbwfRnKm82nFLnpRqH1ToyMlwze6mWa54j8MDICWVBOFg8G+RldCH5wSNtWP\r\nPA+C50Vak1irempJE7MFlIcG1/9HWue2NzJtXvysBbhxlR96oaTeZPkQ+FTN\r\naToqSLDhPMZ+z2+yfgY7UIM1063ZwvOJiGSN0ofAK7fOAGSixj5aZ7pv7Jv5\r\nmCtQHmNr4trWIGD5YTVYdulawwQq0OiuJ3rnMBp8JTOYIH2ANZwWWH/LaTog\r\nG0Wxy1/PhENoKEnNJwy+se9ZNOngQB2Ue8WWqpoVjcvggzAatIYJuL6ych5q\r\nCXeOf25/ZxaTAaj4LbW+f6suNDrmxYC9mZ4OqSAsBfoJN+jsgnSApYXHl71c\r\nn35jPwj81GYmoEqLgGPMSn454EgQfxQ9/So=\r\n=EydD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cardknox-sdk.min.js","gitHead":"e30ec1207d214cb40a38e46b2fda16f4af69c372","scripts":{"test":"echo \"TODO: create test\" && exit 0","build":"webpack --config webpack.prod.config.js","start":"start http://lh.cardknox.com:4000/sample.html && start light-server -s public -p 4000 -w \"public/**\" && npm run watch","watch":"webpack --config webpack.dev.config.js --watch","build-dev":"webpack --config webpack.dev.config.js"},"_npmUser":{"name":"mstein-ck","email":"mstein@cardknox.com"},"repository":{"url":"git+https://github.com/cardknox/cardknox-sdk-js.git","type":"git"},"_npmVersion":"8.5.5","coreVersion":"1.1","description":"A library for communicating with Cardknox supported terminals and the Cardknox Gateway","directories":{},"_nodeVersion":"16.15.0","dependencies":{"is-ip":"^3.1.0","validate":"^5.1.0","@babel/runtime":"^7.10.4"},"buildRevision":".2210.2401","_hasShrinkwrap":false,"releaseChannel":"stable","devDependencies":{"eslint":"^7.4.0","aws-sdk":"^2.1057.0","webpack":"^5.72.0","showdown":"^1.9.1","@babel/core":"^7.10.4","webpack-cli":"^4.9.2","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","light-server":"^2.7.0","eslint-loader":"^4.0.2","@babel/preset-env":"^7.10.4","copy-webpack-plugin":"^6.0.3","clean-webpack-plugin":"^3.0.0","@babel/plugin-transform-runtime":"^7.10.4","@babel/plugin-syntax-class-properties":"^7.10.4","@babel/plugin-proposal-class-properties":"^7.10.4"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_1.1.221-0.2401_1667336973576_0.5198081196944369","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-11-01T21:09:33.520Z","modified":"2025-09-30T20:23:52.545Z","1.1.221-0.2401":"2022-11-01T21:09:33.736Z"},"bugs":{"url":"https://www.cardknox.com/contact/","email":"developersupport@cardknox.com"},"author":{"email":"developersupport@cardknox.com"},"homepage":"https://github.com/cardknox/cardknox-sdk-js#readme","repository":{"url":"git+https://github.com/cardknox/cardknox-sdk-js.git","type":"git"},"description":"A library for communicating with Cardknox supported terminals and the Cardknox Gateway","maintainers":[{"email":"mweisz@cardknox.com","name":"mweisz-ck"},{"email":"rezwan@cardknox.com","name":"rezwan-ck"},{"email":"sergealt@hotmail.com","name":"sergealt"},{"email":"mstein@cardknox.com","name":"mstein-ck"},{"email":"jdick@solapayments.com","name":"solajdick"}],"readme":"# cardknox-sdk-js\r\n\r\n## SDK\r\n\r\n### HTTPS\r\n\r\nTo enable _https_ on the Pax device, please contact [support](mailto:support@cardkox.com).\r\n\r\nTo avoid the need for a self-signed certificate, Cardknox provides a SSL certificate pointing to the local IP address. The format for the host name is \\<ip-{IP address replacing the periods with dashes}.mylocaldevice.com\\> i.e. for IP address 192.168.1.1 the host name would be _ip-192-168-1-1.mylocaldevice.com_. The SDK will automatically format the host name correctly when the protocol is _https_.\r\n\r\nA DNS entry must exist, mapping the host name to the IP address. The SDK will check that the entry exists if there are network errors.\r\n\r\nTo create a DNS entry, use the tool located [here](http://localdevice.us-west-2.elasticbeanstalk.com/). This can also be done via API.\r\n\r\n```\r\ncurl --request POST \\\r\n  --url http://localdevice.us-west-2.elasticbeanstalk.com/api/dnsrecord/save \\\r\n  --header 'Content-Type: multipart/form-data' \\\r\n  --form ip=192.168.1.1\r\n```\r\n\r\n### Process\r\n\r\n##### Process a transaction\r\n\r\n<table>\r\n    <tr>\r\n        <th></th>\r\n        <th>Args</th>\r\n        <th>Returns</th>\r\n    </tr>\r\n    <tr>\r\n        <th>Type</th>\r\n        <td>TransactionRequest</td>\r\n        <td>TransactionResponse</td>\r\n    </tr>\r\n</table>\r\n\r\n---\r\n\r\n### Get Signature\r\n\r\n##### Prompts for signature on the device\r\n\r\nThis returns a base64 encoded PNG *without the data header*.\r\n\r\n<table>\r\n    <tr>\r\n        <th></th>\r\n        <th>Args</th>\r\n        <th>Returns</th>\r\n    </tr>\r\n    <tr>\r\n        <th>Type</th>\r\n        <td>Settings</td>\r\n        <td>String</td>\r\n    </tr>\r\n</table>\r\n\r\n---\r\n\r\n### TransactionRequest\r\n\r\n<table>\r\n    <tr>\r\n        <th>Name</th>\r\n        <th>Type</th>\r\n        <th>Description</th>\r\n        <th>Valid values</th>\r\n    </tr>\r\n    <tr>\r\n        <td>xSoftwareName</td>\r\n        <td>String</td>\r\n        <td>Your software name</td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>xSoftwareVersion</td>\r\n        <td>String</td>\r\n        <td>Your software version</td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>xCommand</td>\r\n        <td>String</td>\r\n        <td>Transaction type</td>\r\n        <td>Enum xCommand</td>\r\n    </tr>\r\n    <tr>\r\n        <td>xAmount</td>\r\n        <td>Number</td>\r\n        <td>Transaction amount.</td>\r\n        <td>Format: #.##</td>\r\n    </tr>\r\n    <tr>\r\n        <td>xTip</td>\r\n        <td>Number</td>\r\n        <td>Tip amount included in the transaction amount.</td>\r\n        <td>Format: #.##</td>\r\n    </tr>\r\n    <tr>\r\n        <td>xInvoice</td>\r\n        <td>String</td>\r\n        <td>Invoice number</td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>xCustom02</td>\r\n        <td>String</td>\r\n        <td>Custom data</td>\r\n        <td>Max length of 4 (will be truncated)</td>\r\n    </tr>\r\n    <tr>\r\n        <td>xAllowDuplicate</td>\r\n        <td>Boolean</td>\r\n        <td>If true, host will not check for duplicate</td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>settings</td>\r\n        <td>Settings</td>\r\n        <td>Transaction settings, these should be the same for all transactions</td>\r\n        <td></td>\r\n    </tr>\r\n</table>\r\n</table>\r\n\r\n---\r\n\r\n### Settings\r\n\r\n<table>\r\n    <tr>\r\n        <th>Name</th>\r\n        <th>Type</th>\r\n        <th>Description</th>\r\n        <th>Valid values</th>\r\n    </tr>\r\n    <tr>\r\n        <td>deviceIpAddress</td>\r\n        <td>String</td>\r\n        <td>IP address of your device. When the protocol is <em>https</em> the <em>mylocaldevice.com</em> domain name will be used. See <a href=\"#HTTPS\">HTTPS</a></td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>deviceIpPort</td>\r\n        <td>String</td>\r\n        <td>IP port of your device. Default is \"10009\"</td>\r\n        <td></td>\r\n    </tr>\r\n    <tr>\r\n        <td>deviceIpProtocol</td>\r\n        <td>String</td>\r\n        <td>The protocol to use to talk to the device. Defaults to the <em>location</em> protocol</td>\r\n        <td></td>\r\n    </tr>\r\n</table>\r\n\r\n---\r\n\r\n### xCommand\r\n\r\nList of supported transaction types.\r\n\r\nThese enums are available from the SDK.\r\n\r\n<table>\r\n    <tr>\r\n        <th>Name</th>\r\n        <th>Command</th>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_SALE</td>\r\n        <td>cc:sale</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_CREDIT</td>\r\n        <td>cc:credit</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_AUTHONLY</td>\r\n        <td>cc:authonly</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_CAPTURE</td>\r\n        <td>cc:capture</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_POSTAUTH</td>\r\n        <td>cc:postauth</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_VOID</td>\r\n        <td>cc:void</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_VOIDRELEASE</td>\r\n        <td>cc:voidrelease</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_VOIDREFUND</td>\r\n        <td>cc:voidrefund</td>\r\n    </tr>\r\n    <tr>\r\n        <td>CC_BALANCE</td>\r\n        <td>cc:balance</td>\r\n    </tr>\r\n    <tr>\r\n        <td>EBTFS_SALE</td>\r\n        <td>ebtfs:sale</td>\r\n    </tr>\r\n    <tr>\r\n        <td>EBTFS_CREDIT</td>\r\n        <td>ebtfs:credit</td>\r\n    </tr>\r\n    <tr>\r\n        <td>EBTFS_BALANCE</td>\r\n        <td>ebtfs:balance</td>\r\n    </tr>\r\n    <tr>\r\n        <td>EBTCB_SALE</td>\r\n        <td>ebtcb:sale</td>\r\n    </tr>\r\n    <tr>\r\n        <td>EBTCB_BALANCE</td>\r\n        <td>ebtcb:balance</td>\r\n    </tr>\r\n    <tr>\r\n        <td>GIFT_REDEEM</td>\r\n        <td>gift:redeem</td>\r\n    </tr>\r\n    <tr>\r\n        <td>GIFT_ISSUE</td>\r\n        <td>gift:issue</td>\r\n    </tr>\r\n    <tr>\r\n        <td>GIFT_BALANCE</td>\r\n        <td>gift:balance</td>\r\n    </tr>\r\n</table>\r\n","readmeFilename":"README.md"}