Commit 6bdc8c9087ff9af724e10d2ddb192161bb5b7eac
1 parent
ba13f67f80
Exists in
master
buang yg gak perlu
Showing 1 changed file with 1 additions and 197 deletions Side-by-side Diff
partner-trugee.js
... | ... | @@ -23,19 +23,6 @@ function calculateSignature(password, msisdn, timestamp) { |
23 | 23 | return xor.encode(a,b); |
24 | 24 | } |
25 | 25 | |
26 | -/** | |
27 | - * Kalkulasi signature untuk cek balance | |
28 | - * | |
29 | - * @deprecated | |
30 | - */ | |
31 | -function calculateBalanceSignature(userid, password, timestamp) { | |
32 | - var a = '0000' + timestamp; | |
33 | - var b = userid.substr(0, 4) + password; | |
34 | - | |
35 | - return xor.encode(a,b); | |
36 | -} | |
37 | - | |
38 | - | |
39 | 26 | function createPayload(task) { |
40 | 27 | var timestamp = strftime('%H%M%S'); |
41 | 28 | |
... | ... | @@ -56,11 +43,8 @@ function createPayload(task) { |
56 | 43 | } |
57 | 44 | |
58 | 45 | function topupRequest(task, retry) { |
59 | - //balanceCheck(); | |
60 | - | |
61 | - var payload_xml = createPayload(task); | |
62 | - //console.log(payload_xml); | |
63 | 46 | |
47 | + var payload_xml = createPayload(task); | |
64 | 48 | var partner = url.parse(config.h2h_out.partner); |
65 | 49 | |
66 | 50 | var request_options = { |
... | ... | @@ -114,113 +98,6 @@ function directResponseHandler(body, request_id) { |
114 | 98 | |
115 | 99 | } |
116 | 100 | |
117 | -function topupResponseHandler(body, request_id) { | |
118 | - console.log(body); | |
119 | - return; | |
120 | - xml2js(body, function (err, result) { | |
121 | - if (err) { | |
122 | - console.log(body); | |
123 | - callbackReport(request_id, '40', buffer); | |
124 | - return; | |
125 | - } | |
126 | - | |
127 | - console.log(result); | |
128 | - | |
129 | - request_id = result.datacell.ref_trxid[0].trim(); | |
130 | - | |
131 | - var response_code = '68'; | |
132 | - | |
133 | - var message = ''; | |
134 | - try { | |
135 | - if (result.datacell.message && result.datacell.message.length > 0) { | |
136 | - message = result.datacell.message[0].trim(); | |
137 | - } else if (result.datacell.msg && result.datacell.msg.length > 0) { | |
138 | - message = result.datacell.msg[0].trim(); | |
139 | - } | |
140 | - } | |
141 | - catch(err) { | |
142 | - message = 'exception saat parsing message'; | |
143 | - } | |
144 | - | |
145 | - if (result.datacell.resultcode && result.datacell.resultcode[0] == '999') { | |
146 | - response_code = '40'; | |
147 | - } | |
148 | - | |
149 | - if (message.indexOf('Nomor tujuan salah') >= 0) { | |
150 | - response_code = '14'; | |
151 | - } else if (message.indexOf('*GAGAL, transaksi yang sama sudah ada dalam 10 menit') >= 0) { | |
152 | - response_code = '55'; | |
153 | - } else if (message.indexOf('saldo sdh dikembalikan') >= 0) { | |
154 | - response_code = '40' | |
155 | - } else if (message.indexOf('Trx dpt diulang') >= 0) { | |
156 | - response_code = '40' | |
157 | - } else if (message.indexOf('SUKSES SN Operator:') >= 0) { | |
158 | - response_code = '00'; | |
159 | - | |
160 | - var sn = parseSN(message); | |
161 | - console.log ('SN Operator: ' + sn); | |
162 | - | |
163 | - if (sn) { | |
164 | - message = 'SN=' + sn + '; ' + message; | |
165 | - } else { | |
166 | - message = 'SN belum didapat. ' + message; | |
167 | - response_code = '68'; | |
168 | - } | |
169 | - } | |
170 | - | |
171 | - | |
172 | - var price = priceFromMessage(message); | |
173 | - if (price != null) { | |
174 | - console.log('Harga: ' + price); | |
175 | - trx_prices[request_id] = price; | |
176 | - setTimeout(deleteTrxPrice, 3 * 24 * 3600 * 1000, request_id); | |
177 | - } else if (response_code == '00' && trx_prices[request_id] !== undefined) { | |
178 | - price = trx_prices[request_id]; | |
179 | - console.log('Harga: ' + price); | |
180 | - message = message + ' -- Harga: ' + price; | |
181 | - } | |
182 | - | |
183 | - var balance = balanceFromMessage(message); | |
184 | - if (balance != null) { | |
185 | - console.log('Saldo: ' + balance); | |
186 | - trx_balances[request_id] = balance; | |
187 | - setTimeout(deleteTrxBalance, 3 * 24 * 3600 * 1000, request_id); | |
188 | - } else if (response_code == '00' && trx_balances[request_id] !== undefined) { | |
189 | - balance = trx_balances[request_id]; | |
190 | - console.log('Saldo: ' + balance); | |
191 | - message = message + ' -- Saldo: ' + balance; | |
192 | - } | |
193 | - | |
194 | - callbackReport(request_id, response_code, message); | |
195 | - }); | |
196 | -} | |
197 | - | |
198 | -function deleteTrxPrice(request_id) { | |
199 | - delete trx_prices[request_id]; | |
200 | -} | |
201 | - | |
202 | -function deleteTrxBalance(request_id) { | |
203 | - delete trx_balances[request_id]; | |
204 | -} | |
205 | - | |
206 | -function parseSN(message) { | |
207 | - var results = message.match(/SN Operator: .+ SN Kami/); | |
208 | - if (!results || results.length <= 0) { | |
209 | - return ''; | |
210 | - } | |
211 | - | |
212 | - var result = results[0]; | |
213 | - result = result.replace('SN Operator:', ''); | |
214 | - result = result.replace('SN Kami', ''); | |
215 | - result = result.trim(); | |
216 | - | |
217 | - if (result == '00') { | |
218 | - result = ''; | |
219 | - } | |
220 | - | |
221 | - return result; | |
222 | -} | |
223 | - | |
224 | 101 | function createServer() { |
225 | 102 | |
226 | 103 | var httpServer = http.createServer(function(req, res) { |
... | ... | @@ -247,77 +124,6 @@ function createServer() { |
247 | 124 | }); |
248 | 125 | } |
249 | 126 | |
250 | -function balanceCheck() { | |
251 | - var timestamp = strftime('%H%M%S'); | |
252 | - | |
253 | - var payload = { | |
254 | - datacell: [ | |
255 | - {perintah: 'saldo'}, | |
256 | - {userid: config.h2h_out.userid}, | |
257 | - {time: timestamp}, | |
258 | - {sgn: calculateBalanceSignature(config.h2h_out.userid, config.h2h_out.password, timestamp)} | |
259 | - ] | |
260 | - }; | |
261 | - | |
262 | - var postRequest = { | |
263 | - host: "202.152.62.2", | |
264 | - path: "/RELOAD97.php", | |
265 | - port: 7713, | |
266 | - method: "POST", | |
267 | - headers: { | |
268 | - 'Content-Type': 'text/xml', | |
269 | - 'Content-Length': Buffer.byteLength(payload_xml) | |
270 | - } | |
271 | - }; | |
272 | - | |
273 | - var buffer = ""; | |
274 | - var req = http.request( postRequest, function( res ) { | |
275 | - | |
276 | - console.log('Status code: ' + res.statusCode ); | |
277 | - var buffer = ""; | |
278 | - res.on( "data", function( data ) { buffer = buffer + data; } ); | |
279 | - res.on( "end", function( data ) { | |
280 | - console.log('CHECK BALANCE RESULT:'); | |
281 | - console.log(buffer); | |
282 | - }); | |
283 | - | |
284 | - }); | |
285 | - | |
286 | - req.on('error', function(e) { | |
287 | - console.log('problem with request: ' + e.message); | |
288 | - }); | |
289 | - | |
290 | - req.write( payload_xml ); | |
291 | - req.end(); | |
292 | - | |
293 | -} | |
294 | - | |
295 | -function balanceFromMessage(message) { | |
296 | - var matches = message.match(/Saldo: Rp (\d+)/); | |
297 | - | |
298 | - if (!matches) { | |
299 | - return null; | |
300 | - } | |
301 | - if (matches.length < 2) { | |
302 | - return null; | |
303 | - } | |
304 | - | |
305 | - return matches[1]; | |
306 | -} | |
307 | - | |
308 | -function priceFromMessage(message) { | |
309 | - var matches = message.match(/Harga: (\d+)/); | |
310 | - | |
311 | - if (!matches) { | |
312 | - return null; | |
313 | - } | |
314 | - if (matches.length < 2) { | |
315 | - return null; | |
316 | - } | |
317 | - | |
318 | - return matches[1]; | |
319 | -} | |
320 | - | |
321 | 127 | function start(_config, _callbackReport) { |
322 | 128 | config = _config; |
323 | 129 | callbackReport = _callbackReport |
... | ... | @@ -327,6 +133,4 @@ function start(_config, _callbackReport) { |
327 | 133 | |
328 | 134 | exports.start = start; |
329 | 135 | exports.topupRequest = topupRequest; |
330 | -exports.balanceFromMessage = balanceFromMessage; | |
331 | -exports.priceFromMessage = priceFromMessage; | |
332 | 136 | exports.calculateSignature = calculateSignature; |