Commit 048de639b42b71282562b6da67ae80cc2984ff13
1 parent
8ca60437ec
Exists in
master
coba lebih bersih
Showing 1 changed file with 40 additions and 12 deletions Side-by-side Diff
partner-fm.js
... | ... | @@ -152,33 +152,34 @@ function topupResponseHandler(xmlResponse, _requestId, cb) { |
152 | 152 | |
153 | 153 | logger.info('Response parsed', {data: data}); |
154 | 154 | |
155 | - try { | |
156 | - msg = data.fm.message[0]; | |
157 | - } | |
158 | - catch(e) { | |
159 | - msg = 'Unknown message' | |
155 | + msg = getMessageFromResponse(data); | |
156 | + if (!msg) { | |
157 | + msg = 'Unknown message'; | |
160 | 158 | } |
161 | 159 | |
162 | - if (data.fm.status[0] == '0') { | |
160 | + var status = getStatusFromResponse(data); | |
161 | + | |
162 | + if (status == '0') { | |
163 | 163 | |
164 | 164 | rc = '00'; |
165 | 165 | msg = modifyMessageWithSn(msg); |
166 | 166 | logger.verbose('Modify message on success message', {msg: msg}); |
167 | 167 | |
168 | - } else if (data.fm.status[0] == '1') { | |
168 | + } else if (status == '1') { | |
169 | 169 | rc = '68'; |
170 | - } else if (data.fm.status[0] == '2') { | |
170 | + } else if (status == '2') { | |
171 | 171 | rc = '40'; |
172 | - } else if (data.fm.status[0] == '3') { | |
172 | + } else if (status == '3') { | |
173 | 173 | rc = '40'; |
174 | 174 | } else { |
175 | 175 | rc = '68'; |
176 | + msg = msg + '. Status is not valid ' + status; | |
176 | 177 | } |
177 | 178 | |
178 | - if (data.fm.refTrxid[0]) { | |
179 | - requestId = data.fm.refTrxid[0]; | |
179 | + var requestIdFromData = getRequestIdFromResponse(data); | |
180 | + if (requestIdFromData) { | |
181 | + requestId = requestIdFromData; | |
180 | 182 | } |
181 | - | |
182 | 183 | } |
183 | 184 | |
184 | 185 | cb(requestId, rc, msg, xmlResponse) |
... | ... | @@ -217,6 +218,33 @@ function getSnFromMessage(msg) { |
217 | 218 | } |
218 | 219 | } |
219 | 220 | |
221 | +function getStatusFromResponse(msg) { | |
222 | + try { | |
223 | + return data.fm.status[0]; | |
224 | + } | |
225 | + catch(e) { | |
226 | + return; | |
227 | + } | |
228 | +} | |
229 | + | |
230 | +function getMessageFromResponse(msg) { | |
231 | + try { | |
232 | + return data.fm.message[0]; | |
233 | + } | |
234 | + catch(e) { | |
235 | + return; | |
236 | + } | |
237 | +} | |
238 | + | |
239 | +function getRequestIdFromResponse(msg) { | |
240 | + try { | |
241 | + return data.fm.refTrxid[0]; | |
242 | + } | |
243 | + catch(e) { | |
244 | + return; | |
245 | + } | |
246 | +} | |
247 | + | |
220 | 248 | function modifyMessageWithSn(msg) { |
221 | 249 | var sn = getSnFromMessage(msg); |
222 | 250 |