Commit 048de639b42b71282562b6da67ae80cc2984ff13

Authored by Adhidarma Hadiwinoto
1 parent 8ca60437ec
Exists in master

coba lebih bersih

Showing 1 changed file with 40 additions and 12 deletions Side-by-side Diff

... ... @@ -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