diff --git a/partner-datacell.js b/partner-datacell.js index 53f0e05..c378241 100644 --- a/partner-datacell.js +++ b/partner-datacell.js @@ -129,17 +129,42 @@ function topupResponseHandler(body, request_id) { response_code = '40'; } - if (message.indexOf('Nomor tujuan salah') >= 0) { response_code = '14'; } else if (message.indexOf('*GAGAL, transaksi yang sama sudah ada dalam 10 menit') >= 0) { response_code = '55'; + } else if (message.indexOf('SUKSES SN Operator:') >= 0) { + response_code = '00'; + var sn = parseSN(message); + if (!sn) { + + try { + sn = result.datacell.trxid[0].trim(); + } + catch(err) { + sn = ''; + } + } + message = 'SN=' + sn + '; ' + message; } callbackReport(request_id, response_code, message); }); } +function parseSN(message) { + var results = message.match(/SN Operator: .+ SN Kami/); + if (!results || results.length <= 0) { + return ''; + } + + var result = results[0]; + result = result.replace('SN Operator:'); + result = result.replace('SN Kami'); + result = result.trim(); + return result; +} + function createServer() { var httpServer = http.createServer(function(req, res) {