UNPKG

@martcarrefour/robokassa

Version:

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

31 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateSendingSignatureValue = exports.buildSendingSignatureString = void 0; const calculateHash_1 = require("./calculateHash"); const buildSendingSignatureString = ({ merchantLogin, password1, order, }) => { const signatureUserParams = Object.entries(order.userParameters ?? {}).map(([key, value]) => `${key}=${value?.toString() ?? ''}`) ?? []; // Порядок параметров важен, сортируем по алфавиту signatureUserParams.sort((a, b) => a.localeCompare(b)); const signatureValues = [ merchantLogin, order.outSum, order.invId, order.outSumCurrency, order.userIp, order.receipt ? JSON.stringify(order.receipt) : undefined, password1, ...signatureUserParams, ]; return signatureValues.filter((value) => value !== undefined).join(':'); }; exports.buildSendingSignatureString = buildSendingSignatureString; const calculateSendingSignatureValue = ({ hashAlgorithm, merchantLogin, password1, order, }) => { const signatureString = (0, exports.buildSendingSignatureString)({ merchantLogin, password1, order, }); return (0, calculateHash_1.calculateHash)(hashAlgorithm, signatureString); }; exports.calculateSendingSignatureValue = calculateSendingSignatureValue; //# sourceMappingURL=calculateSendingSignatureValue.js.map