UNPKG

rocketfuel-node-sdk

Version:

JS SDK for RocketFuel Payment Method

23 lines (19 loc) 948 B
import crypto from 'crypto'; import CustomError from '../../CustomError'; import { STRING_CONST } from '../const'; const { publicKey } = STRING_CONST.keys; function verifySignature(body, signature) { const verifier = crypto.createVerify('RSA-SHA256'); verifier.update(body); return verifier.verify(publicKey, signature, 'base64'); } export default function webhook() { return async (requestBody) => { try { const payloadData = requestBody.data.data; // {"amount":"24","conversionRate":{"fiatCurrency":"USD","rate":1},"cryptoAmount":"24","cryptoCurrency":"USD","currency":"USD","offerId":"1636958602062","paymentStatus":"1","receivedAmount":"0","referenceId":"d6aa31b1-a1fe-4da2-b79c-b469be153581","status":true,"transactionId":"d46fa703-acb8-41fe-8a4d-dd92d179b2fc"} return verifySignature(payloadData, requestBody.signature); } catch (err) { throw new CustomError(err.message, err.response.data); } }; }