Commit 3950ebfdf1f89f9c2b2e3319d8591e0dad69a883
1 parent
36643bcd72
Exists in
master
parsing response dari sds ss
Showing 1 changed file with 15 additions and 7 deletions Inline Diff
lib/http-server/routers/updates/index.js
1 | const MODULE_NAME = 'HTTP-SERVER.ROUTER.UPDATES'; | 1 | const MODULE_NAME = 'HTTP-SERVER.ROUTER.UPDATES'; |
2 | 2 | ||
3 | const express = require('express'); | 3 | const express = require('express'); |
4 | const axios = require('axios').default; | 4 | const axios = require('axios').default; |
5 | const logger = require('tektrans-logger'); | 5 | const logger = require('tektrans-logger'); |
6 | 6 | ||
7 | const config = require('../../../config'); | 7 | const config = require('../../../config'); |
8 | 8 | ||
9 | const router = express.Router(); | 9 | const router = express.Router(); |
10 | 10 | ||
11 | module.exports = router; | 11 | module.exports = router; |
12 | 12 | ||
13 | const client = axios.create({ | 13 | const client = axios.create({ |
14 | baseURL: config.core.url, | 14 | baseURL: config.core.url, |
15 | timeout: config.core.request_timeout_ms, | 15 | timeout: config.core.request_timeout_ms, |
16 | headers: { | 16 | headers: { |
17 | 'x-access-token': config.core.access_token, | 17 | 'x-access-token': config.core.access_token, |
18 | }, | 18 | }, |
19 | }); | 19 | }); |
20 | 20 | ||
21 | const pageUpdate = async (req, res) => { | 21 | const pageUpdate = async (req, res) => { |
22 | const { xid } = res.locals; | 22 | const { xid } = res.locals; |
23 | let data = req.query; | 23 | let data = req.query; |
24 | if (req.method.toUpperCase() !== 'GET') { | 24 | if (req.method.toUpperCase() !== 'GET') { |
25 | data = req.body; | 25 | data = req.body; |
26 | } | 26 | } |
27 | 27 | ||
28 | try { | 28 | try { |
29 | logger.verbose(`${MODULE_NAME} 9E5C70C8: update from sds`, { xid, data }); | 29 | logger.verbose(`${MODULE_NAME} 9E5C70C8: update from sds`, { xid, data }); |
30 | const requestIds = data.trxid.split('-'); | ||
31 | let trxId = ''; | ||
32 | if (Array.isArray(requestIds) && requestIds.length > 0) { | ||
33 | trxId = requestIds[requestIds.length - 1]; | ||
34 | } | ||
35 | |||
36 | let rc = '68'; | ||
37 | if (data.status === 'S') { | ||
38 | rc = '00'; | ||
39 | } else if (data.status === 'F' || data.status === 'R') { | ||
40 | rc = '40'; | ||
41 | } | ||
30 | const params = { | 42 | const params = { |
31 | id: data.request_id, | 43 | id: trxId, |
32 | rc: data.rc, | 44 | rc, |
33 | amount: data.amount || null, | ||
34 | message: data.message, | 45 | message: data.message, |
35 | sn: data.sn || null, | 46 | sn: data.sn || null, |
36 | bill_count: data.bill_count, | 47 | related_data: JSON.stringify(data), |
37 | bill_amount: data.bill_amount, | ||
38 | related_data: null, | ||
39 | amount_to_charge: data.amount_to_charge, | ||
40 | }; | 48 | }; |
41 | 49 | ||
42 | client.post('/transactions/gateway-update', params).then((result) => { | 50 | client.post('/transactions/gateway-update', params).then((result) => { |
43 | logger.verbose(`${MODULE_NAME} A8DA0D04: response from core2`, { | 51 | logger.verbose(`${MODULE_NAME} A8DA0D04: response from core2`, { |
44 | xid, | 52 | xid, |
45 | response: result.data, | 53 | response: result.data, |
46 | }); | 54 | }); |
47 | }).catch((err) => { | 55 | }).catch((err) => { |
48 | logger.warn(`${MODULE_NAME} 32EB485C: Exception on request to core2`, { | 56 | logger.warn(`${MODULE_NAME} 32EB485C: Exception on request to core2`, { |
49 | xid, | 57 | xid, |
50 | eMessage: err.message, | 58 | eMessage: err.message, |
51 | eCode: err.code, | 59 | eCode: err.code, |
52 | }); | 60 | }); |
53 | }); | 61 | }); |
54 | 62 | ||
55 | res.json({ error: false, message: 'OK' }); | 63 | res.json({ error: false, message: 'OK' }); |
56 | } catch (e) { | 64 | } catch (e) { |
57 | logger.warn(`${MODULE_NAME} B12B4A2C: Exception.`, { | 65 | logger.warn(`${MODULE_NAME} B12B4A2C: Exception.`, { |
58 | xid, eMessage: e.message, eCode: e.code, | 66 | xid, eMessage: e.message, eCode: e.code, |
59 | }); | 67 | }); |
60 | res.status(500).json({ | 68 | res.status(500).json({ |
61 | error: true, | 69 | error: true, |
62 | error_code: e.code, | 70 | error_code: e.code, |
63 | message: e.message, | 71 | message: e.message, |
64 | }); | 72 | }); |
65 | } | 73 | } |
66 | }; | 74 | }; |