added imps transactions payment feature

This commit is contained in:
2025-08-22 15:31:13 +05:30
parent 1e32b4a5a6
commit 0d2cea8902
4 changed files with 117 additions and 0 deletions

36
src/routes/imps.route.js Normal file
View File

@@ -0,0 +1,36 @@
const express = require('express');
const impsController = require('../controllers/imps.controller');
const { logger } = require('../util/logger');
const impsValidator = require('../validators/imps.validator');
const paymentSecretValidator = require('../validators/payment.secret.validator');
const router = express.Router();
router.use(impsValidator, paymentSecretValidator);
const impsRoute = async (req, res) => {
const { fromAccount, toAccount, ifscCode, amount, beneficiaryName } =
req.body;
try {
const result = await impsController.send(
fromAccount,
toAccount,
amount,
ifscCode,
beneficiaryName,
'SAVING',
'check'
);
if (result.startsWith('Message produced successfully')) {
return res.json({ message: 'SUCCESS' });
} else {
return res.json({ error: 'INVALID_REQUEST' });
}
} catch (error) {
logger.error(error, 'error occured while doing IMPS');
return res.json({ error: 'INTERVAL_SERVER_ERROR' });
}
};
module.exports = impsRoute;

View File

@@ -7,6 +7,7 @@ const transferRoute = require('./transfer.route');
const beneficiaryRoute = require('./beneficiary.route');
const neftRoute = require('./neft.route');
const rtgsRoute = require('./rtgs.route');
const impsRoute = require('./imps.route');
const { npciResponse } = require('../controllers/npci.controller');
const router = express.Router();
@@ -17,6 +18,7 @@ router.use('/transactions/account/:accountNo', authenticate, transactionRoute);
router.use('/payment/transfer', authenticate, transferRoute);
router.use('/payment/neft', authenticate, neftRoute);
router.use('/payment/rtgs', authenticate, rtgsRoute);
router.use('/payment/imps', authenticate, impsRoute);
router.use('/beneficiary', authenticate, beneficiaryRoute);
router.use('/npci/beneficiary-response', npciResponse);