UNPKG

pagofacil-sign-payload

Version:

Librería para poder validar que la información enviada desde la persona corresponda correctamente. Esta depende de los datos básicos que entrega Pago Facil al momemto de inscribirse en el dashboard.

35 lines (30 loc) 1.13 kB
const crypto = require("crypto"); class PagoFacilSignPayload { constructor(){} signPayload(payload, secret, prefix = "x_", signature = "signature") { // console.log("PAYLOAD", payload, typeof payload, Object.values(payload),payload.length); console.log(payload); return new Promise((resolve, reject) => { let payloadFirmado; let firma = prefix + signature; let mensaje = ""; // console.log("payload.length", payload.length); for (var index in payload) { console.log("CONINDEX", payload[index]); if (index != firma) { mensaje += index + payload[index]; } } let hmac = crypto.createHmac('sha256', secret); hmac.setEncoding('hex'); hmac.write(mensaje); hmac.end(); payloadFirmado = hmac.read(); console.log("FIRMA FINAL", payloadFirmado); resolve(payloadFirmado) }) // console.log("signPayload"); // return payloadFirmado; } } module.exports = PagoFacilSignPayload;