UNPKG

@hounddesk/epayco-signature-verifier

Version:

ePayco Signature verifier used for transactions integrity checks

22 lines 1.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const hashTypes_1 = __importDefault(require("./lib/hashTypes")); const hash_1 = __importDefault(require("./lib/hash")); /** * Verifies the transaction integrity against the provided signature. * @param signature * @param transaction * @param separator * @param hashType * @returns boolean */ function verify({ signature, transaction, separator, hashType = hashTypes_1.default }) { const signatureToVerify = `${signature.clientId}${separator}${signature.privateKey}${separator}${transaction.reference}${separator}${transaction.transactionId}${separator}${transaction.amount}${separator}${transaction.currencyCode}`; const hashedTransaction = hash_1.default({ data: signatureToVerify, hashType }); return hashedTransaction === signature.hash; } exports.verify = verify; //# sourceMappingURL=index.js.map