diff --git a/lib/parse-result.js b/lib/parse-result.js index ad7ce6a..d8a3f96 100644 --- a/lib/parse-result.js +++ b/lib/parse-result.js @@ -10,7 +10,9 @@ const report = require('./report'); const translateRc = require('./translate-rc'); module.exports = (xid, trxIdFromCaller, xml, isCallback) => { - logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid }); + logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid, isCallback }); + + const responseType = isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE'; if (!trxIdFromCaller && !isCallback) { if (logger) logger.warn(`${MODULE_NAME} 8CAAD7C9: No trx id on non callback`, { xid }); @@ -19,7 +21,8 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { const obj = parseXml(xid, xml); if (!obj) { - logger.warn(`${MODULE_NAME} B46CAAD1: Invalid XML`, { xid }); + const e = new Error(`${MODULE_NAME} B46CAAD1: Invalid XML`); + logger.warn(e.message, { xid }); if (trxIdFromCaller) { report(xid, { @@ -27,9 +30,11 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { rc: '68', message: { xid, - isDirectResponse: !isCallback, - isCallback: !!isCallback, - body: xml, + responseType, + 'GW-ERROR': { + message: e.message, + responseFromPartner: xml, + }, }, }); } @@ -49,10 +54,10 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { rc: '68', message: { xid, - responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', + responseType, 'GW-ERROR': { message: e.message, - response: obj, + responseFromPartner: obj, }, }, }); @@ -67,8 +72,9 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { const responseCodeField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.responseCode) || 'RESPONSECODE'; const responseCodeFromResponse = params[responseCodeField]; - const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; - const messageFromResponse = params[messageField]; + // eslint-disable-next-line max-len + // const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; + // const messageFromResponse = params[messageField]; const snField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.sn) || 'SN'; const snFromResponse = params[snField]; @@ -90,8 +96,7 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { message: { xid, responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', - message: messageFromResponse, - detail: params, + message: params, }, }); };