diff --git a/src/controllers/beneficiary.controller.js b/src/controllers/beneficiary.controller.js index b779c9c..6c67294 100644 --- a/src/controllers/beneficiary.controller.js +++ b/src/controllers/beneficiary.controller.js @@ -22,4 +22,29 @@ async function validateWithinBank(req, res) { } } -module.exports = { validateWithinBank }; +async function validateOutsideBank(req, res) { + res.status(400).send('WIP. Try after sometime'); +} + +async function npciResponse(req, res) { + const { resp } = req.body; + console.log(req.body); + if (resp === 'Success') { + await handleNPCISuccess(resp); + } else { + await handleNPCIFailure(resp); + } + res.send('ok'); +} + +async function handleNPCISuccess(response) { + const { txnid, benename } = response; + console.log(txnid); + console.log(benename); +} + +async function handleNPCIFailure(response) { + console.log(response); +} + +module.exports = { validateWithinBank, npciResponse, validateOutsideBank }; diff --git a/src/routes/beneficiary.route.js b/src/routes/beneficiary.route.js index ed0d214..5d50b09 100644 --- a/src/routes/beneficiary.route.js +++ b/src/routes/beneficiary.route.js @@ -4,5 +4,7 @@ const beneficiaryController = require('../controllers/beneficiary.controller'); const router = express.Router(); router.get('/validate/within-bank', beneficiaryController.validateWithinBank); +router.get('/validate/outside-bank', beneficiaryController.validateOutsideBank); +router.post('/validate/npci-response', beneficiaryController.npciResponse); module.exports = router; diff --git a/src/services/beneficiary.service.js b/src/services/beneficiary.service.js index 512b0b4..84d15ad 100644 --- a/src/services/beneficiary.service.js +++ b/src/services/beneficiary.service.js @@ -1,10 +1,13 @@ +const axios = require('axios'); const { logger } = require('../util/logger'); async function validateWithinBank(accountNo) { - const url = `http://localhost:8687/kccb/cbs/acctInfo/details?stacctno=${accountNo}`; + const url = 'http://localhost:8687/kccb/cbs/acctInfo/details'; try { - const response = await fetch(url); - const data = await response.json(); + const response = await axios.get(url, { + params: { stacctno: accountNo }, + }); + const data = response.data; const customerName = data.customername; return customerName; } catch (error) {