handler-prepaid.js 1.15 KB
const MODULE_NAME = 'CALLBACK.HANDLER-PREPAID';

const logger = require('tektrans-logger');
const report = require('../report/prepaid');
const getFromReq = require('../get-from-params-body-qs');
const translateRc = require('../translate-rc');

module.exports = (req, res) => {
    const { xid } = res.locals;
    res.json({
        status: 'OK',
        error: null,
        ts: new Date(),
        xid,
    });

    const rcFromRequest = getFromReq(req, 'rc');
    const translatedRc = rcFromRequest && (translateRc[rcFromRequest] || rcFromRequest);
    logger.verbose(`${MODULE_NAME} 2B7BE44D: RC translated`, {
        xid,
        rcFromRequest,
        translatedRc,
    });

    report(xid, {
        trx_id: getFromReq(req, 'request_id'),
        rc: translatedRc || '68',
        sn: getFromReq(req, 'sn'),
        amount: Number(getFromReq(req, 'amount')) || undefined,
        balance: Number(getFromReq(req, 'ending_balance')) || undefined,
        message: {
            xid,
            CALLBACK: {
                ip: req.ip,
                method: req.method,
                body: req.body,
                qs: req.query,
            },
        },
    });
};