UNPKG

seerbit-nodejs

Version:
38 lines 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const getJsonResponse_1 = __importDefault(require("../helpers/getJsonResponse")); const initializeStandardTransaction_1 = __importDefault(require("./resource/standard/initializeStandardTransaction")); const service_1 = __importDefault(require("../service")); const crypto_1 = __importDefault(require("crypto")); class Standard extends service_1.default { constructor(client) { super(client); this._initializeStandardTransaction = new initializeStandardTransaction_1.default(this); } Initialize(requestPayload) { requestPayload = this.ensurePayloadIsComplete(requestPayload); let buildStringToHash = ""; for (const pl in requestPayload) { buildStringToHash += pl + "=" + requestPayload[pl] + "&"; } const stringToHash = buildStringToHash.substr(0, buildStringToHash.length - 1) + this.client.config.secretKey; requestPayload.hash = crypto_1.default.createHash("sha256").update(stringToHash).digest("hex"); requestPayload.hashType = "sha256"; return getJsonResponse_1.default(this._initializeStandardTransaction, requestPayload, { isTokenRequired: true, isPost: true }); } ensurePayloadIsComplete(requestPayload) { if (!Object.prototype.hasOwnProperty.call(requestPayload, "productDescription")) { requestPayload.productDescription = null; } if (!Object.prototype.hasOwnProperty.call(requestPayload, "productId")) { requestPayload.productId = null; } requestPayload.publicKey = this.client.config.publicKey; return requestPayload; } } exports.default = Standard; //# sourceMappingURL=standard.js.map