diff --git a/package.json b/package.json index 17d95ea..98dd7ce 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "dependencies": { "request": "^2.72.0", "sate24": "git+http://gitlab.kodesumber.com/reload97/node-sate24.git", - "sate24-expresso": "git+http://gitlab.kodesumber.com/reload97/sate24-expresso.git" + "sate24-expresso": "git+http://gitlab.kodesumber.com/reload97/sate24-expresso.git", + "xml2js": "^0.4.16" }, "devDependencies": { "should": "^9.0.2" diff --git a/partner-bayarkilat.js b/partner-bayarkilat.js index fbeca44..303e114 100644 --- a/partner-bayarkilat.js +++ b/partner-bayarkilat.js @@ -1,6 +1,7 @@ var request = require('request'); var url = require('url'); var winston = require('winston'); +var xml2jsParser = require('xml2js').parseString; var config; var aaa; @@ -67,8 +68,26 @@ function topupRequest(task, retry) { return; } + /* logger.verbose('Got response', {requestId: task.requestId, responseBody: body}); callbackReport(task.requestId, '68', body); + */ + + parseResponse(body, task); + }); +} + +function parseResponse(body, task) { + xml2jsParser(body, function(err, response) { + if (err) { + logger.warn('Error parsing XML', {error: err, task: task, responseBody: body}); + + var message = 'Error parsing XML. ' + err + '. ' + body; + callbackReport(task.requestId, '68', message); + return; + } + + logger.info('Got response', {response: response}); }); }