44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
const axios = require('axios');
|
|
const { logger } = require('../util/logger');
|
|
|
|
async function send(
|
|
fromAccount,
|
|
toAccount,
|
|
amount,
|
|
ifscCode,
|
|
beneficiaryName,
|
|
beneficiaryAcctType = 'SAVING',
|
|
remarks = ''
|
|
) {
|
|
try {
|
|
const reqData = {
|
|
stBenAccNo: toAccount,
|
|
stBeneName: beneficiaryName,
|
|
stBenAccType: beneficiaryAcctType,
|
|
stBenIFSC: ifscCode,
|
|
stFromAccDetails: fromAccount,
|
|
stTransferAmount: amount,
|
|
stRemarks: remarks,
|
|
};
|
|
logger.info(reqData, 'request data to be sent to IMPS server');
|
|
const response = await axios.post(
|
|
'http://localhost:6768/kccb/api/IMPS/Producer',
|
|
reqData,
|
|
{
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
}
|
|
);
|
|
logger.info(response, 'response from IMPS');
|
|
return response.data;
|
|
} catch (error) {
|
|
logger.error(error, 'error from IMPS');
|
|
throw new Error(
|
|
'API call failed: ' + (error.response?.data?.message || error.message)
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = { send };
|