From fc32e9c785811fa9f9fc1ce51dfc7c59a22a1f70 Mon Sep 17 00:00:00 2001 From: asif Date: Tue, 24 Feb 2026 11:57:45 +0530 Subject: [PATCH] positive pay added --- src/routes/index.js | 2 ++ src/routes/positive_pay.route.js | 51 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/routes/positive_pay.route.js diff --git a/src/routes/index.js b/src/routes/index.js index 85f5b7a..7e29725 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -21,6 +21,7 @@ const otp = require('./otp.route'); const reports = require('./report.route'); const eMandate = require('./emandate.route'); const chequeRoute = require('./cheque.route'); +const ppsRoute = require('./positive_pay.route'); const router = express.Router(); router.use('/auth', authRoute); @@ -36,6 +37,7 @@ router.use('/e-mandate', authenticate, eMandate); router.use('/branch', authenticate, branchRoute); router.use('/atm', authenticate, atmRoute); router.use('/cheque', authenticate, chequeRoute); +router.use('/pps', authenticate, ppsRoute); // OTP router.use('/otp', otp); diff --git a/src/routes/positive_pay.route.js b/src/routes/positive_pay.route.js new file mode 100644 index 0000000..72e4e69 --- /dev/null +++ b/src/routes/positive_pay.route.js @@ -0,0 +1,51 @@ +const express = require('express'); +const { logger } = require('../util/logger'); +const axios = require('axios'); +const paymentSecretValidator = require('../validators/payment.secret.validator'); + +const ppsRegisterRoute = async (req, res) => { + console.log('hit pps'); + const { cheque_no, account_number, issue_date, amount, payee_name } = + req.body; + console.log(cheque_no, account_number, issue_date, amount, payee_name); + + if (!account_number || !cheque_no) { + console.log('missing'); + return res.status(400).json({ error: 'BAD_REQUEST' }); + } + + try { + const response = await axios.post( + 'http://localhost:8989/api/pps/register', + { + cheque_no: cheque_no, + account_number: account_number, + issue_date: issue_date, + amount: amount, + payee_name: payee_name, + } + ); + + console.log('response from pps register: ', response.data); + return res.json(response.data); + } catch (e) { + logger.error('Unable to fetch cheque data: ', e); + if (axios.isAxiosError(e)) { + if (e.response) { + // Server responded with a status outside 2xx + return res.status(e.response.status).json(e.response.data); + } else { + return res + .status(e.response.status) + .json({ error: 'UNKNOWN', message: 'NO_RESPONSE_FROM_CBS' }); + } + } + return res.status(500).json({ error: 'INTERNAL_SERVER_ERROR' }); + } +}; + +const router = express.Router(); +router.use(paymentSecretValidator); +router.post('/', ppsRegisterRoute); + +module.exports = router;