Commit 5f9c539d6556fc03a3c3718309842f0baf449a37
1 parent
ee5a6e87a1
Exists in
master
parseSN
Showing 1 changed file with 26 additions and 1 deletions Side-by-side Diff
partner-datacell.js
... | ... | @@ -129,17 +129,42 @@ function topupResponseHandler(body, request_id) { |
129 | 129 | response_code = '40'; |
130 | 130 | } |
131 | 131 | |
132 | - | |
133 | 132 | if (message.indexOf('Nomor tujuan salah') >= 0) { |
134 | 133 | response_code = '14'; |
135 | 134 | } else if (message.indexOf('*GAGAL, transaksi yang sama sudah ada dalam 10 menit') >= 0) { |
136 | 135 | response_code = '55'; |
136 | + } else if (message.indexOf('SUKSES SN Operator:') >= 0) { | |
137 | + response_code = '00'; | |
138 | + var sn = parseSN(message); | |
139 | + if (!sn) { | |
140 | + | |
141 | + try { | |
142 | + sn = result.datacell.trxid[0].trim(); | |
143 | + } | |
144 | + catch(err) { | |
145 | + sn = ''; | |
146 | + } | |
147 | + } | |
148 | + message = 'SN=' + sn + '; ' + message; | |
137 | 149 | } |
138 | 150 | |
139 | 151 | callbackReport(request_id, response_code, message); |
140 | 152 | }); |
141 | 153 | } |
142 | 154 | |
155 | +function parseSN(message) { | |
156 | + var results = message.match(/SN Operator: .+ SN Kami/); | |
157 | + if (!results || results.length <= 0) { | |
158 | + return ''; | |
159 | + } | |
160 | + | |
161 | + var result = results[0]; | |
162 | + result = result.replace('SN Operator:'); | |
163 | + result = result.replace('SN Kami'); | |
164 | + result = result.trim(); | |
165 | + return result; | |
166 | +} | |
167 | + | |
143 | 168 | function createServer() { |
144 | 169 | |
145 | 170 | var httpServer = http.createServer(function(req, res) { |