diff --git a/partner-cjk.js b/partner-cjk.js index 9daf556..f51bd50 100644 --- a/partner-cjk.js +++ b/partner-cjk.js @@ -82,6 +82,19 @@ function hasSuccessKeywords(message) { return false; } +function supplierRcToST24Rc(rc) { + var rcs = { + '0001': '40', + '0019': '51', + } + + if (rcs[rc]) { + return rcs[rc]; + } else { + return; + } +} + function topupResponseHandler(body) { //logger.info('Got reply from partner', {body: body}); xml2js(body, function(err, result) { @@ -90,7 +103,7 @@ function topupResponseHandler(body) { } logger.info('XML message from partner', {result: result}); - var rc = '40'; + var rc = '68'; var message = result.ciwaru.msg[0]; var trxid = 0; @@ -101,13 +114,15 @@ function topupResponseHandler(body) { trxid = result.ciwaru.trxid[0]; } - if (hasSuccessKeywords(message)) { + if (message.indexOf('PENDING') >= 0) { + rc = '68'; + } + else if (hasSuccessKeywords(message)) { var sn = getSNFromMessage(result.ciwaru.msg); message = 'SN=' + sn + '; ' + message; rc = '00'; - } - else if (message.indexOf('PENDING') >= 0) { - rc = '68'; + } else { + rc = supplierRcToST24Rc(result.ciwaru.rc[0]); } callbackReport(trxid, rc, message);