UNPKG

@martcarrefour/robokassa

Version:

Robokassa Node.JS integration (Note: Original repository is now actively maintained)

28 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateReceivingSignatureValue = exports.buildExpectedReceivingSignatureString = void 0; const calculateHash_1 = require("./calculateHash"); const buildExpectedReceivingSignatureString = ({ password2, response, }) => { const userParameters = Object.entries(response).filter(([key]) => key?.toLowerCase().startsWith('shp_')); const signatureUserParams = userParameters.map(([key, value]) => `${key}=${value?.toString() ?? ''}`) ?? []; // Порядок параметров важен, сортируем по алфавиту signatureUserParams.sort((a, b) => a.localeCompare(b)); const signatureValues = [ response.OutSum, response.InvId, password2, ...signatureUserParams, ].filter((value) => value !== undefined); return signatureValues.join(':'); }; exports.buildExpectedReceivingSignatureString = buildExpectedReceivingSignatureString; const calculateReceivingSignatureValue = ({ hashAlgorithm, password2, response, }) => { const expectedString = (0, exports.buildExpectedReceivingSignatureString)({ password2, response, }); return (0, calculateHash_1.calculateHash)(hashAlgorithm, expectedString); }; exports.calculateReceivingSignatureValue = calculateReceivingSignatureValue; //# sourceMappingURL=calculateReceivingSignatureValue.js.map