diff --git a/lib/parse-result.js b/lib/parse-result.js
index 5a988cf..ad7ce6a 100644
--- a/lib/parse-result.js
+++ b/lib/parse-result.js
@@ -23,7 +23,7 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
 
         if (trxIdFromCaller) {
             report(xid, {
-                trx_id: trxIdFromCaller,
+                trx_id: trxIdFromCaller.toString(),
                 rc: '68',
                 message: {
                     xid,
@@ -38,6 +38,27 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
     }
 
     const params = getParamsMemberObj(obj, false);
+
+    if (!params) {
+        const e = new Error(`${MODULE_NAME} A7B7EB30: Can not get params from message`);
+        logger.warn(e.message, { xid });
+
+        if (trxIdFromCaller) {
+            report(xid, {
+                trx_id: trxIdFromCaller.toString(),
+                rc: '68',
+                message: {
+                    xid,
+                    responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE',
+                    'GW-ERROR': {
+                        message: e.message,
+                        response: obj,
+                    },
+                },
+            });
+        }
+    }
+
     logger.verbose(`${MODULE_NAME} 3D5400C1: Params extracted from response`, { xid, params });
 
     const requestIdField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.requestId) || 'REQUESTID';
@@ -63,7 +84,7 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
     const sn = (rc === '00' && snFromResponse) || null;
 
     report(xid, {
-        trx_id: trxId,
+        trx_id: trxId.toString(),
         rc,
         sn,
         message: {