diff --git a/partner-bayarkilat.js b/partner-bayarkilat.js index 800cbeb..a99510f 100644 --- a/partner-bayarkilat.js +++ b/partner-bayarkilat.js @@ -123,24 +123,40 @@ function requestToPartner(methodName, task, retry) { logger.info('Requesting to partner', {requestOption: options}); request(options, function(error, response, body) { if (error) { - logger.warn('Error requesting to partner', {error: error}); - callbackReport(task.requestId, '68', 'Error requesting to partner. ' + error); + var msg = 'Error requesting to partner. ' + error; + var rc = '68'; + + try { + if (methodName == 'PURCHASE') { + if (error.connect === true && (error.code === 'ETIMEDOUT' || error.code === 'ECONNREFUSED')) { + rc = '40'; + } + } + } + catch(e) { + logger.warn('Parsing error exception on requestToPartner()'); + } + + logger.warn(msg, {error: error}); + callbackReport(task.requestId, rc, msg); var _response = { - raw: 'Error requesting to partner. ' + error, + raw: JSON.stringify(msg: msg, error: error), parsed: { - MESSAGE: 'Error requesting to partner. ' + error, + MESSAGE: msg error: error } } - aaa.pushResponseToMongoDb(task, _response, '68'); - - setTimeout( - topupCheck, - delayBeforeCheckRetry, - task, - retry - ); + aaa.pushResponseToMongoDb(task, _response, rc); + + if (rc == '68') { + setTimeout( + topupCheck, + delayBeforeCheckRetry, + task, + retry + ); + } return; }