diff --git a/partner-otomax.js b/partner-otomax.js index 5394257..54f8fa5 100644 --- a/partner-otomax.js +++ b/partner-otomax.js @@ -111,7 +111,26 @@ function requestToPartner(task) { }); } +function getRequestIdFromTask(task) + if (typeof task == 'string') { + return task; + } + + try { + let requestId = task.requestId; + return requestId; + } + catch(e) {return}; +} + function parseMessage(task, message) { + let requestId = getRequestIdFromTask(task); + + if (!requestId) { + logger.warn('Invalid requestId on parseMessage', {task: task, message: message}); + return; + } + let rc = '68'; if (message.indexOf('SUKSES') >= 0) { @@ -120,6 +139,9 @@ function parseMessage(task, message) { else if (message.indexOf('GAGAL. Nomor tujuan salah') >= 0) { rc = '14'; } + else if (message.indexOf('NO HP TIDAK TERDAFTAR ATAU BUKAN NOMOR PRA-BAYAR') >= 0) { + rc = '14'; + } else if (message.indexOf('Gagal.') >= 0) { rc = '40'; } @@ -130,7 +152,7 @@ function parseMessage(task, message) { rc = '40'; } - callbackReport(task.requestId, rc, message); + callbackReport(requestId, rc, message); } function generateSign(userid, remoteProduct, destination, requestId, pin, password) {