Commit 000766ded5ffdf0108ce34ab5a411bbeb159834e
1 parent
bcefc9c286
Exists in
master
Indikasi topUpReport message ke CORE
Showing 1 changed file with 3 additions and 1 deletions Inline Diff
lib/reverse-report.js
1 | "use strict"; | 1 | "use strict"; |
2 | 2 | ||
3 | const xmlrpc = require('xmlrpc'); | 3 | const xmlrpc = require('xmlrpc'); |
4 | const stringify = require("json-stringify-pretty-compact"); | ||
4 | 5 | ||
5 | const config = require('komodo-sdk/config'); | 6 | const config = require('komodo-sdk/config'); |
6 | const logger = require('komodo-sdk/logger'); | 7 | const logger = require('komodo-sdk/logger'); |
7 | const matrix = require('komodo-sdk/matrix'); | 8 | const matrix = require('komodo-sdk/matrix'); |
8 | const pull = require('komodo-sdk/gateway/pull'); | 9 | const pull = require('komodo-sdk/gateway/pull'); |
9 | 10 | ||
10 | const st24 = require('./st24'); | 11 | const st24 = require('./st24'); |
11 | const partner = require('./partner'); | 12 | const partner = require('./partner'); |
12 | const partnerRc = require('./partner-rc.json'); | 13 | const partnerRc = require('./partner-rc.json'); |
13 | 14 | ||
14 | function create() { | 15 | function create() { |
15 | if (!config || !config.reverse_report_port) { | 16 | if (!config || !config.reverse_report_port) { |
16 | logger.info('Not creating reverse report server because of undefined config.reverse_report_port'); | 17 | logger.info('Not creating reverse report server because of undefined config.reverse_report_port'); |
17 | return; | 18 | return; |
18 | } | 19 | } |
19 | 20 | ||
20 | const server = xmlrpc.createServer({ port: config.reverse_report_port }); | 21 | const server = xmlrpc.createServer({ port: config.reverse_report_port }); |
21 | 22 | ||
22 | logger.info('Reverse report server listen on port ' + config.reverse_report_port); | 23 | logger.info('Reverse report server listen on port ' + config.reverse_report_port); |
23 | 24 | ||
24 | server.on('NotFound', function (method, params) { | 25 | server.on('NotFound', function (method, params) { |
25 | logger.warn('REVERSEREPORT: Unknown method recevied on XMLRPC server', {method: method, params: params}); | 26 | logger.warn('REVERSEREPORT: Unknown method recevied on XMLRPC server', {method: method, params: params}); |
26 | }); | 27 | }); |
27 | 28 | ||
28 | server.on('topUpReport', function (err, params, callback) { | 29 | server.on('topUpReport', function (err, params, callback) { |
29 | 30 | ||
30 | logger.info('REVERSEREPORT: Got XMLRPC topUpReport request from partner', {method: 'topUpReport', params: params}); | 31 | logger.info('REVERSEREPORT: Got XMLRPC topUpReport request from partner', {method: 'topUpReport', params: params}); |
31 | matrix.last_topupReport_params = params; | 32 | matrix.last_topupReport_params = params; |
32 | 33 | ||
33 | const paramsCount = params.length; | 34 | const paramsCount = params.length; |
34 | for (let i = 0; i < paramsCount; i++) { | 35 | for (let i = 0; i < paramsCount; i++) { |
35 | let value = params[i]; | 36 | let value = params[i]; |
36 | 37 | ||
37 | partner.report({ | 38 | partner.report({ |
38 | trx_id: value.REQUESTID, | 39 | trx_id: value.REQUESTID, |
39 | rc: partnerRc[value.RESPONSECODE] || '40', | 40 | rc: partnerRc[value.RESPONSECODE] || '40', |
40 | message: value.MESSAGE, | 41 | //message: value.MESSAGE, |
42 | message: 'topUpReport: ' + stringify(value); | ||
41 | sn: (value.SN || '').replace(/;$/, '') || st24.extractSnFromMessage(value.MESSAGE), | 43 | sn: (value.SN || '').replace(/;$/, '') || st24.extractSnFromMessage(value.MESSAGE), |
42 | amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE), | 44 | amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE), |
43 | balance: st24.extractBalanceFromMsg(value.MESSAGE, config.balance_pattern), | 45 | balance: st24.extractBalanceFromMsg(value.MESSAGE, config.balance_pattern), |
44 | raw: value, | 46 | raw: value, |
45 | misc: { | 47 | misc: { |
46 | } | 48 | } |
47 | }); | 49 | }); |
48 | } | 50 | } |
49 | 51 | ||
50 | callback(null, 'ACK REPORT OK'); | 52 | callback(null, 'ACK REPORT OK'); |
51 | }) | 53 | }) |
52 | } | 54 | } |
53 | 55 | ||
54 | create(); | 56 | create(); |
55 | 57 |