@staxpayments/staxpayments-js 2.30.18

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.
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.BlockChypCrypto = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _require = require('@noble/hashes/hmac'),
12
+ hmac = _require.hmac;
13
+ var _require2 = require('@noble/hashes/sha256'),
14
+ sha256 = _require2.sha256;
15
+ var _require3 = require('@noble/hashes/utils'),
16
+ randomBytes = _require3.randomBytes,
17
+ bytesToHex = _require3.bytesToHex,
18
+ utf8ToBytes = _require3.utf8ToBytes;
19
+ var _require4 = require('@noble/curves/nist'),
20
+ p256 = _require4.p256;
21
+ var moment = require('moment');
22
+ var base32 = require('base32');
23
+ var aesjs = require('aes-js');
24
+ var BlockChypCrypto = exports.BlockChypCrypto = /*#__PURE__*/function () {
25
+ function BlockChypCrypto() {
26
+ (0, _classCallCheck2["default"])(this, BlockChypCrypto);
27
+ }
28
+ return (0, _createClass2["default"])(BlockChypCrypto, [{
29
+ key: "generateGatewayHeaders",
30
+ value: function generateGatewayHeaders(creds) {
31
+ var nonce = this.generateNonce();
32
+ var ts = this.generateIsoTimestamp();
33
+ var toSign = creds.apiKey + creds.bearerToken + ts + nonce;
34
+ var key = Buffer.from(creds.signingKey, 'hex');
35
+ var mac = hmac(sha256, key, utf8ToBytes(toSign));
36
+ var sig = bytesToHex(mac);
37
+ var results = {
38
+ 'Nonce': nonce,
39
+ 'Timestamp': ts,
40
+ 'Authorization': 'Dual ' + creds.bearerToken + ':' + creds.apiKey + ':' + sig
41
+ };
42
+ return results;
43
+ }
44
+ }, {
45
+ key: "encrypt",
46
+ value: function encrypt(hexKey, plainText) {
47
+ var key = Buffer.from(hexKey, 'hex').slice(0, 32);
48
+ var keyArr = (0, _toConsumableArray2["default"])(key);
49
+ var iv = randomBytes(16);
50
+ var ivArr = (0, _toConsumableArray2["default"])(iv);
51
+ var aesCbc = new aesjs.ModeOfOperation.cbc(keyArr, ivArr);
52
+ var plainBytes = aesjs.padding.pkcs7.pad(aesjs.utils.utf8.toBytes(plainText));
53
+ var encryptedBytes = aesCbc.encrypt(plainBytes);
54
+ return bytesToHex(iv) + aesjs.utils.hex.fromBytes(encryptedBytes);
55
+ }
56
+ }, {
57
+ key: "sha256Hash",
58
+ value: function sha256Hash(msg) {
59
+ var msgBytes = Buffer.from(msg, 'hex');
60
+ return bytesToHex(sha256(msgBytes));
61
+ }
62
+ }, {
63
+ key: "validateSignature",
64
+ value: function validateSignature(publicKey, msg, sig) {
65
+ // Hash the message
66
+ var msgHash = this.sha256Hash(msg);
67
+ var msgHashBytes = Buffer.from(msgHash, 'hex');
68
+
69
+ // Convert hex string coordinates to BigInt and create point
70
+ var pubKeyPoint = p256.ProjectivePoint.fromAffine({
71
+ x: BigInt('0x' + publicKey.x),
72
+ y: BigInt('0x' + publicKey.y)
73
+ });
74
+ var pubKeyBytes = pubKeyPoint.toRawBytes(false);
75
+
76
+ // Create signature from r, s components
77
+ var signature = new p256.Signature(BigInt('0x' + sig.r), BigInt('0x' + sig.s));
78
+ var sigBytes = signature.toCompactRawBytes();
79
+
80
+ // Verify signature
81
+ return p256.verify(sigBytes, msgHashBytes, pubKeyBytes, {
82
+ prehash: true
83
+ });
84
+ }
85
+ }, {
86
+ key: "decrypt",
87
+ value: function decrypt(hexKey, cipherText) {
88
+ var key = Buffer.from(hexKey, 'hex').slice(0, 32);
89
+ var keyArr = (0, _toConsumableArray2["default"])(key);
90
+ var cipherBytes = Buffer.from(cipherText, 'hex');
91
+ var iv = cipherBytes.slice(0, 16);
92
+ var aesCbc = new aesjs.ModeOfOperation.cbc(keyArr, iv);
93
+ var cipher = cipherBytes.slice(16, cipherBytes.length);
94
+ var cipherArr = (0, _toConsumableArray2["default"])(cipher);
95
+ var decryptedBytes = aesjs.padding.pkcs7.strip(aesCbc.decrypt(cipherArr));
96
+ return aesjs.utils.utf8.fromBytes(decryptedBytes);
97
+ }
98
+ }, {
99
+ key: "generateNonce",
100
+ value: function generateNonce() {
101
+ return base32.encode(randomBytes(32)).toUpperCase();
102
+ }
103
+ }, {
104
+ key: "generateIsoTimestamp",
105
+ value: function generateIsoTimestamp() {
106
+ return moment().utc().format('YYYY-MM-DDTHH:mm:ss') + 'Z';
107
+ }
108
+ }]);
109
+ }();
110
+ var CryptoUtils = new BlockChypCrypto();
111
+ var _default = exports["default"] = CryptoUtils;
package/dist/global.js ADDED
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var base = _interopRequireWildcard(require("./client"));
7
+ var root = _interopRequireWildcard(require("./staxpaymentsclient"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ if (typeof window !== 'undefined') {
12
+ window.staxpayments = _objectSpread(_objectSpread({}, base), root);
13
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.authRequestMapper = authRequestMapper;
7
+ exports.authResponseMapper = authResponseMapper;
8
+ /**
9
+ * Copyright 2019-2026 BlockChyp, Inc. All rights reserved. Use of this code is governed
10
+ * by a license that can be found in the LICENSE file.
11
+ *
12
+ * This file was generated automatically by the BlockChyp SDK Generator. Changes to this
13
+ * file will be lost every time the code is regenerated.
14
+ */
15
+
16
+ /**
17
+ * Maps a Stax Payments charge or preauth request onto the BlockChyp wire model. Fields not
18
+ * listed here carry the same name on both sides and are matched by name; the generated
19
+ * mapper spells every one of them out.
20
+ */
21
+ function authRequestMapper(src) {
22
+ var dst = {};
23
+ dst.tipAmount = src.tipAmount;
24
+ dst.taxAmount = src.taxAmount;
25
+ dst.terminalName = src.terminalName;
26
+ dst.amount = src.amount;
27
+ dst.currencyCode = src.currencyCode;
28
+ dst.promptForTip = src.promptForTip;
29
+ dst.test = src.test;
30
+ dst.enroll = src.enroll;
31
+ dst.externalPartnerMetadata = src.externalPartnerMetadata;
32
+ /**
33
+ * The caller's own reference rides out as externalTransactionRef. BlockChyp's own
34
+ * transactionRef is a different thing: it drives duplicate detection and transaction
35
+ * recall, and carries the Stax transaction id.
36
+ */
37
+ dst.externalTransactionRef = src.transactionRef;
38
+ return dst;
39
+ }
40
+
41
+ /**
42
+ * Maps a BlockChyp charge or preauth response onto the Stax Payments model. Fields not
43
+ * listed here are matched by name.
44
+ */
45
+ function authResponseMapper(src) {
46
+ var dst = {};
47
+ dst.success = src.success;
48
+ dst.error = src.error;
49
+ dst.responseDescription = src.responseDescription;
50
+ /**
51
+ * The Stax transaction id comes back in the transaction ref. BlockChyp's
52
+ * transactionId is BlockChyp's own id and is deliberately not surfaced.
53
+ */
54
+ dst.transactionId = src.transactionRef;
55
+ dst.approved = src.approved;
56
+ dst.authCode = src.authCode;
57
+ dst.requestedAmount = src.requestedAmount;
58
+ dst.authorizedAmount = src.authorizedAmount;
59
+ dst.currencyCode = src.currencyCode;
60
+ dst.entryMethod = src.entryMethod;
61
+ dst.maskedPan = src.maskedPan;
62
+ dst.network = src.network;
63
+ dst.timestamp = src.timestamp;
64
+ dst.status = src.status;
65
+ dst.cardMetadata = src.cardMetadata;
66
+ dst.receiptSuggestions = src.receiptSuggestions;
67
+ dst.test = src.test;
68
+ /**
69
+ * The caller's own reference comes back from externalTransactionRef, not from
70
+ * BlockChyp's transactionRef, which carries the Stax transaction id and is surfaced
71
+ * as transactionId.
72
+ */
73
+ dst.transactionRef = src.externalTransactionRef;
74
+ return dst;
75
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PaymentsClient = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var Mappers = _interopRequireWildcard(require("./mappers"));
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
+ /**
16
+ * Copyright 2019-2026 BlockChyp, Inc. All rights reserved. Use of this code is governed
17
+ * by a license that can be found in the LICENSE file.
18
+ *
19
+ * This file was generated automatically by the BlockChyp SDK Generator. Changes to this
20
+ * file will be lost every time the code is regenerated.
21
+ */
22
+ // PaymentsClient exposes the Payment Endpoints for the Stax Payments
23
+ // API. It is constructed by the root StaxPaymentsClient with a shared transport
24
+ // (StaxPaymentsBaseClient), so every namespace shares one transient-credential
25
+ // cache rather than exchanging credentials per namespace.
26
+ var PaymentsClient = exports.PaymentsClient = /*#__PURE__*/function () {
27
+ function PaymentsClient(base) {
28
+ (0, _classCallCheck2["default"])(this, PaymentsClient);
29
+ this.base = base;
30
+ }
31
+
32
+ /**
33
+ * Executes a standard direct preauth and capture.
34
+ */
35
+ // Takes and returns the Stax Payments models. The BlockChyp wire models are
36
+ // an implementation detail: the request is mapped on the way out and the
37
+ // reply on the way back.
38
+ return (0, _createClass2["default"])(PaymentsClient, [{
39
+ key: "charge",
40
+ value: (function () {
41
+ var _charge = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(request) {
42
+ var response;
43
+ return _regenerator["default"].wrap(function (_context) {
44
+ while (1) switch (_context.prev = _context.next) {
45
+ case 0:
46
+ _context.next = 1;
47
+ return this.base.routeTransaction('post', Mappers.authRequestMapper(request), '/api/charge', '/api/charge');
48
+ case 1:
49
+ response = _context.sent;
50
+ return _context.abrupt("return", Mappers.authResponseMapper(response.data));
51
+ case 2:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }, _callee, this);
56
+ }));
57
+ function charge(_x) {
58
+ return _charge.apply(this, arguments);
59
+ }
60
+ return charge;
61
+ }()
62
+ /**
63
+ * Executes a preauthorization intended to be captured later.
64
+ */
65
+ // Takes and returns the Stax Payments models. The BlockChyp wire models are
66
+ // an implementation detail: the request is mapped on the way out and the
67
+ // reply on the way back.
68
+ )
69
+ }, {
70
+ key: "preauth",
71
+ value: (function () {
72
+ var _preauth = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(request) {
73
+ var response;
74
+ return _regenerator["default"].wrap(function (_context2) {
75
+ while (1) switch (_context2.prev = _context2.next) {
76
+ case 0:
77
+ _context2.next = 1;
78
+ return this.base.routeTransaction('post', Mappers.authRequestMapper(request), '/api/preauth', '/api/preauth');
79
+ case 1:
80
+ response = _context2.sent;
81
+ return _context2.abrupt("return", Mappers.authResponseMapper(response.data));
82
+ case 2:
83
+ case "end":
84
+ return _context2.stop();
85
+ }
86
+ }, _callee2, this);
87
+ }));
88
+ function preauth(_x2) {
89
+ return _preauth.apply(this, arguments);
90
+ }
91
+ return preauth;
92
+ }())
93
+ }]);
94
+ }();
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.StaxPaymentsClient = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _client = require("./client");
11
+ var _payments = require("./payments");
12
+ var _terminals = require("./terminals");
13
+ /**
14
+ * Copyright 2019-2026 BlockChyp, Inc. All rights reserved. Use of this code is governed
15
+ * by a license that can be found in the LICENSE file.
16
+ *
17
+ * This file was generated automatically by the BlockChyp SDK Generator. Changes to this
18
+ * file will be lost every time the code is regenerated.
19
+ */
20
+ // StaxPaymentsClient is the root Stax Payments client. It builds the shared
21
+ // transport (StaxPaymentsBaseClient) once and exposes each API namespace
22
+ // (e.g. payments, terminals) as a property, so a single set of transient
23
+ // credentials is fetched, cached, and refreshed across every namespace rather
24
+ // than per namespace.
25
+ var StaxPaymentsClient = exports.StaxPaymentsClient = /*#__PURE__*/function () {
26
+ // Construct the root client with your Stax bearer token.
27
+ function StaxPaymentsClient(creds) {
28
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ (0, _classCallCheck2["default"])(this, StaxPaymentsClient);
30
+ this.base = new _client.StaxPaymentsBaseClient(creds, opts);
31
+ this.payments = new _payments.PaymentsClient(this.base);
32
+ this.terminals = new _terminals.TerminalsClient(this.base);
33
+ }
34
+
35
+ // heartbeat checks connectivity with the Stax Payments gateway.
36
+ return (0, _createClass2["default"])(StaxPaymentsClient, [{
37
+ key: "heartbeat",
38
+ value: function heartbeat() {
39
+ return this.base.heartbeat();
40
+ }
41
+
42
+ // Host configuration is shared across every namespace.
43
+ }, {
44
+ key: "setGatewayHost",
45
+ value: function setGatewayHost(host) {
46
+ this.base.setGatewayHost(host);
47
+ }
48
+ }, {
49
+ key: "getGatewayHost",
50
+ value: function getGatewayHost() {
51
+ return this.base.getGatewayHost();
52
+ }
53
+ }, {
54
+ key: "setTestGatewayHost",
55
+ value: function setTestGatewayHost(host) {
56
+ this.base.setTestGatewayHost(host);
57
+ }
58
+ }, {
59
+ key: "setDashboardHost",
60
+ value: function setDashboardHost(host) {
61
+ this.base.setDashboardHost(host);
62
+ }
63
+ }, {
64
+ key: "getDashboardHost",
65
+ value: function getDashboardHost() {
66
+ return this.base.getDashboardHost();
67
+ }
68
+ }, {
69
+ key: "setCoreHost",
70
+ value: function setCoreHost(host) {
71
+ this.base.setCoreHost(host);
72
+ }
73
+ }]);
74
+ }();
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TerminalsClient = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ /**
13
+ * Copyright 2019-2026 BlockChyp, Inc. All rights reserved. Use of this code is governed
14
+ * by a license that can be found in the LICENSE file.
15
+ *
16
+ * This file was generated automatically by the BlockChyp SDK Generator. Changes to this
17
+ * file will be lost every time the code is regenerated.
18
+ */
19
+ // TerminalsClient exposes the Terminal Management Endpoints for the Stax Payments
20
+ // API. It is constructed by the root StaxPaymentsClient with a shared transport
21
+ // (StaxPaymentsBaseClient), so every namespace shares one transient-credential
22
+ // cache rather than exchanging credentials per namespace.
23
+ var TerminalsClient = exports.TerminalsClient = /*#__PURE__*/function () {
24
+ function TerminalsClient(base) {
25
+ (0, _classCallCheck2["default"])(this, TerminalsClient);
26
+ this.base = base;
27
+ }
28
+
29
+ /**
30
+ * Tests connectivity with a payment terminal.
31
+ */
32
+ return (0, _createClass2["default"])(TerminalsClient, [{
33
+ key: "ping",
34
+ value: (function () {
35
+ var _ping = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(request) {
36
+ return _regenerator["default"].wrap(function (_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ return _context.abrupt("return", this.base.routeTransaction('post', request, '/api/test', '/api/terminal-test'));
40
+ case 1:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee, this);
45
+ }));
46
+ function ping(_x) {
47
+ return _ping.apply(this, arguments);
48
+ }
49
+ return ping;
50
+ }()
51
+ /**
52
+ * Returns routing and location data for a payment terminal.
53
+ */
54
+ )
55
+ }, {
56
+ key: "locate",
57
+ value: function locate(request) {
58
+ return this.base._gatewayRequest('post', '/api/terminal-locate', request);
59
+ }
60
+ /**
61
+ * Clears the line item display and any in progress transaction.
62
+ */
63
+ }, {
64
+ key: "clear",
65
+ value: (function () {
66
+ var _clear = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(request) {
67
+ return _regenerator["default"].wrap(function (_context2) {
68
+ while (1) switch (_context2.prev = _context2.next) {
69
+ case 0:
70
+ return _context2.abrupt("return", this.base.routeTransaction('post', request, '/api/clear', '/api/terminal-clear'));
71
+ case 1:
72
+ case "end":
73
+ return _context2.stop();
74
+ }
75
+ }, _callee2, this);
76
+ }));
77
+ function clear(_x2) {
78
+ return _clear.apply(this, arguments);
79
+ }
80
+ return clear;
81
+ }()
82
+ /**
83
+ * Returns the current status of a terminal.
84
+ */
85
+ )
86
+ }, {
87
+ key: "terminalStatus",
88
+ value: (function () {
89
+ var _terminalStatus = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(request) {
90
+ return _regenerator["default"].wrap(function (_context3) {
91
+ while (1) switch (_context3.prev = _context3.next) {
92
+ case 0:
93
+ return _context3.abrupt("return", this.base.routeTransaction('post', request, '/api/terminal-status', '/api/terminal-status'));
94
+ case 1:
95
+ case "end":
96
+ return _context3.stop();
97
+ }
98
+ }, _callee3, this);
99
+ }));
100
+ function terminalStatus(_x3) {
101
+ return _terminalStatus.apply(this, arguments);
102
+ }
103
+ return terminalStatus;
104
+ }()
105
+ /**
106
+ * Captures and returns a signature.
107
+ */
108
+ )
109
+ }, {
110
+ key: "captureSignature",
111
+ value: (function () {
112
+ var _captureSignature = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(request) {
113
+ return _regenerator["default"].wrap(function (_context4) {
114
+ while (1) switch (_context4.prev = _context4.next) {
115
+ case 0:
116
+ return _context4.abrupt("return", this.base.routeTransaction('post', request, '/api/capture-signature', '/api/capture-signature'));
117
+ case 1:
118
+ case "end":
119
+ return _context4.stop();
120
+ }
121
+ }, _callee4, this);
122
+ }));
123
+ function captureSignature(_x4) {
124
+ return _captureSignature.apply(this, arguments);
125
+ }
126
+ return captureSignature;
127
+ }()
128
+ /**
129
+ * Displays a new transaction on the terminal.
130
+ */
131
+ )
132
+ }, {
133
+ key: "newTransactionDisplay",
134
+ value: (function () {
135
+ var _newTransactionDisplay = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(request) {
136
+ return _regenerator["default"].wrap(function (_context5) {
137
+ while (1) switch (_context5.prev = _context5.next) {
138
+ case 0:
139
+ return _context5.abrupt("return", this.base.routeTransaction('post', request, '/api/txdisplay', '/api/terminal-txdisplay'));
140
+ case 1:
141
+ case "end":
142
+ return _context5.stop();
143
+ }
144
+ }, _callee5, this);
145
+ }));
146
+ function newTransactionDisplay(_x5) {
147
+ return _newTransactionDisplay.apply(this, arguments);
148
+ }
149
+ return newTransactionDisplay;
150
+ }()
151
+ /**
152
+ * Appends items to an existing transaction display. Subtotal, Tax, and Total are
153
+ * overwritten by the request. Items with the same description are combined into
154
+ * groups.
155
+ */
156
+ )
157
+ }, {
158
+ key: "updateTransactionDisplay",
159
+ value: (function () {
160
+ var _updateTransactionDisplay = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(request) {
161
+ return _regenerator["default"].wrap(function (_context6) {
162
+ while (1) switch (_context6.prev = _context6.next) {
163
+ case 0:
164
+ return _context6.abrupt("return", this.base.routeTransaction('put', request, '/api/txdisplay', '/api/terminal-txdisplay'));
165
+ case 1:
166
+ case "end":
167
+ return _context6.stop();
168
+ }
169
+ }, _callee6, this);
170
+ }));
171
+ function updateTransactionDisplay(_x6) {
172
+ return _updateTransactionDisplay.apply(this, arguments);
173
+ }
174
+ return updateTransactionDisplay;
175
+ }()
176
+ /**
177
+ * Displays a short message on the terminal.
178
+ */
179
+ )
180
+ }, {
181
+ key: "message",
182
+ value: (function () {
183
+ var _message = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(request) {
184
+ return _regenerator["default"].wrap(function (_context7) {
185
+ while (1) switch (_context7.prev = _context7.next) {
186
+ case 0:
187
+ return _context7.abrupt("return", this.base.routeTransaction('post', request, '/api/message', '/api/message'));
188
+ case 1:
189
+ case "end":
190
+ return _context7.stop();
191
+ }
192
+ }, _callee7, this);
193
+ }));
194
+ function message(_x7) {
195
+ return _message.apply(this, arguments);
196
+ }
197
+ return message;
198
+ }()
199
+ /**
200
+ * Asks the consumer a yes/no question.
201
+ */
202
+ )
203
+ }, {
204
+ key: "booleanPrompt",
205
+ value: (function () {
206
+ var _booleanPrompt = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(request) {
207
+ return _regenerator["default"].wrap(function (_context8) {
208
+ while (1) switch (_context8.prev = _context8.next) {
209
+ case 0:
210
+ return _context8.abrupt("return", this.base.routeTransaction('post', request, '/api/boolean-prompt', '/api/boolean-prompt'));
211
+ case 1:
212
+ case "end":
213
+ return _context8.stop();
214
+ }
215
+ }, _callee8, this);
216
+ }));
217
+ function booleanPrompt(_x8) {
218
+ return _booleanPrompt.apply(this, arguments);
219
+ }
220
+ return booleanPrompt;
221
+ }()
222
+ /**
223
+ * Asks the consumer a text based question.
224
+ */
225
+ )
226
+ }, {
227
+ key: "textPrompt",
228
+ value: (function () {
229
+ var _textPrompt = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(request) {
230
+ return _regenerator["default"].wrap(function (_context9) {
231
+ while (1) switch (_context9.prev = _context9.next) {
232
+ case 0:
233
+ return _context9.abrupt("return", this.base.routeTransaction('post', request, '/api/text-prompt', '/api/text-prompt'));
234
+ case 1:
235
+ case "end":
236
+ return _context9.stop();
237
+ }
238
+ }, _callee9, this);
239
+ }));
240
+ function textPrompt(_x9) {
241
+ return _textPrompt.apply(this, arguments);
242
+ }
243
+ return textPrompt;
244
+ }()
245
+ /**
246
+ * Returns all terminals associated with the merchant account.
247
+ */
248
+ )
249
+ }, {
250
+ key: "terminals",
251
+ value: function terminals(request) {
252
+ return this.base._dashboardRequest('get', '/api/terminals', request);
253
+ }
254
+ /**
255
+ * Deactivates a terminal.
256
+ */
257
+ }, {
258
+ key: "deactivateTerminal",
259
+ value: function deactivateTerminal(request) {
260
+ return this.base._dashboardRequest('delete', '/api/terminal/' + request.terminalId, request);
261
+ }
262
+ /**
263
+ * Activates a terminal.
264
+ */
265
+ }, {
266
+ key: "activateTerminal",
267
+ value: (function () {
268
+ var _activateTerminal = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0(request) {
269
+ return _regenerator["default"].wrap(function (_context0) {
270
+ while (1) switch (_context0.prev = _context0.next) {
271
+ case 0:
272
+ return _context0.abrupt("return", this.base._coreRequest('post', '/terminals', request));
273
+ case 1:
274
+ case "end":
275
+ return _context0.stop();
276
+ }
277
+ }, _callee0, this);
278
+ }));
279
+ function activateTerminal(_x0) {
280
+ return _activateTerminal.apply(this, arguments);
281
+ }
282
+ return activateTerminal;
283
+ }()
284
+ /**
285
+ * Reboot a payment terminal.
286
+ */
287
+ )
288
+ }, {
289
+ key: "reboot",
290
+ value: (function () {
291
+ var _reboot = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1(request) {
292
+ return _regenerator["default"].wrap(function (_context1) {
293
+ while (1) switch (_context1.prev = _context1.next) {
294
+ case 0:
295
+ return _context1.abrupt("return", this.base.routeTransaction('post', request, '/api/reboot', '/api/terminal-reboot'));
296
+ case 1:
297
+ case "end":
298
+ return _context1.stop();
299
+ }
300
+ }, _callee1, this);
301
+ }));
302
+ function reboot(_x1) {
303
+ return _reboot.apply(this, arguments);
304
+ }
305
+ return reboot;
306
+ }())
307
+ }]);
308
+ }();