Commit a12a4d7452caa074de4e9f0d26f04cbbccda2361
1 parent
e303a718e9
Exists in
master
merge direct dan undirect response
Showing 1 changed file with 33 additions and 24 deletions Side-by-side Diff
partner-datacell.js
... | ... | @@ -85,26 +85,8 @@ function topupRequest(task, retry) { |
85 | 85 | console.log('Status code: ' + res.statusCode ); |
86 | 86 | var buffer = ""; |
87 | 87 | res.on( "data", function( data ) { buffer = buffer + data; } ); |
88 | - res.on( "end", function( data ) { | |
89 | - | |
90 | - xml2js(buffer, function (err, result) { | |
91 | - if (err) { | |
92 | - console.log(buffer); | |
93 | - callbackReport(task['requestId'], '40', buffer); | |
94 | - return; | |
95 | - } | |
96 | - | |
97 | - console.log(result); | |
98 | - | |
99 | - var response_code = '68'; | |
100 | - var message = result.datacell.message[0].trim(); | |
101 | - if (result.datacell.resultcode[0] == '999') { | |
102 | - response_code = '40'; | |
103 | - } | |
104 | - | |
105 | - callbackReport(task['requestId'], response_code, message); | |
106 | - }); | |
107 | - | |
88 | + res.on( "end", function( data ) { | |
89 | + topupResponseHandler(data); | |
108 | 90 | }); |
109 | 91 | |
110 | 92 | }); |
... | ... | @@ -117,12 +99,37 @@ function topupRequest(task, retry) { |
117 | 99 | req.end(); |
118 | 100 | } |
119 | 101 | |
102 | +function topupResponseHandler(body, request_id) { | |
103 | + xml2js(body, function (err, result) { | |
104 | + if (err) { | |
105 | + console.log(body); | |
106 | + callbackReport(request_id, '40', buffer); | |
107 | + return; | |
108 | + } | |
109 | + | |
110 | + console.log(result); | |
111 | + | |
112 | + request_id = result.datacell.ref_trxid[0].trim(): | |
113 | + | |
114 | + var response_code = '68'; | |
115 | + var message = result.datacell.message[0].trim(); | |
116 | + | |
117 | + if (result.datacell.resultcode[0] == '999') { | |
118 | + response_code = '40'; | |
119 | + | |
120 | + if (message.indexOf('Nomor tujuan salah') >= 0) { | |
121 | + response_code = '14'; | |
122 | + } | |
123 | + } | |
124 | + | |
125 | + callbackReport(request_id, response_code, message); | |
126 | + }); | |
127 | +} | |
128 | + | |
120 | 129 | function createServer() { |
121 | 130 | |
122 | 131 | var httpServer = http.createServer(function(req, res) { |
123 | - console.log('Got request from partner, url: ' + req.url); | |
124 | - //console.log('REQ:'); | |
125 | - //console.log(req); | |
132 | + console.log('Got request from partner ("' + req.url + '")'); | |
126 | 133 | |
127 | 134 | var body = ""; |
128 | 135 | req.on('data', function (chunk) { |
... | ... | @@ -130,9 +137,11 @@ function createServer() { |
130 | 137 | }); |
131 | 138 | |
132 | 139 | req.on('end', function () { |
133 | - console.log('POSTed: ' + body); | |
134 | 140 | res.writeHead(200); |
135 | 141 | res.end('OK'); |
142 | + | |
143 | + console.log(body); | |
144 | + topupResponseHandler(body); | |
136 | 145 | }); |
137 | 146 | }); |
138 | 147 |