diff --git a/index.js b/index.js
index f91184d..272ad78 100644
--- a/index.js
+++ b/index.js
@@ -1,7 +1,10 @@
+const MODULE_NAME = 'POSTPAID-SDK';
+
 const config = require('komodo-sdk/config');
 
 const DEFAULT_CORE_REQUEST_TIMEOUT = 15 * 1000;
 const DEFAULT_SLEEP_AFTER_CORE_ERROR_MS = 3000;
+const PULL_INTERVAL_MS = config.postpaid_pull_interval_ms || config.pull_interval_ms || 1000;
 
 const DEFAULT_CORE_AXIOS_CONFIG = {
     headers: { 'Content-Type': 'application/json' },
@@ -11,7 +14,7 @@ const DEFAULT_CORE_AXIOS_CONFIG = {
 const GET_TASK_AXIOS_CONFIG = DEFAULT_CORE_AXIOS_CONFIG;
 
 const axios = require('axios').default;
-
+const uniqid = require('uniqid');
 const coreUrl = require('komodo-sdk/core-url');
 const logger = require('tektrans-logger');
 const report = require('./lib/report');
@@ -22,14 +25,20 @@ let partner;
 let first = true;
 let coreIsHealthy = null;
 
+const CORE_ENDPOINT = `${coreUrl}/postpaid2/task`;
+
 function detectCoreStatusChange(isHealthy, url, err) {
     if (coreIsHealthy !== isHealthy) {
         coreIsHealthy = isHealthy;
 
         if (isHealthy) {
-            logger.info('POSTPAID2-SDK: CORE is healthy now', { url, err: err && err.message });
+            logger.info(`${MODULE_NAME} D7F6DBE4: CORE is healthy now`, {
+                url, err: err && err.message,
+            });
         } else {
-            logger.warn('POSTPAID2-SDK: CORE is unhealthy now', { url, err: err && err.message });
+            logger.warn(`${MODULE_NAME} 460EC596: CORE is unhealthy now`, {
+                url, err: err && err.message,
+            });
         }
     }
 }
@@ -37,18 +46,13 @@ function detectCoreStatusChange(isHealthy, url, err) {
 async function getTask() {
     if (!partner) return null;
 
-    // if (skipNext > 0) {
-    //     skipNext -= 1;
-    //     return null;
-    // }
+    const xid = uniqid();
 
     if (first) {
         first = false;
-        logger.verbose('POSTPAID2-SDK: first pull request to CORE');
+        logger.verbose(`${MODULE_NAME} 20A30442: First getTask pull request to CORE`, { xid });
     }
 
-    const coreEndpoint = `${coreUrl}/postpaid2/task`;
-
     const payload = {
         handler: config.handler || config.handler_name,
         products: config.products || [],
@@ -57,19 +61,24 @@ async function getTask() {
     let task;
     try {
         const result = await axios.post(
-            coreEndpoint,
+            CORE_ENDPOINT,
             payload,
             GET_TASK_AXIOS_CONFIG,
         );
 
-        if (!result || !result.data) throw new Error('POSTPAID2-SDK: Empty CORE response on pulling task. MARK-26F332C6');
-        if (result && result.data && result.data.task && !result.data.task.postpaid) throw new Error('POSTPAID2-SDK: CORE returning non postpaid task on pulling task. MARK-B338CEF8');
+        if (!result || !result.data) {
+            throw new Error(`${MODULE_NAME} 26F332C6: Empty CORE response on pulling task`);
+        }
+
+        if (result && result.data && result.data.task && !result.data.task.postpaid) {
+            throw new Error(`${MODULE_NAME} B338CEF8: CORE returning non postpaid task on pulling task`);
+        }
 
-        detectCoreStatusChange(true, coreEndpoint);
+        detectCoreStatusChange(true, CORE_ENDPOINT);
         task = result.data.task;
     } catch (e) {
         // skipNext = 3;
-        detectCoreStatusChange(false, coreEndpoint, e);
+        detectCoreStatusChange(false, CORE_ENDPOINT, e);
         await sleep(DEFAULT_SLEEP_AFTER_CORE_ERROR_MS);
     }
 
@@ -78,7 +87,7 @@ async function getTask() {
     task.remote_product = ((config.remote_products || {})[task.product]) || task.product;
     task.trx_id = Number(task.trx_id) + (config.sdk_trx_id_adder || 0);
 
-    logger.verbose('POSTPAID2-SDK: Got task from CORE on pulling task', { task });
+    logger.verbose(`${MODULE_NAME} 441E8C96: Got task from CORE on pulling task`, { xid, task });
 
     if (task.inquiry_only) {
         if (typeof partner.inquiry === 'function') partner.inquiry(task);
@@ -86,7 +95,7 @@ async function getTask() {
     }
 
     if (typeof partner.pay === 'function') {
-        partner.pay(task);
+        partner.pay(task, xid);
         return task;
     }
 
@@ -98,7 +107,7 @@ const getTaskLooper = async () => {
 
     setTimeout(() => {
         getTaskLooper();
-    }, config.postpaid_pull_interval_ms || config.pull_interval_ms || 1000);
+    }, PULL_INTERVAL_MS);
 };
 
 exports.setPartner = (val) => {
diff --git a/package-lock.json b/package-lock.json
index 08a48bb..90a2484 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,8 @@
       "dependencies": {
         "axios": "^0.26.0",
         "komodo-sdk": "^1.45.0",
-        "tektrans-logger": "^1.2.4"
+        "tektrans-logger": "^1.2.4",
+        "uniqid": "^5.4.0"
       },
       "devDependencies": {
         "eslint": "^8.9.0",
@@ -2011,6 +2012,14 @@
         "uuid": "^3.4.0"
       }
     },
+    "node_modules/komodo-sdk/node_modules/uniqid": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+      "dependencies": {
+        "macaddress": "^0.2.8"
+      }
+    },
     "node_modules/kuler": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
@@ -3159,12 +3168,9 @@
       }
     },
     "node_modules/uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "dependencies": {
-        "macaddress": "^0.2.8"
-      }
+      "version": "5.4.0",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz",
+      "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A=="
     },
     "node_modules/unpipe": {
       "version": "1.0.0",
@@ -4882,6 +4888,16 @@
         "uniqid": "^4.1.1",
         "url-join": "^4.0.1",
         "uuid": "^3.4.0"
+      },
+      "dependencies": {
+        "uniqid": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
+          "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
+          "requires": {
+            "macaddress": "^0.2.8"
+          }
+        }
       }
     },
     "kuler": {
@@ -5749,12 +5765,9 @@
       }
     },
     "uniqid": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz",
-      "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=",
-      "requires": {
-        "macaddress": "^0.2.8"
-      }
+      "version": "5.4.0",
+      "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.4.0.tgz",
+      "integrity": "sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A=="
     },
     "unpipe": {
       "version": "1.0.0",
diff --git a/package.json b/package.json
index aaae7a0..722d644 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,8 @@
   "dependencies": {
     "axios": "^0.26.0",
     "komodo-sdk": "^1.45.0",
-    "tektrans-logger": "^1.2.4"
+    "tektrans-logger": "^1.2.4",
+    "uniqid": "^5.4.0"
   },
   "devDependencies": {
     "eslint": "^8.9.0",