diff --git a/partner-masterpulsa-voucher.js b/partner-masterpulsa-voucher.js index 3cb80dd..0a593fd 100644 --- a/partner-masterpulsa-voucher.js +++ b/partner-masterpulsa-voucher.js @@ -13,6 +13,20 @@ var redisClient; var adviceDelay = 30000; +function callbackReportWrapper(requestId, rc, message) { + try { + message = message.replace(/:/g, ' ').replace(/#/g, ' '); + message = message.replace(/\s+/g, ' '); + } + catch(err) { + if (logger) { + logger.warn('Exception on callbackReportWrapper: ' + err); + } + } + + callbackReport(requestId, rc, message); +} + function createRedisClient() { redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); } @@ -46,7 +60,7 @@ function topupRequest(task, retry) { var key = 'DUPCHECK.gw:' + config.globals.gateway_name + '.prod:' + task.remoteProduct + '.dest:' + task.destination + '.date:' + strftime('%Y%m%d', new Date); redisClient.get(key, function(err, data) { if (err) { - callbackReport(task.requestId, '40', 'Gagal cek anti transaksi duplikat (redis error)'); + callbackReportWrapper(task.requestId, '40', 'Gagal cek anti transaksi duplikat (redis error)'); return; } @@ -67,11 +81,11 @@ function topupRequest(task, retry) { advice(task, retry); } else { logger.verbose('Sudah ada trx dengan tujuan dan denom yg sama, requestId tidak sama. Batalkan.') - callbackReport(task.requestId, '55', 'Transaksi duplikat') + callbackReportWrapper(task.requestId, '55', 'Transaksi duplikat') } } catch(errJSONParse) { - callbackReport(task.requestId, '68', "error parsing json"); + callbackReportWrapper(task.requestId, '68', "error parsing json"); } } }); @@ -131,7 +145,7 @@ function reportPaymentSuccess(task, response) { logger.info('Report payment success to ST24', {task: task, response: response}); - callbackReport(task.requestId, '00', message); + callbackReportWrapper(task.requestId, '00', message); } function reportPaymentError(task, response) { @@ -145,7 +159,7 @@ function reportPaymentError(task, response) { logger.info('Report payment error/pending to ST24', {supplier_rc: errorCode, st24_rc: st24rc, task: task, response: response}); - callbackReport( + callbackReportWrapper( task.requestId, getST24ResponseCode(errorCode), response.raw