Commit 7c445dbb23c02d9b70506348a51852078bf37170

Authored by Adhidarma Hadiwinoto
1 parent bda3c085ef
Exists in master

Hapus # pada akhir sn

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