@hounddesk/epayco-signature-verifier
Version:
ePayco Signature verifier used for transactions integrity checks
22 lines • 1.04 kB
JavaScript
;
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