diff --git a/src/mock_crawler.php b/src/mock_crawler.php
index 3b2b6f12..cdf2be14 100644
--- a/src/mock_crawler.php
+++ b/src/mock_crawler.php
@@ -238,6 +238,14 @@
$a->run();
+$a = new \pagopa\crawler\paymentlist\req\sendPaymentOutcomeV2(new \DateTime('2024-03-10'), 'sendPaymentOutcomeV2', 'REQ', $redis_cache);
+$a->run();
+
+$a = new \pagopa\crawler\paymentlist\resp\sendPaymentOutcomeV2(new \DateTime('2024-03-10'), 'sendPaymentOutcomeV2', 'RESP', $redis_cache);
+$a->run();
+
+
+
$a = new \pagopa\crawler\paymentlist\req\paSendRT(new \DateTime('2024-03-10'), 'paSendRT', 'REQ', $redis_cache);
$a->run();
diff --git a/src/mock_insert.php b/src/mock_insert.php
index 54ec3945..9f6345c0 100644
--- a/src/mock_insert.php
+++ b/src/mock_insert.php
@@ -6992,3 +6992,585 @@
Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 280,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:00.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000262',
+ ':ccp' => 't0000000000000000000000000000262',
+ ':noticenumber' => '301000000000000262',
+ ':creditorreferenceid' => '01000000000000262',
+ ':paymenttoken' => 't0000000000000000000000000000262',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000280',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000280',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6bm9kPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L25vZGUvbm9kZUZvclBzcC54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxub2Q6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXF1ZXN0PgoJCQk8aWRQU1A+QUdJRF8wMTwvaWRQU1A+CgkJCTxpZEJyb2tlclBTUD44ODg4ODg4ODg4ODwvaWRCcm9rZXJQU1A+CgkJCTxpZENoYW5uZWw+ODg4ODg4ODg4ODhfMDE8L2lkQ2hhbm5lbD4KCQkJPHBhc3N3b3JkPnh4eHh4PC9wYXNzd29yZD4KCQkJPGlkZW1wb3RlbmN5S2V5Pnh4eHh4eHh4eDwvaWRlbXBvdGVuY3lLZXk+CgkJCTxxckNvZGU+CgkJCQk8ZmlzY2FsQ29kZT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZT4KCQkJCTxub3RpY2VOdW1iZXI+MzAxMDAwMDAwMDAwMDAwMjYyPC9ub3RpY2VOdW1iZXI+CgkJCTwvcXJDb2RlPgoJCQk8ZXhwaXJhdGlvblRpbWU+OTAwMDAwPC9leHBpcmF0aW9uVGltZT4KCQkJPGFtb3VudD4zMDAuMDA8L2Ftb3VudD4KCQk8L25vZDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlcXVlc3Q+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 281,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:01.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000262',
+ ':ccp' => 't0000000000000000000000000000262',
+ ':noticenumber' => '301000000000000262',
+ ':creditorreferenceid' => '01000000000000262',
+ ':paymenttoken' => 't0000000000000000000000000000262',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000280',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000281',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTx0b3RhbEFtb3VudD4zMDAuMDA8L3RvdGFsQW1vdW50PgoJCQk8cGF5bWVudERlc2NyaXB0aW9uPjMwMTAwMDAwMDAwMDAwMDI2MjwvcGF5bWVudERlc2NyaXB0aW9uPgoJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCTxjb21wYW55TmFtZT54eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQk8b2ZmaWNlTmFtZT54eHh4eHg8L29mZmljZU5hbWU+CgkJCTxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNjI8L3BheW1lbnRUb2tlbj4KCQkJPHRyYW5zZmVyTGlzdD4KCQkJCTx0cmFuc2Zlcj4KCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCTx0cmFuc2ZlckFtb3VudD4zMDAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCTwvdHJhbnNmZXI+CgkJCTwvdHJhbnNmZXJMaXN0PgoJCQk8Y3JlZGl0b3JSZWZlcmVuY2VJZD4wMTAwMDAwMDAwMDAwMDI2MjwvY3JlZGl0b3JSZWZlcmVuY2VJZD4KCQk8L25mcDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlc3BvbnNlPgoJPC9zb2FwZW52OkJvZHk+Cjwvc29hcGVudjpFbnZlbG9wZT4=',
+];
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+$data_req = [
+ ':id' => 282,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:02.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000263',
+ ':ccp' => 't0000000000000000000000000000263',
+ ':noticenumber' => '301000000000000263',
+ ':creditorreferenceid' => '01000000000000263',
+ ':paymenttoken' => 't0000000000000000000000000000263',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000281',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000282',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6bm9kPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L25vZGUvbm9kZUZvclBzcC54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxub2Q6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXF1ZXN0PgoJCQk8aWRQU1A+QUdJRF8wMTwvaWRQU1A+CgkJCTxpZEJyb2tlclBTUD44ODg4ODg4ODg4ODwvaWRCcm9rZXJQU1A+CgkJCTxpZENoYW5uZWw+ODg4ODg4ODg4ODhfMDE8L2lkQ2hhbm5lbD4KCQkJPHBhc3N3b3JkPnh4eHh4PC9wYXNzd29yZD4KCQkJPGlkZW1wb3RlbmN5S2V5Pnh4eHh4eHh4eDwvaWRlbXBvdGVuY3lLZXk+CgkJCTxxckNvZGU+CgkJCQk8ZmlzY2FsQ29kZT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZT4KCQkJCTxub3RpY2VOdW1iZXI+MzAxMDAwMDAwMDAwMDAwMjYzPC9ub3RpY2VOdW1iZXI+CgkJCTwvcXJDb2RlPgoJCQk8ZXhwaXJhdGlvblRpbWU+OTAwMDAwPC9leHBpcmF0aW9uVGltZT4KCQkJPGFtb3VudD4xNTAuMDA8L2Ftb3VudD4KCQk8L25vZDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlcXVlc3Q+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 283,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:03.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000263',
+ ':ccp' => 't0000000000000000000000000000263',
+ ':noticenumber' => '301000000000000263',
+ ':creditorreferenceid' => '01000000000000263',
+ ':paymenttoken' => 't0000000000000000000000000000263',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000281',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000283',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTx0b3RhbEFtb3VudD4xNTAuMDA8L3RvdGFsQW1vdW50PgoJCQk8cGF5bWVudERlc2NyaXB0aW9uPjMwMTAwMDAwMDAwMDAwMDI2MzwvcGF5bWVudERlc2NyaXB0aW9uPgoJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCTxjb21wYW55TmFtZT54eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQk8b2ZmaWNlTmFtZT54eHh4eHg8L29mZmljZU5hbWU+CgkJCTxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNjM8L3BheW1lbnRUb2tlbj4KCQkJPHRyYW5zZmVyTGlzdD4KCQkJCTx0cmFuc2Zlcj4KCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCTx0cmFuc2ZlckFtb3VudD4xNTAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCTwvdHJhbnNmZXI+CgkJCTwvdHJhbnNmZXJMaXN0PgoJCQk8Y3JlZGl0b3JSZWZlcmVuY2VJZD4wMTAwMDAwMDAwMDAwMDI2MzwvY3JlZGl0b3JSZWZlcmVuY2VJZD4KCQk8L25mcDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlc3BvbnNlPgoJPC9zb2FwZW52OkJvZHk+Cjwvc29hcGVudjpFbnZlbG9wZT4=',
+];
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+$data_req = [
+ ':id' => 284,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:04.197',
+ ':tipoevento' => 'sendPaymentOutcomeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000262',
+ ':ccp' => 't0000000000000000000000000000262',
+ ':noticenumber' => '301000000000000262',
+ ':creditorreferenceid' => '01000000000000262',
+ ':paymenttoken' => 't0000000000000000000000000000262',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000282',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000284',
+ ':payload' => 'PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNjI8L3BheW1lbnRUb2tlbj4KICAgICAgICA8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYzPC9wYXltZW50VG9rZW4+CiAgICAgIDwvcGF5bWVudFRva2Vucz4KICAgICAgPG91dGNvbWU+T0s8L291dGNvbWU+CiAgICAgIDxkZXRhaWxzPgogICAgICAJPHBheW1lbnRNZXRob2Q+TUVUT0RPPC9wYXltZW50TWV0aG9kPgogICAgICAJPHBheW1lbnRDaGFubmVsPkNBTkFMRTwvcGF5bWVudENoYW5uZWw+CiAgICAgIDwvZGV0YWlscz4KICAgIDwvbnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdD4KICA8L3NvYXA6Qm9keT4KPC9zb2FwOkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 285,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:05.197',
+ ':tipoevento' => 'sendPaymentOutcomeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000262',
+ ':ccp' => 't0000000000000000000000000000262',
+ ':noticenumber' => '301000000000000262',
+ ':creditorreferenceid' => '01000000000000262',
+ ':paymenttoken' => 't0000000000000000000000000000262',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000282',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000285',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJPC9uZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 286,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:00.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000286',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000286',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6bm9kPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L25vZGUvbm9kZUZvclBzcC54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxub2Q6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXF1ZXN0PgoJCQk8aWRQU1A+QUdJRF8wMTwvaWRQU1A+CgkJCTxpZEJyb2tlclBTUD44ODg4ODg4ODg4ODwvaWRCcm9rZXJQU1A+CgkJCTxpZENoYW5uZWw+ODg4ODg4ODg4ODhfMDE8L2lkQ2hhbm5lbD4KCQkJPHBhc3N3b3JkPnh4eHh4PC9wYXNzd29yZD4KCQkJPGlkZW1wb3RlbmN5S2V5Pnh4eHh4eHh4eDwvaWRlbXBvdGVuY3lLZXk+CgkJCTxxckNvZGU+CgkJCQk8ZmlzY2FsQ29kZT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZT4KCQkJCTxub3RpY2VOdW1iZXI+MzAxMDAwMDAwMDAwMDAwMjcwPC9ub3RpY2VOdW1iZXI+CgkJCTwvcXJDb2RlPgoJCQk8ZXhwaXJhdGlvblRpbWU+OTAwMDAwPC9leHBpcmF0aW9uVGltZT4KCQkJPGFtb3VudD4zMDAuMDA8L2Ftb3VudD4KCQk8L25vZDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlcXVlc3Q+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 287,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:03.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000286',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000287',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTx0b3RhbEFtb3VudD4zMDAuMDA8L3RvdGFsQW1vdW50PgoJCQk8cGF5bWVudERlc2NyaXB0aW9uPjMwMTAwMDAwMDAwMDAwMDI3MDwvcGF5bWVudERlc2NyaXB0aW9uPgoJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCTxjb21wYW55TmFtZT54eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQk8b2ZmaWNlTmFtZT54eHh4eHg8L29mZmljZU5hbWU+CgkJCTxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNzA8L3BheW1lbnRUb2tlbj4KCQkJPHRyYW5zZmVyTGlzdD4KCQkJCTx0cmFuc2Zlcj4KCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCTx0cmFuc2ZlckFtb3VudD4yMDAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCTwvdHJhbnNmZXI+CgkJCQk8dHJhbnNmZXI+CgkJCQkJPGlkVHJhbnNmZXI+MjwvaWRUcmFuc2Zlcj4KCQkJCQk8dHJhbnNmZXJBbW91bnQ+MTAwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc4PC9maXNjYWxDb2RlUEE+CgkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjwvSUJBTj4KCQkJCQk8cmVtaXR0YW5jZUluZm9ybWF0aW9uPnh4eHh4eHg8L3JlbWl0dGFuY2VJbmZvcm1hdGlvbj4KCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQk8L3RyYW5zZmVyPgoJCQk8L3RyYW5zZmVyTGlzdD4KCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzA8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJPC9uZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 288,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:04.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000271',
+ ':ccp' => 't0000000000000000000000000000271',
+ ':noticenumber' => '301000000000000271',
+ ':creditorreferenceid' => '01000000000000271',
+ ':paymenttoken' => 't0000000000000000000000000000271',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000287',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000288',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6bm9kPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L25vZGUvbm9kZUZvclBzcC54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxub2Q6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXF1ZXN0PgoJCQk8aWRQU1A+QUdJRF8wMTwvaWRQU1A+CgkJCTxpZEJyb2tlclBTUD44ODg4ODg4ODg4ODwvaWRCcm9rZXJQU1A+CgkJCTxpZENoYW5uZWw+ODg4ODg4ODg4ODhfMDE8L2lkQ2hhbm5lbD4KCQkJPHBhc3N3b3JkPnh4eHh4PC9wYXNzd29yZD4KCQkJPGlkZW1wb3RlbmN5S2V5Pnh4eHh4eHh4eDwvaWRlbXBvdGVuY3lLZXk+CgkJCTxxckNvZGU+CgkJCQk8ZmlzY2FsQ29kZT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZT4KCQkJCTxub3RpY2VOdW1iZXI+MzAxMDAwMDAwMDAwMDAwMjcxPC9ub3RpY2VOdW1iZXI+CgkJCTwvcXJDb2RlPgoJCQk8ZXhwaXJhdGlvblRpbWU+OTAwMDAwPC9leHBpcmF0aW9uVGltZT4KCQkJPGFtb3VudD40MDAuMDA8L2Ftb3VudD4KCQk8L25vZDphY3RpdmF0ZVBheW1lbnROb3RpY2VWMlJlcXVlc3Q+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 289,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:07.197',
+ ':tipoevento' => 'activatePaymentNoticeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000271',
+ ':ccp' => 't0000000000000000000000000000271',
+ ':noticenumber' => '301000000000000271',
+ ':creditorreferenceid' => '01000000000000271',
+ ':paymenttoken' => 't0000000000000000000000000000271',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000287',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000289',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTx0b3RhbEFtb3VudD40MDAuMDA8L3RvdGFsQW1vdW50PgoJCQk8cGF5bWVudERlc2NyaXB0aW9uPjMwMTAwMDAwMDAwMDAwMDI3MTwvcGF5bWVudERlc2NyaXB0aW9uPgoJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCTxjb21wYW55TmFtZT54eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQk8b2ZmaWNlTmFtZT54eHh4eHg8L29mZmljZU5hbWU+CgkJCTxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNzE8L3BheW1lbnRUb2tlbj4KCQkJPHRyYW5zZmVyTGlzdD4KCQkJCTx0cmFuc2Zlcj4KCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCTx0cmFuc2ZlckFtb3VudD4yNTAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCTwvdHJhbnNmZXI+CgkJCQk8dHJhbnNmZXI+CgkJCQkJPGlkVHJhbnNmZXI+MjwvaWRUcmFuc2Zlcj4KCQkJCQk8dHJhbnNmZXJBbW91bnQ+MTUwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc4PC9maXNjYWxDb2RlUEE+CgkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjwvSUJBTj4KCQkJCQk8cmVtaXR0YW5jZUluZm9ybWF0aW9uPnh4eHh4eHg8L3JlbWl0dGFuY2VJbmZvcm1hdGlvbj4KCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQk8L3RyYW5zZmVyPgoJCQk8L3RyYW5zZmVyTGlzdD4KCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzE8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJPC9uZnA6YWN0aXZhdGVQYXltZW50Tm90aWNlVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+
+
+
+
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 290,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:01.197',
+ ':tipoevento' => 'paGetPaymentV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'AGID_01',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000288',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000290',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpwYWZuPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L3BhL3BhRm9yTm9kZS54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczp0bnM9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcGFGb3JOb2RlIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4KCTxzb2FwZW52OkJvZHk+CgkJPHBhZm46cGFHZXRQYXltZW50VjJSZXF1ZXN0PgoJCQk8aWRQQT43Nzc3Nzc3Nzc3NzwvaWRQQT4KCQkJPGlkQnJva2VyUEE+Nzc3Nzc3Nzc3Nzc8L2lkQnJva2VyUEE+CgkJCTxpZFN0YXRpb24+Nzc3Nzc3Nzc3NzdfMDE8L2lkU3RhdGlvbj4KCQkJPHFyQ29kZT4KCQkJCTxmaXNjYWxDb2RlPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlPgoJCQkJPG5vdGljZU51bWJlcj4zMDEwMDAwMDAwMDAwMDAyNzA8L25vdGljZU51bWJlcj4KCQkJPC9xckNvZGU+CgkJCTxhbW91bnQ+MzAwLjAwPC9hbW91bnQ+CgkJCTx0cmFuc2ZlclR5cGU+UEFHT1BBPC90cmFuc2ZlclR5cGU+CgkJPC9wYWZuOnBhR2V0UGF5bWVudFYyUmVxdWVzdD4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+$data_resp = [
+ ':id' => 291,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:02.197',
+ ':tipoevento' => 'paGetPaymentV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'AGID_01',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000288',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000291',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6cGFmPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L3BhL3BhRm9yTm9kZS54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxwYWY6cGFHZXRQYXltZW50VjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTxkYXRhPgoJCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzE8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJCQk8cGF5bWVudEFtb3VudD40MDAuMDA8L3BheW1lbnRBbW91bnQ+CgkJCQk8ZHVlRGF0ZT4yMDI0LTA1LTIyPC9kdWVEYXRlPgoJCQkJPHJldGVudGlvbkRhdGU+MjAyNC0wNS0yM1QwMDowMDowMDwvcmV0ZW50aW9uRGF0ZT4KCQkJCTxsYXN0UGF5bWVudD4wPC9sYXN0UGF5bWVudD4KCQkJCTxkZXNjcmlwdGlvbj54eHh4eHh4eDwvZGVzY3JpcHRpb24+CgkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQk8b2ZmaWNlTmFtZT54eHh4eDwvb2ZmaWNlTmFtZT4KCQkJCTxkZWJ0b3I+CgkJCQkJPHVuaXF1ZUlkZW50aWZpZXI+CgkJCQkJCTxlbnRpdHlVbmlxdWVJZGVudGlmaWVyVHlwZT5GPC9lbnRpdHlVbmlxdWVJZGVudGlmaWVyVHlwZT4KCQkJCQkJPGVudGl0eVVuaXF1ZUlkZW50aWZpZXJWYWx1ZT5YWFhYWFhYWFhYWFhYWFhYPC9lbnRpdHlVbmlxdWVJZGVudGlmaWVyVmFsdWU+CgkJCQkJPC91bmlxdWVJZGVudGlmaWVyPgoJCQkJCTxmdWxsTmFtZT54eHh4eHg8L2Z1bGxOYW1lPgoJCQkJCTxlLW1haWw+eHh4eHh4eHhAeHh4eHgueHh4PC9lLW1haWw+CgkJCQk8L2RlYnRvcj4KCQkJCTx0cmFuc2Zlckxpc3Q+CgkJCQkJPHRyYW5zZmVyPgoJCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MjUwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZVBBPgoJCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTwvSUJBTj4KCQkJCQkJPHJlbWl0dGFuY2VJbmZvcm1hdGlvbj54eHh4eHh4PC9yZW1pdHRhbmNlSW5mb3JtYXRpb24+CgkJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCQk8L3RyYW5zZmVyPgoJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJPGlkVHJhbnNmZXI+MjwvaWRUcmFuc2Zlcj4KCQkJCQkJPHRyYW5zZmVyQW1vdW50PjE1MC4wMDwvdHJhbnNmZXJBbW91bnQ+CgkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzg8L2Zpc2NhbENvZGVQQT4KCQkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCQk8SUJBTj5JVDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI8L0lCQU4+CgkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQkJPC90cmFuc2Zlcj4KCQkJCTwvdHJhbnNmZXJMaXN0PgoJCQk8L2RhdGE+CgkJPC9wYWY6cGFHZXRQYXltZW50VjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 292,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:05.197',
+ ':tipoevento' => 'paGetPaymentV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000271',
+ ':ccp' => 't0000000000000000000000000000271',
+ ':noticenumber' => '301000000000000271',
+ ':creditorreferenceid' => '01000000000000271',
+ ':paymenttoken' => 't0000000000000000000000000000271',
+ ':psp' => 'AGID_01',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000289',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000292',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpwYWZuPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L3BhL3BhRm9yTm9kZS54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczp0bnM9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcGFGb3JOb2RlIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4KCTxzb2FwZW52OkJvZHk+CgkJPHBhZm46cGFHZXRQYXltZW50VjJSZXF1ZXN0PgoJCQk8aWRQQT43Nzc3Nzc3Nzc3NzwvaWRQQT4KCQkJPGlkQnJva2VyUEE+Nzc3Nzc3Nzc3Nzc8L2lkQnJva2VyUEE+CgkJCTxpZFN0YXRpb24+Nzc3Nzc3Nzc3NzdfMDE8L2lkU3RhdGlvbj4KCQkJPHFyQ29kZT4KCQkJCTxmaXNjYWxDb2RlPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlPgoJCQkJPG5vdGljZU51bWJlcj4zMDEwMDAwMDAwMDAwMDAyNzE8L25vdGljZU51bWJlcj4KCQkJPC9xckNvZGU+CgkJCTxhbW91bnQ+NDAwLjAwPC9hbW91bnQ+CgkJCTx0cmFuc2ZlclR5cGU+UEFHT1BBPC90cmFuc2ZlclR5cGU+CgkJPC9wYWZuOnBhR2V0UGF5bWVudFYyUmVxdWVzdD4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+$data_resp = [
+ ':id' => 293,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:52:06.197',
+ ':tipoevento' => 'paGetPaymentV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000271',
+ ':ccp' => 't0000000000000000000000000000271',
+ ':noticenumber' => '301000000000000271',
+ ':creditorreferenceid' => '01000000000000271',
+ ':paymenttoken' => 't0000000000000000000000000000271',
+ ':psp' => 'AGID_01',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000289',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000293',
+ ':payload' => 'PHNvYXBlbnY6RW52ZWxvcGUgeG1sbnM6cGFmPSJodHRwOi8vcGFnb3BhLWFwaS5wYWdvcGEuZ292Lml0L3BhL3BhRm9yTm9kZS54c2QiIHhtbG5zOnNvYXBlbnY9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIj4KCTxzb2FwZW52OkhlYWRlci8+Cgk8c29hcGVudjpCb2R5PgoJCTxwYWY6cGFHZXRQYXltZW50VjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJCTxkYXRhPgoJCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzE8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJCQk8cGF5bWVudEFtb3VudD40MDAuMDA8L3BheW1lbnRBbW91bnQ+CgkJCQk8ZHVlRGF0ZT4yMDI0LTA1LTIyPC9kdWVEYXRlPgoJCQkJPHJldGVudGlvbkRhdGU+MjAyNC0wNS0yM1QwMDowMDowMDwvcmV0ZW50aW9uRGF0ZT4KCQkJCTxsYXN0UGF5bWVudD4wPC9sYXN0UGF5bWVudD4KCQkJCTxkZXNjcmlwdGlvbj54eHh4eHh4eDwvZGVzY3JpcHRpb24+CgkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQk8b2ZmaWNlTmFtZT54eHh4eDwvb2ZmaWNlTmFtZT4KCQkJCTxkZWJ0b3I+CgkJCQkJPHVuaXF1ZUlkZW50aWZpZXI+CgkJCQkJCTxlbnRpdHlVbmlxdWVJZGVudGlmaWVyVHlwZT5GPC9lbnRpdHlVbmlxdWVJZGVudGlmaWVyVHlwZT4KCQkJCQkJPGVudGl0eVVuaXF1ZUlkZW50aWZpZXJWYWx1ZT5YWFhYWFhYWFhYWFhYWFhYPC9lbnRpdHlVbmlxdWVJZGVudGlmaWVyVmFsdWU+CgkJCQkJPC91bmlxdWVJZGVudGlmaWVyPgoJCQkJCTxmdWxsTmFtZT54eHh4eHg8L2Z1bGxOYW1lPgoJCQkJCTxlLW1haWw+eHh4eHh4eHhAeHh4eHgueHh4PC9lLW1haWw+CgkJCQk8L2RlYnRvcj4KCQkJCTx0cmFuc2Zlckxpc3Q+CgkJCQkJPHRyYW5zZmVyPgoJCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MjUwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZVBBPgoJCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTwvSUJBTj4KCQkJCQkJPHJlbWl0dGFuY2VJbmZvcm1hdGlvbj54eHh4eHh4PC9yZW1pdHRhbmNlSW5mb3JtYXRpb24+CgkJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCQk8L3RyYW5zZmVyPgoJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJPGlkVHJhbnNmZXI+MTwvaWRUcmFuc2Zlcj4KCQkJCQkJPHRyYW5zZmVyQW1vdW50PjE1MC4wMDwvdHJhbnNmZXJBbW91bnQ+CgkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzg8L2Zpc2NhbENvZGVQQT4KCQkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCQk8SUJBTj5JVDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI8L0lCQU4+CgkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQkJPC90cmFuc2Zlcj4KCQkJCTwvdHJhbnNmZXJMaXN0PgoJCQk8L2RhdGE+CgkJPC9wYWY6cGFHZXRQYXltZW50VjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 294,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:55:00.197',
+ ':tipoevento' => 'closePayment-v2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000290',
+ ':sessionidoriginal' => 'sessidoriginal_closepayment_v2_spo_v2',
+ ':uniqueid' => 'T000294',
+ ':payload' => 'ewogICAgImFkZGl0aW9uYWxQYXltZW50SW5mb3JtYXRpb25zIjogewogICAgICAgICJhdXRob3JpemF0aW9uQ29kZSI6ICIxMTExMTUiLAogICAgICAgICJmZWUiOiAiMi4wMCIsCiAgICAgICAgIm91dGNvbWVQYXltZW50R2F0ZXdheSI6ICJPSyIsCiAgICAgICAgInJybiI6ICIwMDAwMDAwMDAwMDkiLAogICAgICAgICJ0aW1lc3RhbXBPcGVyYXRpb24iOiAiMjAyNC0wNC0yNFQwOTo0ODo1NyIsCiAgICAgICAgInRvdGFsQW1vdW50IjogIjI0Mi4wMCIKICAgIH0sCiAgICAiZmVlIjogMi4wLAogICAgImlkQnJva2VyUFNQIjogIjg4ODg4ODg4ODg4IiwKICAgICJpZENoYW5uZWwiOiAiODg4ODg4ODg4ODhfMDEiLAogICAgImlkUFNQIjogIlBTUF9DUCIsCiAgICAib3V0Y29tZSI6ICJPSyIsCiAgICAicGF5bWVudE1ldGhvZCI6ICJDUCIsCiAgICAicGF5bWVudFRva2VucyI6IFsKICAgICAgICAidDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNzAiLAogICAgICAgICJ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3MSIKICAgIF0sCiAgICAidGltZXN0YW1wT3BlcmF0aW9uIjogIjIwMjQtMDQtMjRUMDc6NDg6NTcuNDcyWiIsCiAgICAidG90YWxBbW91bnQiOiAyMDIuMCwKICAgICJ0cmFuc2FjdGlvbkRldGFpbHMiOiB7CiAgICAgICAgImluZm8iOiB7CiAgICAgICAgICAgICJicmFuZCI6ICJNQyIsCiAgICAgICAgICAgICJicmFuZExvZ28iOiAiaHR0cHM6Ly9hc3NldHMuY2RuLnBsYXRmb3JtLnBhZ29wYS5pdC9jcmVkaXRjYXJkL21hc3RlcmNhcmQucG5nIiwKICAgICAgICAgICAgImNsaWVudElkIjogIkNIRUNLT1VUIiwKICAgICAgICAgICAgInBheW1lbnRNZXRob2ROYW1lIjogIkNBUkRTIiwKICAgICAgICAgICAgInR5cGUiOiAiQ1AiCiAgICAgICAgfSwKICAgICAgICAidHJhbnNhY3Rpb24iOiB7CiAgICAgICAgICAgICJhbW91bnQiOiAyMDAwMCwKICAgICAgICAgICAgImF1dGhvcml6YXRpb25Db2RlIjogIjExMTExNSIsCiAgICAgICAgICAgICJjcmVhdGlvbkRhdGUiOiAiMjAyNC0wNC0yNFQwNzo0ODoxNC45MjAyMDY1MTVaIiwKICAgICAgICAgICAgImZlZSI6IDIwMCwKICAgICAgICAgICAgImdyYW5kVG90YWwiOiAyMDIwMCwKICAgICAgICAgICAgInBheW1lbnRHYXRld2F5IjogIk5QRyIsCiAgICAgICAgICAgICJwc3AiOiB7CiAgICAgICAgICAgICAgICAiYnJva2VyTmFtZSI6ICI4ODg4ODg4ODg4OCIsCiAgICAgICAgICAgICAgICAiYnVzaW5lc3NOYW1lIjogIlBzcENwIiwKICAgICAgICAgICAgICAgICJpZENoYW5uZWwiOiAiODg4ODg4ODg4ODhfMDEiLAogICAgICAgICAgICAgICAgImlkUHNwIjogIlBTUF9DUCIsCiAgICAgICAgICAgICAgICAicHNwT25VcyI6IGZhbHNlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJycm4iOiAiMDAwMDAwMDAwMDA5IiwKICAgICAgICAgICAgInRpbWVzdGFtcE9wZXJhdGlvbiI6ICIyMDI0LTA0LTI0VDA3OjQ4OjU3LjQ3MloiLAogICAgICAgICAgICAidHJhbnNhY3Rpb25JZCI6ICIwOGY2MTY2ZjNmOTM0ZTZiOGFlNTQ3MjZkNDVlMTJhOCIsCiAgICAgICAgICAgICJ0cmFuc2FjdGlvblN0YXR1cyI6ICJDb25mZXJtYXRvIgogICAgICAgIH0sCiAgICAgICAgInVzZXIiOiB7CiAgICAgICAgICAgICJ0eXBlIjogIkdVRVNUIgogICAgICAgIH0KICAgIH0sCiAgICAidHJhbnNhY3Rpb25JZCI6ICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMCIKfQ==',
+];
+
+$data_resp = [
+ ':id' => 295,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:55:10.197',
+ ':tipoevento' => 'closePayment-v2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000290',
+ ':sessionidoriginal' => 'sessidoriginal_closepayment_v2_spo_v2',
+ ':uniqueid' => 'T000295',
+ ':payload' => 'ewogICAgIm91dGNvbWUiOiAiT0siCn0=',
+];
+
+
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 296,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:55:04.197',
+ ':tipoevento' => 'pspNotifyPaymentV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000291',
+ ':sessionidoriginal' => 'sessidoriginal_closepayment_v2_spo_v2',
+ ':uniqueid' => 'T000296',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpwZm49Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIiB4bWxuczpzb2FwZW52PSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9zb2FwL2VudmVsb3BlLyIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4KCTxzb2FwZW52OkJvZHk+CgkJPHBmbjpwc3BOb3RpZnlQYXltZW50VjI+CgkJCTxpZFBTUD5QU1BfVjI8L2lkUFNQPgoJCQk8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgoJCQk8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAyPC9pZENoYW5uZWw+CgkJCTx0cmFuc2FjdGlvbklkPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAxPC90cmFuc2FjdGlvbklkPgoJCQk8dG90YWxBbW91bnQ+NzAwLjAwPC90b3RhbEFtb3VudD4KCQkJPGZlZT4xLjAwPC9mZWU+CgkJCTx0aW1lc3RhbXBPcGVyYXRpb24+MjAyNC0wNC0xOVQyMzowMTo0NDwvdGltZXN0YW1wT3BlcmF0aW9uPgoJCQk8cGF5bWVudExpc3Q+CgkJCQk8cGF5bWVudD4KCQkJCQk8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcwPC9wYXltZW50VG9rZW4+CgkJCQkJPHBheW1lbnREZXNjcmlwdGlvbj5wYWdhbWVudG8gbXVsdGliZW5lZmljaWFyaW88L3BheW1lbnREZXNjcmlwdGlvbj4KCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQk8Y3JlZGl0b3JSZWZlcmVuY2VJZD4wMTAwMDAwMDAwMDAwMDI3MDwvY3JlZGl0b3JSZWZlcmVuY2VJZD4KCQkJCQk8ZGVidEFtb3VudD4zMDAuMDA8L2RlYnRBbW91bnQ+CgkJCQkJPHRyYW5zZmVyTGlzdD4KCQkJCQkJPHRyYW5zZmVyPgoJCQkJCQkJPGlkVHJhbnNmZXI+MTwvaWRUcmFuc2Zlcj4KCQkJCQkJCTx0cmFuc2ZlckFtb3VudD4yMDAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZVBBPgoJCQkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCQkJPHJlbWl0dGFuY2VJbmZvcm1hdGlvbj54eHh4eHh4PC9yZW1pdHRhbmNlSW5mb3JtYXRpb24+CgkJCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQkJCTwvdHJhbnNmZXI+CgkJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJCTxpZFRyYW5zZmVyPjE8L2lkVHJhbnNmZXI+CgkJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MTAwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzg8L2Zpc2NhbENvZGVQQT4KCQkJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjwvSUJBTj4KCQkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQkJPHRyYW5zZmVyQ2F0ZWdvcnk+eHh4eHh4PC90cmFuc2ZlckNhdGVnb3J5PgoJCQkJCQk8L3RyYW5zZmVyPgoJCQkJCTwvdHJhbnNmZXJMaXN0PgoJCQkJPC9wYXltZW50PgoJCQkJPHBheW1lbnQ+CgkJCQkJPHBheW1lbnRUb2tlbj50MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3MTwvcGF5bWVudFRva2VuPgoJCQkJCTxwYXltZW50RGVzY3JpcHRpb24+cGFnYW1lbnRvIG11bHRpYmVuZWZpY2lhcmlvPC9wYXltZW50RGVzY3JpcHRpb24+CgkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc4NzwvZmlzY2FsQ29kZVBBPgoJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzE8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJCQkJPGRlYnRBbW91bnQ+NDAwLjAwPC9kZWJ0QW1vdW50PgoJCQkJCTx0cmFuc2Zlckxpc3Q+CgkJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJCTxpZFRyYW5zZmVyPjE8L2lkVHJhbnNmZXI+CgkJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MjUwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTwvSUJBTj4KCQkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQkJPHRyYW5zZmVyQ2F0ZWdvcnk+eHh4eHh4PC90cmFuc2ZlckNhdGVnb3J5PgoJCQkJCQk8L3RyYW5zZmVyPgoJCQkJCQk8dHJhbnNmZXI+CgkJCQkJCQk8aWRUcmFuc2Zlcj4xPC9pZFRyYW5zZmVyPgoJCQkJCQkJPHRyYW5zZmVyQW1vdW50PjE1MC4wMDwvdHJhbnNmZXJBbW91bnQ+CgkJCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc4PC9maXNjYWxDb2RlUEE+CgkJCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJCQk8SUJBTj5JVDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI8L0lCQU4+CgkJCQkJCQk8cmVtaXR0YW5jZUluZm9ybWF0aW9uPnh4eHh4eHg8L3JlbWl0dGFuY2VJbmZvcm1hdGlvbj4KCQkJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCQkJPC90cmFuc2Zlcj4KCQkJCQk8L3RyYW5zZmVyTGlzdD4KCQkJCTwvcGF5bWVudD4KCQkJPC9wYXltZW50TGlzdD4KCQkJPGFkZGl0aW9uYWxQYXltZW50SW5mb3JtYXRpb25zPgoJCQkJPG1ldGFkYXRhPgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT50aXBvVmVyc2FtZW50bzwva2V5PgoJCQkJCQk8dmFsdWU+Q1A8L3ZhbHVlPgoJCQkJCTwvbWFwRW50cnk+CgkJCQkJPG1hcEVudHJ5PgoJCQkJCQk8a2V5Pm91dGNvbWVQYXltZW50R2F0ZXdheTwva2V5PgoJCQkJCQk8dmFsdWU+T0s8L3ZhbHVlPgoJCQkJCTwvbWFwRW50cnk+CgkJCQkJPG1hcEVudHJ5PgoJCQkJCQk8a2V5PnRpbWVzdGFtcE9wZXJhdGlvbjwva2V5PgoJCQkJCQk8dmFsdWU+MjAyNC0wNC0xOVQyMzowMTo0NDwvdmFsdWU+CgkJCQkJPC9tYXBFbnRyeT4KCQkJCQk8bWFwRW50cnk+CgkJCQkJCTxrZXk+dG90YWxBbW91bnQ8L2tleT4KCQkJCQkJPHZhbHVlPjcwMS4wMDwvdmFsdWU+CgkJCQkJPC9tYXBFbnRyeT4KCQkJCQk8bWFwRW50cnk+CgkJCQkJCTxrZXk+ZmVlPC9rZXk+CgkJCQkJCTx2YWx1ZT4xLjAwPC92YWx1ZT4KCQkJCQk8L21hcEVudHJ5PgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT5hdXRob3JpemF0aW9uQ29kZTwva2V5PgoJCQkJCQk8dmFsdWU+OTg3NjU0PC92YWx1ZT4KCQkJCQk8L21hcEVudHJ5PgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT5ycm48L2tleT4KCQkJCQkJPHZhbHVlPnJybl9TUE9WMjwvdmFsdWU+CgkJCQkJPC9tYXBFbnRyeT4KCQkJCTwvbWV0YWRhdGE+CgkJCTwvYWRkaXRpb25hbFBheW1lbnRJbmZvcm1hdGlvbnM+CgkJPC9wZm46cHNwTm90aWZ5UGF5bWVudFYyPgoJPC9zb2FwZW52OkJvZHk+Cjwvc29hcGVudjpFbnZlbG9wZT4=',
+];
+
+$data_resp = [
+ ':id' => 297,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:55:06.197',
+ ':tipoevento' => 'pspNotifyPaymentV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000291',
+ ':sessionidoriginal' => 'sessidoriginal_closepayment_v2_spo_v2',
+ ':uniqueid' => 'T000297',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpwZm49Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIiB4bWxuczpzb2FwZW52PSJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy9zb2FwL2VudmVsb3BlLyIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4KCTxzb2FwZW52OkJvZHk+CgkJPHBmbjpwc3BOb3RpZnlQYXltZW50VjI+CgkJCTxpZFBTUD5QU1BfVjI8L2lkUFNQPgoJCQk8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgoJCQk8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAyPC9pZENoYW5uZWw+CgkJCTx0cmFuc2FjdGlvbklkPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDAxPC90cmFuc2FjdGlvbklkPgoJCQk8dG90YWxBbW91bnQ+NzAwLjAwPC90b3RhbEFtb3VudD4KCQkJPGZlZT4xLjAwPC9mZWU+CgkJCTx0aW1lc3RhbXBPcGVyYXRpb24+MjAyNC0wNC0xOVQyMzowMTo0NDwvdGltZXN0YW1wT3BlcmF0aW9uPgoJCQk8cGF5bWVudExpc3Q+CgkJCQk8cGF5bWVudD4KCQkJCQk8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcwPC9wYXltZW50VG9rZW4+CgkJCQkJPHBheW1lbnREZXNjcmlwdGlvbj5wYWdhbWVudG8gbXVsdGliZW5lZmljaWFyaW88L3BheW1lbnREZXNjcmlwdGlvbj4KCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc3PC9maXNjYWxDb2RlUEE+CgkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQk8Y3JlZGl0b3JSZWZlcmVuY2VJZD4wMTAwMDAwMDAwMDAwMDI3MDwvY3JlZGl0b3JSZWZlcmVuY2VJZD4KCQkJCQk8ZGVidEFtb3VudD4zMDAuMDA8L2RlYnRBbW91bnQ+CgkJCQkJPHRyYW5zZmVyTGlzdD4KCQkJCQkJPHRyYW5zZmVyPgoJCQkJCQkJPGlkVHJhbnNmZXI+MTwvaWRUcmFuc2Zlcj4KCQkJCQkJCTx0cmFuc2ZlckFtb3VudD4yMDAuMDA8L3RyYW5zZmVyQW1vdW50PgoJCQkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc3NzwvZmlzY2FsQ29kZVBBPgoJCQkJCQkJPGNvbXBhbnlOYW1lPnh4eHh4eHg8L2NvbXBhbnlOYW1lPgoJCQkJCQkJPElCQU4+SVQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxPC9JQkFOPgoJCQkJCQkJPHJlbWl0dGFuY2VJbmZvcm1hdGlvbj54eHh4eHh4PC9yZW1pdHRhbmNlSW5mb3JtYXRpb24+CgkJCQkJCQk8dHJhbnNmZXJDYXRlZ29yeT54eHh4eHg8L3RyYW5zZmVyQ2F0ZWdvcnk+CgkJCQkJCTwvdHJhbnNmZXI+CgkJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJCTxpZFRyYW5zZmVyPjI8L2lkVHJhbnNmZXI+CgkJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MTAwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzg8L2Zpc2NhbENvZGVQQT4KCQkJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjwvSUJBTj4KCQkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQkJPHRyYW5zZmVyQ2F0ZWdvcnk+eHh4eHh4PC90cmFuc2ZlckNhdGVnb3J5PgoJCQkJCQk8L3RyYW5zZmVyPgoJCQkJCTwvdHJhbnNmZXJMaXN0PgoJCQkJPC9wYXltZW50PgoJCQkJPHBheW1lbnQ+CgkJCQkJPHBheW1lbnRUb2tlbj50MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3MTwvcGF5bWVudFRva2VuPgoJCQkJCTxwYXltZW50RGVzY3JpcHRpb24+cGFnYW1lbnRvIG11bHRpYmVuZWZpY2lhcmlvPC9wYXltZW50RGVzY3JpcHRpb24+CgkJCQkJPGZpc2NhbENvZGVQQT43Nzc3Nzc3Nzc4NzwvZmlzY2FsQ29kZVBBPgoJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJPGNyZWRpdG9yUmVmZXJlbmNlSWQ+MDEwMDAwMDAwMDAwMDAyNzE8L2NyZWRpdG9yUmVmZXJlbmNlSWQ+CgkJCQkJPGRlYnRBbW91bnQ+NDAwLjAwPC9kZWJ0QW1vdW50PgoJCQkJCTx0cmFuc2Zlckxpc3Q+CgkJCQkJCTx0cmFuc2Zlcj4KCQkJCQkJCTxpZFRyYW5zZmVyPjE8L2lkVHJhbnNmZXI+CgkJCQkJCQk8dHJhbnNmZXJBbW91bnQ+MjUwLjAwPC90cmFuc2ZlckFtb3VudD4KCQkJCQkJCTxmaXNjYWxDb2RlUEE+Nzc3Nzc3Nzc3Nzc8L2Zpc2NhbENvZGVQQT4KCQkJCQkJCTxjb21wYW55TmFtZT54eHh4eHh4PC9jb21wYW55TmFtZT4KCQkJCQkJCTxJQkFOPklUMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTwvSUJBTj4KCQkJCQkJCTxyZW1pdHRhbmNlSW5mb3JtYXRpb24+eHh4eHh4eDwvcmVtaXR0YW5jZUluZm9ybWF0aW9uPgoJCQkJCQkJPHRyYW5zZmVyQ2F0ZWdvcnk+eHh4eHh4PC90cmFuc2ZlckNhdGVnb3J5PgoJCQkJCQk8L3RyYW5zZmVyPgoJCQkJCQk8dHJhbnNmZXI+CgkJCQkJCQk8aWRUcmFuc2Zlcj4yPC9pZFRyYW5zZmVyPgoJCQkJCQkJPHRyYW5zZmVyQW1vdW50PjE1MC4wMDwvdHJhbnNmZXJBbW91bnQ+CgkJCQkJCQk8ZmlzY2FsQ29kZVBBPjc3Nzc3Nzc3Nzc4PC9maXNjYWxDb2RlUEE+CgkJCQkJCQk8Y29tcGFueU5hbWU+eHh4eHh4eDwvY29tcGFueU5hbWU+CgkJCQkJCQk8SUJBTj5JVDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI8L0lCQU4+CgkJCQkJCQk8cmVtaXR0YW5jZUluZm9ybWF0aW9uPnh4eHh4eHg8L3JlbWl0dGFuY2VJbmZvcm1hdGlvbj4KCQkJCQkJCTx0cmFuc2ZlckNhdGVnb3J5Pnh4eHh4eDwvdHJhbnNmZXJDYXRlZ29yeT4KCQkJCQkJPC90cmFuc2Zlcj4KCQkJCQk8L3RyYW5zZmVyTGlzdD4KCQkJCTwvcGF5bWVudD4KCQkJPC9wYXltZW50TGlzdD4KCQkJPGFkZGl0aW9uYWxQYXltZW50SW5mb3JtYXRpb25zPgoJCQkJPG1ldGFkYXRhPgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT50aXBvVmVyc2FtZW50bzwva2V5PgoJCQkJCQk8dmFsdWU+Q1A8L3ZhbHVlPgoJCQkJCTwvbWFwRW50cnk+CgkJCQkJPG1hcEVudHJ5PgoJCQkJCQk8a2V5Pm91dGNvbWVQYXltZW50R2F0ZXdheTwva2V5PgoJCQkJCQk8dmFsdWU+T0s8L3ZhbHVlPgoJCQkJCTwvbWFwRW50cnk+CgkJCQkJPG1hcEVudHJ5PgoJCQkJCQk8a2V5PnRpbWVzdGFtcE9wZXJhdGlvbjwva2V5PgoJCQkJCQk8dmFsdWU+MjAyNC0wNC0xOVQyMzowMTo0NDwvdmFsdWU+CgkJCQkJPC9tYXBFbnRyeT4KCQkJCQk8bWFwRW50cnk+CgkJCQkJCTxrZXk+dG90YWxBbW91bnQ8L2tleT4KCQkJCQkJPHZhbHVlPjcwMS4wMDwvdmFsdWU+CgkJCQkJPC9tYXBFbnRyeT4KCQkJCQk8bWFwRW50cnk+CgkJCQkJCTxrZXk+ZmVlPC9rZXk+CgkJCQkJCTx2YWx1ZT4xLjAwPC92YWx1ZT4KCQkJCQk8L21hcEVudHJ5PgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT5hdXRob3JpemF0aW9uQ29kZTwva2V5PgoJCQkJCQk8dmFsdWU+MTAwMDAxPC92YWx1ZT4KCQkJCQk8L21hcEVudHJ5PgoJCQkJCTxtYXBFbnRyeT4KCQkJCQkJPGtleT5ycm48L2tleT4KCQkJCQkJPHZhbHVlPnp6enp6enp6enp6enp6enp6enp6ejE8L3ZhbHVlPgoJCQkJCTwvbWFwRW50cnk+CgkJCQk8L21ldGFkYXRhPgoJCQk8L2FkZGl0aW9uYWxQYXltZW50SW5mb3JtYXRpb25zPgoJCTwvcGZuOnBzcE5vdGlmeVBheW1lbnRWMj4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+
+
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
+
+
+
+
+
+
+
+
+
+
+$data_req = [
+ ':id' => 298,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:58:04.197',
+ ':tipoevento' => 'sendPaymentOutcomeV2',
+ ':sottotipoevento' => 'REQ',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000292',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000298',
+ ':payload' => 'PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNzA8L3BheW1lbnRUb2tlbj4KICAgICAgICA8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcxPC9wYXltZW50VG9rZW4+CiAgICAgIDwvcGF5bWVudFRva2Vucz4KICAgICAgPG91dGNvbWU+T0s8L291dGNvbWU+CiAgICAgIDxkZXRhaWxzPgogICAgICAJPHBheW1lbnRNZXRob2Q+TUVUT0RPPC9wYXltZW50TWV0aG9kPgogICAgICAJPHBheW1lbnRDaGFubmVsPkNBTkFMRTwvcGF5bWVudENoYW5uZWw+CiAgICAgIDwvZGV0YWlscz4KICAgIDwvbnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdD4KICA8L3NvYXA6Qm9keT4KPC9zb2FwOkVudmVsb3BlPg==',
+];
+
+$data_resp = [
+ ':id' => 299,
+ ':date_event' => '2024-03-10',
+ ':inserted_timestamp' => '2024-03-10 10:58:05.197',
+ ':tipoevento' => 'sendPaymentOutcomeV2',
+ ':sottotipoevento' => 'RESP',
+ ':iddominio' => '77777777777',
+ ':iuv' => '01000000000000270',
+ ':ccp' => 't0000000000000000000000000000270',
+ ':noticenumber' => '301000000000000270',
+ ':creditorreferenceid' => '01000000000000270',
+ ':paymenttoken' => 't0000000000000000000000000000270',
+ ':psp' => 'PSP_V2',
+ ':stazione' => '77777777777_01',
+ ':canale' => '88888888888_01',
+ ':sessionid' => 'sessid_000292',
+ ':sessionidoriginal' => '',
+ ':uniqueid' => 'T000299',
+ ':payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJPC9uZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+];
+
+
+
+
+
+Capsule::statement($render_query, $data_req);
+Capsule::statement($render_query, $data_resp);
+
diff --git a/src/sql/05_2024_insert_data.sql b/src/sql/05_2024_insert_data.sql
index b3713479..e12d9a34 100644
--- a/src/sql/05_2024_insert_data.sql
+++ b/src/sql/05_2024_insert_data.sql
@@ -50,7 +50,9 @@ INSERT INTO mapped_events(tipo_evento,sotto_tipo_evento ,fk_event) values
('paSendRT' , 'REQ' , 49),
('paSendRT' , 'RESP', 50),
('paGetPaymentV2' , 'REQ' , 51),
- ('paGetPaymentV2' , 'RESP', 52);
+ ('paGetPaymentV2' , 'RESP', 52),
+ ('sendPaymentOutcomeV2' , 'REQ' , 53),
+ ('sendPaymentOutcomeV2' , 'RESP', 54);
insert into mapped_payment_methods (tipoversamento, descrizione) values
('CC', 'Carta di Credito'),
diff --git a/src/src/crawler/events/req/sendPaymentOutcomeV2.php b/src/src/crawler/events/req/sendPaymentOutcomeV2.php
new file mode 100644
index 00000000..de26e37f
--- /dev/null
+++ b/src/src/crawler/events/req/sendPaymentOutcomeV2.php
@@ -0,0 +1,166 @@
+method = new Payload($this->data['payload']);
+ }
+
+
+ /**
+ * @inheritDoc
+ */
+ public function getIuvs(): array|null
+ {
+ $value = $this->getIuv();
+ return (is_null($value)) ? $this->getMethodInterface()->getIuvs() : array($value);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getPaEmittenti(): array|null
+ {
+ $value = $this->getPaEmittente();
+ return (is_null($value)) ? $this->getMethodInterface()->getPaEmittenti() : array($value);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCcps(): array|null
+ {
+ return $this->getMethodInterface()->getCcps();
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function transaction(int $index = 0): Transaction|null
+ {
+ return null;
+ }
+
+ public function transactionDetails(int $transfer, int $index = 0): TransactionDetails|null
+ {
+ return null;
+ }
+
+ public function workflowEvent(int $index = 0): Workflow|null
+ {
+ $workflow = new Workflow($this->getInsertedTimestamp());
+ $workflow->setNewColumnValue('date_event', $this->getInsertedTimestamp()->format('Y-m-d'));
+ $workflow->setEventTimestamp($this->getInsertedTimestamp());
+ $workflow->setEventId($this->getUniqueId());
+ $workflow->setFkTipoEvento(MapEvents::getMethodId($this->getTipoEvento(), $this->getSottoTipoEvento()));
+
+ $id_psp = $this->getPsp();
+ $stazione = $this->getStazione();
+ $canale = $this->getCanale();
+ $outcome = $this->getMethodInterface()->outcome();
+
+ if (!is_null($id_psp))
+ {
+ $workflow->setPsp($id_psp);
+ }
+ if (!is_null($stazione))
+ {
+ $workflow->setStazione($stazione);
+ }
+ if (!is_null($canale))
+ {
+ $workflow->setCanale($canale);
+ }
+ if (!is_null($outcome))
+ {
+ $workflow->setOutcomeEvent($outcome);
+ }
+
+ return $workflow;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getMethodInterface(): Payload
+ {
+ return $this->method;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getPaymentsCount(): int|null
+ {
+ return $this->getMethodInterface()->getPaymentsCount();
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getTransferCount(int $index = 0): int|null
+ {
+ return null;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyPayment(int $index = 0): string|null
+ {
+ if ($this->getMethodInterface()->getPaymentsCount() > 1)
+ {
+ return null;
+ }
+ $iuv = $this->getIuv(0);
+ $pa_emittente = $this->getPaEmittente(0);
+
+ return sprintf('payment_%s_%s', $iuv, $pa_emittente);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyAttempt(int $index = 0): string|null
+ {
+ if ($this->getMethodInterface()->getPaymentsCount() > 1)
+ {
+ return null;
+ }
+ $iuv = $this->getIuv(0);
+ $pa_emittente = $this->getPaEmittente(0);
+ $token = $this->getPaymentToken(0);
+
+ return sprintf('attempt_%s_%s_%s', $iuv, $pa_emittente, $token);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyList(): array
+ {
+ $return = array();
+ if (!is_null($this->getSessionId()))
+ {
+ $key = sprintf('session_id_%s_%s', $this->getSessionId(), $this->getTipoEvento());
+ $return[] = $key;
+ }
+ return $return;
+ }
+}
\ No newline at end of file
diff --git a/src/src/crawler/events/resp/sendPaymentOutcomeV2.php b/src/src/crawler/events/resp/sendPaymentOutcomeV2.php
new file mode 100644
index 00000000..07b93469
--- /dev/null
+++ b/src/src/crawler/events/resp/sendPaymentOutcomeV2.php
@@ -0,0 +1,172 @@
+method = new Payload($this->data['payload']);
+ }
+ /**
+ * @inheritDoc
+ */
+ public function getIuvs(): array|null
+ {
+ $value = $this->getIuv();
+ return (is_null($value)) ? $this->getMethodInterface()->getIuvs() : array($value);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getPaEmittenti(): array|null
+ {
+ $value = $this->getPaEmittente();
+ return (is_null($value)) ? $this->getMethodInterface()->getPaEmittenti() : array($value);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCcps(): array|null
+ {
+ $value = $this->getCcp();
+ return (is_null($value)) ? $this->getMethodInterface()->getCcps() : array($value);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function transaction(int $index = 0): Transaction|null
+ {
+ return null;
+ }
+
+ public function transactionDetails(int $transfer, int $index = 0): TransactionDetails|null
+ {
+ return null;
+ }
+
+ public function workflowEvent(int $index = 0): Workflow|null
+ {
+ $workflow = new Workflow($this->getInsertedTimestamp());
+ $workflow->setNewColumnValue('date_event', $this->getInsertedTimestamp()->format('Y-m-d'));
+ $workflow->setEventTimestamp($this->getInsertedTimestamp());
+ $workflow->setEventId($this->getUniqueId());
+ $workflow->setFkTipoEvento(MapEvents::getMethodId($this->getTipoEvento(), $this->getSottoTipoEvento()));
+
+ $id_psp = $this->getPsp();
+ $stazione = $this->getStazione();
+ $canale = $this->getCanale();
+ $outcome = $this->getMethodInterface()->outcome();
+ $faultcode = $this->getMethodInterface()->getFaultCode();
+
+ if (!is_null($id_psp))
+ {
+ $workflow->setPsp($id_psp);
+ }
+ if (!is_null($stazione))
+ {
+ $workflow->setStazione($stazione);
+ }
+ if (!is_null($canale))
+ {
+ $workflow->setCanale($canale);
+ }
+ if (!is_null($outcome))
+ {
+ $workflow->setOutcomeEvent($outcome);
+ }
+ if (!is_null($faultcode))
+ {
+ $workflow->setFaultCode($faultcode);
+ }
+
+ return $workflow;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getMethodInterface(): Payload
+ {
+ return $this->method;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getPaymentsCount(): int|null
+ {
+ return 1;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getTransferCount(int $index = 0): int|null
+ {
+ return null;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyPayment(int $index = 0): string|null
+ {
+ return null;
+ if ($this->getMethodInterface()->getPaymentsCount() > 1)
+ {
+ return null;
+ }
+ $iuv = $this->getIuv(0);
+ $pa_emittente = $this->getPaEmittente(0);
+
+ return sprintf('payment_%s_%s', $iuv, $pa_emittente);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyAttempt(int $index = 0): string|null
+ {
+ return null;
+ if ($this->getMethodInterface()->getPaymentsCount() > 1)
+ {
+ return null;
+ }
+ $iuv = $this->getIuv(0);
+ $pa_emittente = $this->getPaEmittente(0);
+ $token = $this->getPaymentToken(0);
+
+ return sprintf('attempt_%s_%s_%s', $iuv, $pa_emittente, $token);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function getCacheKeyList(): array
+ {
+ $return = array();
+ if (!is_null($this->getSessionId()))
+ {
+ $key = sprintf('session_id_%s_%s', $this->getSessionId(), $this->getTipoEvento());
+ $return[] = $key;
+ }
+ return $return;
+ }
+}
\ No newline at end of file
diff --git a/src/src/crawler/methods/req/sendPaymentOutcomeV2.php b/src/src/crawler/methods/req/sendPaymentOutcomeV2.php
new file mode 100644
index 00000000..bdb429cc
--- /dev/null
+++ b/src/src/crawler/methods/req/sendPaymentOutcomeV2.php
@@ -0,0 +1,52 @@
+getElementCount('/paymentTokens/paymentToken');
+ }
+
+ /**
+ * Restituisce il valore del tag
+ * @return string|null
+ * @throws \Exception
+ */
+ public function getPaymentMethod() : null|string
+ {
+ return $this->getElement(self::XPATH_PAYMENT_METHOD);
+ }
+
+ /**
+ * Restituisce il valore del tag
+ * @return string|null
+ * @throws \Exception
+ */
+ public function getPaymentChannel() : null|string
+ {
+ return $this->getElement(self::XPATH_PAYMENT_CHANNEL);
+ }
+}
\ No newline at end of file
diff --git a/src/src/crawler/methods/resp/sendPaymentOutcomeV2.php b/src/src/crawler/methods/resp/sendPaymentOutcomeV2.php
new file mode 100644
index 00000000..b5dfc6e1
--- /dev/null
+++ b/src/src/crawler/methods/resp/sendPaymentOutcomeV2.php
@@ -0,0 +1,21 @@
+setEvent($event);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function isValidPayment(int $index = 0): bool
+ {
+ $token = (is_null($this->getEvent()->getPaymentToken($index))) ? $this->getEvent()->getMethodInterface()->getToken($index) : $this->getEvent()->getPaymentToken($index);
+ if (is_null($token))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function isAttempt(int $index = 0): bool
+ {
+ $token = (is_null($this->getEvent()->getPaymentToken($index))) ? $this->getEvent()->getMethodInterface()->getToken($index) : $this->getEvent()->getPaymentToken($index);
+ if (is_null($token))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public function updateTransaction(CacheObject $cache, int $index = 0): array|null
+ {
+ if ((!$this->getEvent()->isValidPayload()) || ($cache->getEsito()))
+ {
+ return $cache->getCacheData();
+ }
+ $id = $cache->getId();
+ $date_event = $cache->getDateEvent();
+
+ $transaction = Transaction::getTransactionByIdAndDateEvent($id, $date_event);
+ $transaction->setEsito($this->getEvent()->getMethodInterface()->outcome());
+ $transaction->update();
+ DB::statement($transaction->getQuery(), $transaction->getBindParams());
+ $cache->setKey('esito', true);
+ return $cache->getCacheData();
+ }
+
+ public function getListOfCacheKey(): array
+ {
+ $token_list = array();
+ $key_token_cache = 'token_%s';
+ for($i=0;$i<$this->getEvent()->getPaymentsCount();$i++)
+ {
+ $token = $this->getEvent()->getMethodInterface()->getToken($i);
+ $render_key = sprintf($key_token_cache, $token);
+ if ($this->hasInCache($render_key))
+ {
+ $token_list = array_merge($token_list, $this->getFromCache($render_key));
+ }
+ }
+ return $token_list;
+ }
+}
\ No newline at end of file
diff --git a/src/src/crawler/paymentlist/resp/sendPaymentOutcomeV2.php b/src/src/crawler/paymentlist/resp/sendPaymentOutcomeV2.php
new file mode 100644
index 00000000..37e3f571
--- /dev/null
+++ b/src/src/crawler/paymentlist/resp/sendPaymentOutcomeV2.php
@@ -0,0 +1,44 @@
+setEvent($event);
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function isValidPayment(int $index = 0): bool
+ {
+ $token = (is_null($this->getEvent()->getPaymentToken($index))) ? $this->getEvent()->getMethodInterface()->getToken($index) : $this->getEvent()->getPaymentToken($index);
+ if (is_null($token))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * @inheritDoc
+ */
+ public function isAttempt(int $index = 0): bool
+ {
+ $token = (is_null($this->getEvent()->getPaymentToken($index))) ? $this->getEvent()->getMethodInterface()->getToken($index) : $this->getEvent()->getPaymentToken($index);
+ if (is_null($token))
+ {
+ return false;
+ }
+ return true;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/pagopa/events/req/sendPaymentOutcomeV2Test.php b/src/tests/pagopa/events/req/sendPaymentOutcomeV2Test.php
new file mode 100644
index 00000000..1396c84b
--- /dev/null
+++ b/src/tests/pagopa/events/req/sendPaymentOutcomeV2Test.php
@@ -0,0 +1,135 @@
+event = new sendPaymentOutcomeV2(
+ [
+ 'date_event' => '2024-03-10',
+ 'inserted_timestamp' => '2024-03-10 08:07:00.201',
+ 'tipoevento' => 'sendPaymentOutcomeV2',
+ 'sottotipoevento' => 'REQ',
+ 'iddominio' => '77777777777',
+ 'iuv' => '01000000000000010',
+ 'ccp' => 't0000000000000000000000000000010',
+ 'noticenumber' => '301000000000000010',
+ 'creditorreferenceid' => '01000000000000010',
+ 'paymenttoken' => 't0000000000000000000000000000010',
+ 'psp' => 'AGID_01',
+ 'stazione' => '77777777777_01',
+ 'canale' => '88888888888_01',
+ 'sessionid' => 'sessid_000039',
+ 'sessionidoriginal' => '',
+ 'uniqueid' => 'T000010',
+ 'payload' => 'PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE8L3BheW1lbnRUb2tlbj4KICAgICAgPC9wYXltZW50VG9rZW5zPgogICAgICA8b3V0Y29tZT5PSzwvb3V0Y29tZT4KICAgIDwvbnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdD4KICA8L3NvYXA6Qm9keT4KPC9zb2FwOkVudmVsb3BlPg==',
+ ]
+ );
+
+ $this->multi = new sendPaymentOutcomeV2(
+ [
+ 'date_event' => '2024-03-10',
+ 'inserted_timestamp' => '2024-03-10 08:07:00.201',
+ 'tipoevento' => 'sendPaymentOutcomeV2',
+ 'sottotipoevento' => 'REQ',
+ 'iddominio' => '77777777777',
+ 'iuv' => '01000000000000010',
+ 'ccp' => 't0000000000000000000000000000010',
+ 'noticenumber' => '301000000000000010',
+ 'creditorreferenceid' => '01000000000000010',
+ 'paymenttoken' => 't0000000000000000000000000000010',
+ 'psp' => 'AGID_01',
+ 'stazione' => '77777777777_01',
+ 'canale' => '88888888888_01',
+ 'sessionid' => 'sessid_000039',
+ 'sessionidoriginal' => '',
+ 'uniqueid' => 'T000010',
+ 'payload' => 'PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE8L3BheW1lbnRUb2tlbj4KICAgICAgICA8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyPC9wYXltZW50VG9rZW4+CiAgICAgICAgPHBheW1lbnRUb2tlbj50MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzwvcGF5bWVudFRva2VuPgogICAgICA8L3BheW1lbnRUb2tlbnM+CiAgICAgIDxvdXRjb21lPk9LPC9vdXRjb21lPgogICAgPC9uczM6c2VuZFBheW1lbnRPdXRjb21lVjJSZXF1ZXN0PgogIDwvc29hcDpCb2R5Pgo8L3NvYXA6RW52ZWxvcGU+',
+ ]
+ );
+ }
+
+ #[TestDox('getTransferCount()')]
+ public function testGetTransferCount()
+ {
+ $this->assertNull($this->event->getTransferCount());
+ $this->assertNull($this->multi->getTransferCount());
+ }
+
+ #[TestDox('getMethodInterface()')]
+ public function testGetMethodInterface()
+ {
+ $this->assertInstanceOf(\pagopa\crawler\methods\req\sendPaymentOutcomeV2::class, $this->event->getMethodInterface());
+ $this->assertInstanceOf(\pagopa\crawler\methods\req\sendPaymentOutcomeV2::class, $this->multi->getMethodInterface());
+ }
+
+ #[TestDox('transactionDetails()')]
+ public function testTransactionDetails()
+ {
+ $this->assertNull($this->event->transactionDetails(0));
+ $this->assertNull($this->multi->transactionDetails(0));
+ }
+
+ #[TestDox('workflowEvent()')]
+ public function testWorkflowEvent()
+ {
+ $workflow = $this->event->workflowEvent();
+
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'REQ'), $workflow->getReadyColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 08:07:00.201', $workflow->getReadyColumnValue('event_timestamp'));
+ $this->assertEquals('T000010', $workflow->getReadyColumnValue('event_id'));
+ $this->assertEquals('AGID_01', $workflow->getReadyColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getReadyColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getReadyColumnValue('canale'));
+ $this->assertEquals('OK', $workflow->getReadyColumnValue('outcome'));
+ $this->assertNull($workflow->getReadyColumnValue('faultcode'));
+ }
+
+ #[TestDox('getPaEmittenti()')]
+ public function testGetPaEmittenti()
+ {
+ $this->assertEquals(['77777777777'], $this->event->getPaEmittenti());
+ $this->assertEquals(['77777777777'], $this->multi->getPaEmittenti());
+ }
+
+ #[TestDox('getCcps()')]
+ public function testGetCcps()
+ {
+ $this->assertEquals(['t0000000000000000000000000000001'], $this->event->getCcps());
+ $this->assertEquals(['t0000000000000000000000000000001', 't0000000000000000000000000000002', 't0000000000000000000000000000003'], $this->multi->getCcps());
+ }
+
+ #[TestDox('getIuvs()')]
+ public function testGetIuvs()
+ {
+ $value = ['01000000000000010'];
+ $this->assertEquals($value, $this->event->getIuvs());
+ $this->assertEquals($value, $this->multi->getIuvs());
+ }
+
+ #[TestDox('transaction()')]
+ public function testTransaction()
+ {
+ $this->assertNull($this->event->transaction());
+ }
+
+ #[TestDox('getPaymentsCount()')]
+ public function testGetPaymentsCount()
+ {
+ $this->assertEquals(1, $this->event->getPaymentsCount());
+ $this->assertEquals(3, $this->multi->getPaymentsCount());
+ }
+}
diff --git a/src/tests/pagopa/events/resp/sendPaymentOutcomeV2Test.php b/src/tests/pagopa/events/resp/sendPaymentOutcomeV2Test.php
new file mode 100644
index 00000000..0c9b97e8
--- /dev/null
+++ b/src/tests/pagopa/events/resp/sendPaymentOutcomeV2Test.php
@@ -0,0 +1,144 @@
+payment = new sendPaymentOutcomeV2(
+ [
+ 'date_event' => '2024-03-10',
+ 'inserted_timestamp' => '2024-03-10 08:07:00.201',
+ 'tipoevento' => 'sendPaymentOutcomeV2',
+ 'sottotipoevento' => 'RESP',
+ 'iddominio' => '77777777777',
+ 'iuv' => '01000000000000010',
+ 'ccp' => 't0000000000000000000000000000010',
+ 'noticenumber' => '301000000000000010',
+ 'creditorreferenceid' => '01000000000000010',
+ 'paymenttoken' => 't0000000000000000000000000000010',
+ 'psp' => 'AGID_01',
+ 'stazione' => '77777777777_01',
+ 'canale' => '88888888888_01',
+ 'sessionid' => 'sessid_000039',
+ 'sessionidoriginal' => '',
+ 'uniqueid' => 'T000010',
+ 'payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJPC9uZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+',
+ ]
+ );
+ $this->fault = new sendPaymentOutcomeV2(
+ [
+ 'date_event' => '2024-03-10',
+ 'inserted_timestamp' => '2024-03-10 08:07:00.201',
+ 'tipoevento' => 'sendPaymentOutcomeV2',
+ 'sottotipoevento' => 'RESP',
+ 'iddominio' => '77777777777',
+ 'iuv' => '01000000000000010',
+ 'ccp' => 't0000000000000000000000000000010',
+ 'noticenumber' => '301000000000000010',
+ 'creditorreferenceid' => '01000000000000010',
+ 'paymenttoken' => 't0000000000000000000000000000010',
+ 'psp' => 'AGID_01',
+ 'stazione' => '77777777777_01',
+ 'canale' => '88888888888_01',
+ 'sessionid' => 'sessid_000039',
+ 'sessionidoriginal' => '',
+ 'uniqueid' => 'T000010',
+ 'payload' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+S088L291dGNvbWU+CgkJCTxmYXVsdD4KCQkJCTxmYXVsdENvZGU+UFBUX1RPS0VOX1NDQURVVE88L2ZhdWx0Q29kZT4KCQkJCTxmYXVsdFN0cmluZz5wYXltZW50VG9rZW4gaXMgZXhwaXJlZDwvZmF1bHRTdHJpbmc+CgkJCQk8aWQ+Tm9kb0RlaVBhZ2FtZW50aVNQQzwvaWQ+CgkJCQk8ZGVzY3JpcHRpb24+cGF5bWVudFRva2VuIGlzIGV4cGlyZWQ8L2Rlc2NyaXB0aW9uPgoJCQk8L2ZhdWx0PgoJCTwvbmZwOnNlbmRQYXltZW50T3V0Y29tZVYyUmVzcG9uc2U+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg==',
+ ]
+ );
+ }
+
+ #[TestDox('transactionDetails()')]
+ public function testTransactionDetails()
+ {
+ $this->assertNull($this->payment->transactionDetails(0));
+ $this->assertNull($this->fault->transactionDetails(0));
+ }
+
+ #[TestDox('getTransferCount()')]
+ public function testGetTransferCount()
+ {
+ $this->assertNull($this->payment->getTransferCount());
+ $this->assertNull($this->fault->getTransferCount());
+ }
+
+ #[TestDox('getIuvs()')]
+ public function testGetIuvs()
+ {
+ $value = ['01000000000000010'];
+ $this->assertEquals($value, $this->payment->getIuvs());
+ $this->assertEquals($value, $this->fault->getIuvs());
+ }
+
+ #[TestDox('getPaEmittenti()')]
+ public function testGetPaEmittenti()
+ {
+ $this->assertEquals(['77777777777'], $this->payment->getPaEmittenti());
+ $this->assertEquals(['77777777777'], $this->fault->getPaEmittenti());
+ }
+
+ #[TestDox('transaction()')]
+ public function testTransaction()
+ {
+ $this->assertNull($this->payment->transaction());
+ $this->assertNull($this->fault->transaction());
+ }
+
+ #[TestDox('workflowEvent()')]
+ public function testWorkflowEvent()
+ {
+ $workflow = $this->payment->workflowEvent();
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getReadyColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 08:07:00.201', $workflow->getReadyColumnValue('event_timestamp'));
+ $this->assertEquals('T000010', $workflow->getReadyColumnValue('event_id'));
+ $this->assertEquals('AGID_01', $workflow->getReadyColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getReadyColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getReadyColumnValue('canale'));
+ $this->assertEquals('OK', $workflow->getReadyColumnValue('outcome'));
+ $this->assertNull($workflow->getReadyColumnValue('faultcode'));
+
+ $workflow = $this->fault->workflowEvent();
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getReadyColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 08:07:00.201', $workflow->getReadyColumnValue('event_timestamp'));
+ $this->assertEquals('T000010', $workflow->getReadyColumnValue('event_id'));
+ $this->assertEquals('AGID_01', $workflow->getReadyColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getReadyColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getReadyColumnValue('canale'));
+ $this->assertEquals('KO', $workflow->getReadyColumnValue('outcome'));
+ $this->assertEquals('PPT_TOKEN_SCADUTO', $workflow->getReadyColumnValue('faultcode'));
+ }
+
+ #[TestDox('getMethodInterface()')]
+ public function testGetMethodInterface()
+ {
+ $this->assertInstanceOf(\pagopa\crawler\methods\resp\sendPaymentOutcomeV2::class, $this->payment->getMethodInterface());
+ $this->assertInstanceOf(\pagopa\crawler\methods\resp\sendPaymentOutcomeV2::class, $this->fault->getMethodInterface());
+ }
+
+ #[TestDox('getPaymentsCount()')]
+ public function testGetPaymentsCount()
+ {
+ $this->assertEquals(1, $this->payment->getPaymentsCount());
+ $this->assertEquals(1, $this->fault->getPaymentsCount());
+ }
+
+ #[TestDox('getCcps()')]
+ public function testGetCcps()
+ {
+ $this->assertEquals(['t0000000000000000000000000000010'], $this->payment->getCcps());
+ $this->assertEquals(['t0000000000000000000000000000010'], $this->fault->getCcps());
+ }
+}
diff --git a/src/tests/pagopa/methods/req/sendPaymentOutcomeV2Test.php b/src/tests/pagopa/methods/req/sendPaymentOutcomeV2Test.php
new file mode 100644
index 00000000..7aec4cc7
--- /dev/null
+++ b/src/tests/pagopa/methods/req/sendPaymentOutcomeV2Test.php
@@ -0,0 +1,324 @@
+payment = new sendPaymentOutcomeV2(base64_decode('PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE8L3BheW1lbnRUb2tlbj4KICAgICAgPC9wYXltZW50VG9rZW5zPgogICAgICA8b3V0Y29tZT5PSzwvb3V0Y29tZT4KICAgIDwvbnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdD4KICA8L3NvYXA6Qm9keT4KPC9zb2FwOkVudmVsb3BlPg=='));
+ $this->multi_token = new sendPaymentOutcomeV2(base64_decode('PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE8L3BheW1lbnRUb2tlbj4KICAgICAgICA8cGF5bWVudFRva2VuPnQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyPC9wYXltZW50VG9rZW4+CiAgICAgICAgPHBheW1lbnRUb2tlbj50MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzwvcGF5bWVudFRva2VuPgogICAgICA8L3BheW1lbnRUb2tlbnM+CiAgICAgIDxvdXRjb21lPk9LPC9vdXRjb21lPgogICAgPC9uczM6c2VuZFBheW1lbnRPdXRjb21lVjJSZXF1ZXN0PgogIDwvc29hcDpCb2R5Pgo8L3NvYXA6RW52ZWxvcGU+'));
+ $this->details = new sendPaymentOutcomeV2(base64_decode('PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPgogIDxzb2FwOkJvZHk+CiAgICA8bnMzOnNlbmRQYXltZW50T3V0Y29tZVYyUmVxdWVzdCB4bWxuczpuczI9Imh0dHA6Ly93d3cuZGlnaXRwYS5nb3YuaXQvc2NoZW1hcy8yMDExL1BhZ2FtZW50aS8iIHhtbG5zOm5zMz0iaHR0cDovL3BhZ29wYS1hcGkucGFnb3BhLmdvdi5pdC9ub2RlL25vZGVGb3JQc3AueHNkIiB4bWxuczpuczQ9Imh0dHA6Ly93cy5wYWdhbWVudGkudGVsZW1hdGljaS5nb3YvIiB4bWxuczpuczU9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvcHNwL3BzcEZvck5vZGUueHNkIj4KICAgICAgPGlkUFNQPkFHSURfMDE8L2lkUFNQPgogICAgICA8aWRCcm9rZXJQU1A+ODg4ODg4ODg4ODg8L2lkQnJva2VyUFNQPgogICAgICA8aWRDaGFubmVsPjg4ODg4ODg4ODg4XzAxPC9pZENoYW5uZWw+CiAgICAgIDxwYXNzd29yZD5QTEFDRUhPTERFUjwvcGFzc3dvcmQ+CiAgICAgIDxwYXltZW50VG9rZW5zPgogICAgICAgIDxwYXltZW50VG9rZW4+dDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE8L3BheW1lbnRUb2tlbj4KICAgICAgPC9wYXltZW50VG9rZW5zPgogICAgICA8b3V0Y29tZT5PSzwvb3V0Y29tZT4KICAgICAgPGRldGFpbHM+CiAgICAgIAk8cGF5bWVudE1ldGhvZD5NRVRPRE88L3BheW1lbnRNZXRob2Q+CiAgICAgIAk8cGF5bWVudENoYW5uZWw+Q0FOQUxFPC9wYXltZW50Q2hhbm5lbD4KICAgICAgPC9kZXRhaWxzPgogICAgPC9uczM6c2VuZFBheW1lbnRPdXRjb21lVjJSZXF1ZXN0PgogIDwvc29hcDpCb2R5Pgo8L3NvYXA6RW52ZWxvcGU+'));
+ }
+
+
+ #[TestDox('getPaymentMetaDataKey()')]
+ public function testGetPaymentMetaDataKey()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataKey());
+ $this->assertNull($this->multi_token->getPaymentMetaDataKey());
+ $this->assertNull($this->details->getPaymentMetaDataKey());
+ }
+
+ #[TestDox('getTransferMetaDataKey()')]
+ public function testGetTransferMetaDataKey()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataKey());
+ $this->assertNull($this->multi_token->getTransferMetaDataKey());
+ $this->assertNull($this->details->getTransferMetaDataKey());
+ }
+
+ #[TestDox('getPaymentsCount()')]
+ public function testGetPaymentsCount()
+ {
+ $this->assertEquals(1, $this->payment->getPaymentsCount());
+ $this->assertEquals(3, $this->multi_token->getPaymentsCount());
+ $this->assertEquals(1, $this->details->getPaymentsCount());
+ }
+
+ #[TestDox('getToken()')]
+ public function testGetToken()
+ {
+ $this->assertEquals('t0000000000000000000000000000001', $this->payment->getToken(0));
+ $this->assertNull($this->payment->getToken(1));
+
+ $this->assertEquals('t0000000000000000000000000000001', $this->multi_token->getToken(0));
+ $this->assertEquals('t0000000000000000000000000000002', $this->multi_token->getToken(1));
+ $this->assertEquals('t0000000000000000000000000000003', $this->multi_token->getToken(2));
+ $this->assertNull($this->multi_token->getToken(3));
+
+ $this->assertEquals('t0000000000000000000000000000001', $this->details->getToken(0));
+ $this->assertNull($this->details->getToken(1));
+
+ }
+
+ #[TestDox('getCcps()')]
+ public function testGetCcps()
+ {
+ $values = [
+ 't0000000000000000000000000000001',
+ 't0000000000000000000000000000002',
+ 't0000000000000000000000000000003'
+ ];
+ $this->assertEquals(array($values[0]), $this->payment->getCcps());
+ $this->assertEquals($values, $this->multi_token->getCcps());
+ $this->assertEquals(array($values[0]), $this->details->getCcps());
+ }
+
+ #[TestDox('getPsp()')]
+ public function testGetPsp()
+ {
+ $this->assertEquals('AGID_01', $this->payment->getPsp());
+ $this->assertEquals('AGID_01', $this->multi_token->getPsp());
+ $this->assertEquals('AGID_01', $this->details->getPsp());
+ }
+
+ #[TestDox('getImporto()')]
+ public function testGetImporto()
+ {
+ $this->assertNull($this->payment->getImporto());
+ $this->assertNull($this->multi_token->getImporto());
+ $this->assertNull($this->details->getImporto());
+ }
+
+ #[TestDox('getPaymentMetaDataValue()')]
+ public function testGetPaymentMetaDataValue()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataValue());
+ $this->assertNull($this->multi_token->getPaymentMetaDataValue());
+ $this->assertNull($this->details->getPaymentMetaDataValue());
+ }
+
+ #[TestDox('getTransferMetaDataValue()')]
+ public function testGetTransferMetaDataValue()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataValue());
+ $this->assertNull($this->multi_token->getTransferMetaDataValue());
+ $this->assertNull($this->details->getTransferMetaDataValue());
+ }
+
+ #[TestDox('getPaEmittente()')]
+ public function testGetPaEmittente()
+ {
+ $this->assertNull($this->payment->getPaEmittente());
+ $this->assertNull($this->multi_token->getPaEmittente());
+ $this->assertNull($this->details->getPaEmittente());
+ }
+
+ #[TestDox('getTransferIban()')]
+ public function testGetTransferIban()
+ {
+ $this->assertNull($this->payment->getTransferIban());
+ $this->assertNull($this->multi_token->getTransferIban());
+ $this->assertNull($this->details->getTransferIban());
+ }
+
+ #[TestDox('getCcp()')]
+ public function testGetCcp()
+ {
+ $this->assertEquals('t0000000000000000000000000000001', $this->payment->getCcp(0));
+ $this->assertNull($this->payment->getCcp(1));
+
+ $this->assertEquals('t0000000000000000000000000000001', $this->multi_token->getCcp(0));
+ $this->assertEquals('t0000000000000000000000000000002', $this->multi_token->getCcp(1));
+ $this->assertEquals('t0000000000000000000000000000003', $this->multi_token->getCcp(2));
+ $this->assertNull($this->multi_token->getCcp(3));
+
+ $this->assertEquals('t0000000000000000000000000000001', $this->details->getCcp(0));
+ $this->assertNull($this->details->getCcp(1));
+ }
+
+ #[TestDox('getIuvs()')]
+ public function testGetIuvs()
+ {
+ $this->assertNull($this->payment->getIuvs());
+ $this->assertNull($this->multi_token->getIuvs());
+ $this->assertNull($this->details->getIuvs());
+ }
+
+ #[TestDox('getPaEmittenti()')]
+ public function testGetPaEmittenti()
+ {
+ $this->assertNull($this->payment->getPaEmittenti());
+ $this->assertNull($this->multi_token->getPaEmittenti());
+ $this->assertNull($this->details->getPaEmittenti());
+ }
+
+ #[TestDox('getTransferCount()')]
+ public function testGetTransferCount()
+ {
+ $this->assertNull($this->payment->getTransferCount());
+ $this->assertNull($this->multi_token->getTransferCount());
+ $this->assertNull($this->details->getTransferCount());
+ }
+
+ #[TestDox('outcome()')]
+ public function testOutcome()
+ {
+ $this->assertEquals('OK', $this->payment->outcome());
+ $this->assertEquals('OK', $this->multi_token->outcome());
+ $this->assertEquals('OK', $this->details->outcome());
+ }
+
+ #[TestDox('getTransferAmount()')]
+ public function testGetTransferAmount()
+ {
+ $this->assertNull($this->payment->getTransferAmount());
+ $this->assertNull($this->multi_token->getTransferAmount());
+ $this->assertNull($this->details->getTransferAmount());
+ }
+
+ #[TestDox('getCanale()')]
+ public function testGetCanale()
+ {
+ $this->assertEquals('88888888888_01', $this->payment->getCanale());
+ $this->assertEquals('88888888888_01', $this->multi_token->getCanale());
+ $this->assertEquals('88888888888_01', $this->details->getCanale());
+ }
+
+ #[TestDox('getAllTokens()')]
+ public function testGetAllTokens()
+ {
+ $values = [
+ 't0000000000000000000000000000001',
+ 't0000000000000000000000000000002',
+ 't0000000000000000000000000000003'
+ ];
+ $this->assertEquals(array($values[0]), $this->payment->getAllTokens());
+ $this->assertEquals($values, $this->multi_token->getAllTokens());
+ $this->assertEquals(array($values[0]), $this->details->getAllTokens());
+ }
+
+ #[TestDox('getTransferPa()')]
+ public function testGetTransferPa()
+ {
+ $this->assertNull($this->payment->getTransferPa());
+ $this->assertNull($this->multi_token->getTransferPa());
+ $this->assertNull($this->details->getTransferPa());
+ }
+
+ #[TestDox('getTransferMetaDataCount()')]
+ public function testGetTransferMetaDataCount()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataCount());
+ $this->assertNull($this->multi_token->getTransferMetaDataCount());
+ $this->assertNull($this->details->getTransferMetaDataCount());
+ }
+
+ #[TestDox('getPaymentChannel()')]
+ public function testGetPaymentChannel()
+ {
+ $this->assertNull($this->payment->getPaymentChannel());
+ $this->assertNull($this->multi_token->getPaymentChannel());
+ $this->assertEquals('CANALE', $this->details->getPaymentChannel());
+ }
+
+ #[TestDox('isBollo()')]
+ public function testIsBollo()
+ {
+ $this->assertFalse($this->payment->isBollo());
+ $this->assertFalse($this->multi_token->isBollo());
+ $this->assertFalse($this->details->isBollo());
+ }
+
+ #[TestDox('getAllNoticesNumbers()')]
+ public function testGetAllNoticesNumbers()
+ {
+ $this->assertNull($this->payment->getAllNoticesNumbers());
+ $this->assertNull($this->multi_token->getAllNoticesNumbers());
+ $this->assertNull($this->details->getAllNoticesNumbers());
+ }
+
+ #[TestDox('getImportoTotale()')]
+ public function testGetImportoTotale()
+ {
+ $this->assertNull($this->payment->getImportoTotale());
+ $this->assertNull($this->multi_token->getImportoTotale());
+ $this->assertNull($this->details->getImportoTotale());
+ }
+
+ #[TestDox('getPaymentMethod()')]
+ public function testGetPaymentMethod()
+ {
+ $this->assertNull($this->payment->getPaymentMethod());
+ $this->assertNull($this->multi_token->getPaymentMethod());
+ $this->assertEquals('METODO', $this->details->getPaymentMethod());
+ }
+
+ #[TestDox('getTransferId()')]
+ public function testGetTransferId()
+ {
+ $this->assertNull($this->payment->getTransferId());
+ $this->assertNull($this->multi_token->getTransferId());
+ $this->assertNull($this->details->getTransferId());
+ }
+
+ #[TestDox('getStazione()')]
+ public function testGetStazione()
+ {
+ $this->assertNull($this->payment->getStazione());
+ $this->assertNull($this->multi_token->getStazione());
+ $this->assertNull($this->details->getStazione());
+ }
+
+ #[TestDox('getNoticeNumber()')]
+ public function testGetNoticeNumber()
+ {
+ $this->assertNull($this->payment->getNoticeNumber());
+ $this->assertNull($this->multi_token->getNoticeNumber());
+ $this->assertNull($this->details->getNoticeNumber());
+ }
+
+ #[TestDox('getBrokerPa()')]
+ public function testGetBrokerPa()
+ {
+ $this->assertNull($this->payment->getBrokerPa());
+ $this->assertNull($this->multi_token->getBrokerPa());
+ $this->assertNull($this->details->getBrokerPa());
+ }
+
+ #[TestDox('getPaymentMetaDataCount()')]
+ public function testGetPaymentMetaDataCount()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataCount());
+ $this->assertNull($this->multi_token->getPaymentMetaDataCount());
+ $this->assertNull($this->details->getPaymentMetaDataCount());
+ }
+
+ #[TestDox('isValidPayload()')]
+ public function testIsValidPayload()
+ {
+ $this->assertTrue($this->payment->isValidPayload());
+ $this->assertTrue($this->multi_token->isValidPayload());
+ $this->assertTrue($this->details->isValidPayload());
+ }
+
+ #[TestDox('getIuv()')]
+ public function testGetIuv()
+ {
+ $this->assertNull($this->payment->getIuv());
+ $this->assertNull($this->multi_token->getIuv());
+ $this->assertNull($this->details->getIuv());
+ }
+
+ #[TestDox('getBrokerPsp()')]
+ public function testGetBrokerPsp()
+ {
+ $this->assertEquals('88888888888', $this->payment->getBrokerPsp());
+ $this->assertEquals('88888888888', $this->multi_token->getBrokerPsp());
+ $this->assertEquals('88888888888', $this->details->getBrokerPsp());
+ }
+}
diff --git a/src/tests/pagopa/methods/resp/sendPaymentOutcomeV2Test.php b/src/tests/pagopa/methods/resp/sendPaymentOutcomeV2Test.php
new file mode 100644
index 00000000..aa49a8f5
--- /dev/null
+++ b/src/tests/pagopa/methods/resp/sendPaymentOutcomeV2Test.php
@@ -0,0 +1,274 @@
+payment = new sendPaymentOutcomeV2(base64_decode('PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+T0s8L291dGNvbWU+CgkJPC9uZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCTwvc29hcGVudjpCb2R5Pgo8L3NvYXBlbnY6RW52ZWxvcGU+'));
+ $this->fault = new sendPaymentOutcomeV2(base64_decode('PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIiA/Pgo8c29hcGVudjpFbnZlbG9wZSB4bWxuczpjb21tb249Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQveHNkL2NvbW1vbi10eXBlcy92MS4wLjAvIiB4bWxuczpuZnA9Imh0dHA6Ly9wYWdvcGEtYXBpLnBhZ29wYS5nb3YuaXQvbm9kZS9ub2RlRm9yUHNwLnhzZCIgeG1sbnM6c29hcGVudj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+Cgk8c29hcGVudjpCb2R5PgoJCTxuZnA6c2VuZFBheW1lbnRPdXRjb21lVjJSZXNwb25zZT4KCQkJPG91dGNvbWU+S088L291dGNvbWU+CgkJCTxmYXVsdD4KCQkJCTxmYXVsdENvZGU+UFBUX1RPS0VOX1NDQURVVE88L2ZhdWx0Q29kZT4KCQkJCTxmYXVsdFN0cmluZz5wYXltZW50VG9rZW4gaXMgZXhwaXJlZDwvZmF1bHRTdHJpbmc+CgkJCQk8aWQ+Tm9kb0RlaVBhZ2FtZW50aVNQQzwvaWQ+CgkJCQk8ZGVzY3JpcHRpb24+cGF5bWVudFRva2VuIGlzIGV4cGlyZWQ8L2Rlc2NyaXB0aW9uPgoJCQk8L2ZhdWx0PgoJCTwvbmZwOnNlbmRQYXltZW50T3V0Y29tZVYyUmVzcG9uc2U+Cgk8L3NvYXBlbnY6Qm9keT4KPC9zb2FwZW52OkVudmVsb3BlPg=='));
+ }
+
+ #[TestDox('getPaymentMetaDataKey()')]
+ public function testGetPaymentMetaDataKey()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataKey());
+ $this->assertNull($this->fault->getPaymentMetaDataKey());
+ }
+
+ #[TestDox('getTransferMetaDataKey()')]
+ public function testGetTransferMetaDataKey()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataKey());
+ $this->assertNull($this->fault->getTransferMetaDataKey());
+ }
+
+ #[TestDox('getFaultString()')]
+ public function testGetFaultString()
+ {
+ $this->assertNull($this->payment->getFaultString());
+ $this->assertEquals('paymentToken is expired', $this->fault->getFaultString());
+ }
+
+ #[TestDox('getToken()')]
+ public function testGetToken()
+ {
+ $this->assertNull($this->payment->getToken());
+ $this->assertNull($this->fault->getToken());
+ }
+
+ #[TestDox('getCcps()')]
+ public function testGetCcps()
+ {
+ $this->assertNull($this->payment->getCcps());
+ $this->assertNull($this->fault->getCcps());
+ }
+
+ #[TestDox('getPsp()')]
+ public function testGetPsp()
+ {
+ $this->assertNull($this->payment->getPsp());
+ $this->assertNull($this->fault->getPsp());
+ }
+
+ #[TestDox('getImporto()')]
+ public function testGetImporto()
+ {
+ $this->assertNull($this->payment->getImporto());
+ $this->assertNull($this->fault->getImporto());
+ }
+
+ #[TestDox('getPaymentMetaDataValue()')]
+ public function testGetPaymentMetaDataValue()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataValue());
+ $this->assertNull($this->fault->getPaymentMetaDataValue());
+ }
+
+ #[TestDox('getTransferMetaDataValue()')]
+ public function testGetTransferMetaDataValue()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataValue());
+ $this->assertNull($this->fault->getTransferMetaDataValue());
+ }
+
+ #[TestDox('getPaEmittente()')]
+ public function testGetPaEmittente()
+ {
+ $this->assertNull($this->payment->getPaEmittente());
+ $this->assertNull($this->fault->getPaEmittente());
+ }
+
+ #[TestDox('getTransferIban()')]
+ public function testGetTransferIban()
+ {
+ $this->assertNull($this->payment->getTransferIban());
+ $this->assertNull($this->fault->getTransferIban());
+ }
+
+ #[TestDox('getCcp()')]
+ public function testGetCcp()
+ {
+ $this->assertNull($this->payment->getCcp());
+ $this->assertNull($this->fault->getCcp());
+ }
+
+ #[TestDox('getIuvs()')]
+ public function testGetIuvs()
+ {
+ $this->assertNull($this->payment->getIuvs());
+ $this->assertNull($this->fault->getIuvs());
+ }
+
+ #[TestDox('getPaEmittenti()')]
+ public function testGetPaEmittenti()
+ {
+ $this->assertNull($this->payment->getPaEmittenti());
+ $this->assertNull($this->fault->getPaEmittenti());
+ }
+
+ #[TestDox('getTransferCount()')]
+ public function testGetTransferCount()
+ {
+ $this->assertNull($this->payment->getTransferCount());
+ $this->assertNull($this->fault->getTransferCount());
+ }
+
+ #[TestDox('outcome()')]
+ public function testOutcome()
+ {
+ $this->assertEquals('OK', $this->payment->outcome());
+ $this->assertEquals('KO', $this->fault->outcome());
+ }
+
+ #[TestDox('getTransferAmount()')]
+ public function testGetTransferAmount()
+ {
+ $this->assertNull($this->payment->getTransferAmount());
+ $this->assertNull($this->fault->getTransferAmount());
+ }
+
+ #[TestDox('getCanale()')]
+ public function testGetCanale()
+ {
+ $this->assertNull($this->payment->getCanale());
+ $this->assertNull($this->fault->getCanale());
+ }
+
+ #[TestDox('getAllTokens()')]
+ public function testGetAllTokens()
+ {
+ $this->assertNull($this->payment->getAllTokens());
+ $this->assertNull($this->fault->getAllTokens());
+ }
+
+ #[TestDox('getTransferPa()')]
+ public function testGetTransferPa()
+ {
+ $this->assertNull($this->payment->getTransferPa());
+ $this->assertNull($this->fault->getTransferPa());
+ }
+
+ #[TestDox('getFaultCode()')]
+ public function testGetFaultCode()
+ {
+ $this->assertNull($this->payment->getFaultCode());
+ $this->assertEquals('PPT_TOKEN_SCADUTO', $this->fault->getFaultCode());
+ }
+
+ #[TestDox('getTransferMetaDataCount()')]
+ public function testGetTransferMetaDataCount()
+ {
+ $this->assertNull($this->payment->getTransferMetaDataCount());
+ $this->assertNull($this->fault->getTransferMetaDataCount());
+ }
+
+ #[TestDox('getFaultDescription()')]
+ public function testGetFaultDescription()
+ {
+ $this->assertNull($this->payment->getFaultDescription());
+ $this->assertEquals('paymentToken is expired', $this->fault->getFaultDescription());
+ }
+
+ #[TestDox('isBollo()')]
+ public function testIsBollo()
+ {
+ $this->assertFalse($this->payment->isBollo());
+ $this->assertFalse($this->fault->isBollo());
+ }
+
+ #[TestDox('getAllNoticesNumbers()')]
+ public function testGetAllNoticesNumbers()
+ {
+ $this->assertNull($this->payment->getAllNoticesNumbers());
+ $this->assertNull($this->fault->getAllNoticesNumbers());
+ }
+
+ #[TestDox('getImportoTotale()')]
+ public function testGetImportoTotale()
+ {
+ $this->assertNull($this->payment->getImportoTotale());
+ $this->assertNull($this->fault->getImportoTotale());
+ }
+
+ #[TestDox('getPaymentsCount()')]
+ public function testGetPaymentsCount()
+ {
+ $this->assertNull($this->payment->getPaymentsCount());
+ $this->assertNull($this->fault->getPaymentsCount());
+ }
+
+ #[TestDox('getTransferId()')]
+ public function testGetTransferId()
+ {
+ $this->assertNull($this->payment->getTransferId());
+ $this->assertNull($this->fault->getTransferId());
+ }
+
+ #[TestDox('getStazione()')]
+ public function testGetStazione()
+ {
+ $this->assertNull($this->payment->getStazione());
+ $this->assertNull($this->fault->getStazione());
+ }
+
+ #[TestDox('getNoticeNumber()')]
+ public function testGetNoticeNumber()
+ {
+ $this->assertNull($this->payment->getNoticeNumber());
+ $this->assertNull($this->fault->getNoticeNumber());
+ }
+
+ #[TestDox('isFaultEvent()')]
+ public function testIsFaultEvent()
+ {
+ $this->assertFalse($this->payment->isFaultEvent());
+ $this->assertTrue($this->fault->isFaultEvent());
+ }
+
+ #[TestDox('getBrokerPa()')]
+ public function testGetBrokerPa()
+ {
+ $this->assertNull($this->payment->getBrokerPa());
+ $this->assertNull($this->fault->getBrokerPa());
+ }
+
+ #[TestDox('getPaymentMetaDataCount()')]
+ public function testGetPaymentMetaDataCount()
+ {
+ $this->assertNull($this->payment->getPaymentMetaDataCount());
+ $this->assertNull($this->fault->getPaymentMetaDataCount());
+ }
+
+ #[TestDox('isValidPayload()')]
+ public function testIsValidPayload()
+ {
+ $this->assertTrue($this->payment->isValidPayload());
+ $this->assertTrue($this->fault->isValidPayload());
+ }
+
+ #[TestDox('getIuv()')]
+ public function testGetIuv()
+ {
+ $this->assertNull($this->payment->getIuv());
+ $this->assertNull($this->fault->getIuv());
+ }
+
+ #[TestDox('getBrokerPsp()')]
+ public function testGetBrokerPsp()
+ {
+ $this->assertNull($this->payment->getBrokerPsp());
+ $this->assertNull($this->fault->getBrokerPsp());
+ }
+}
diff --git a/src/tests/phpunit.xml b/src/tests/phpunit.xml
index 02229561..1977aefc 100644
--- a/src/tests/phpunit.xml
+++ b/src/tests/phpunit.xml
@@ -26,7 +26,7 @@
- process/crawler/paGetPaymentV2/T00070_WorkflowWithPaGetPaymentV2.php
+ process/crawler/sendPaymentOutcomeV2/T00072_WorkflowWithSPOV2_ModUnico.php
process/crawler/activatePaymentNotice/SingleEvent/T00001_CreateAttemptAllInfoInEvent.php
@@ -90,6 +90,8 @@
process/crawler/paGetPayment/T00068_WorkflowWithpaGetPayment.php
process/crawler/paSendRT/T00069_WorkflowWithpaSendRT.php
process/crawler/paGetPaymentV2/T00070_WorkflowWithPaGetPaymentV2.php
+ process/crawler/sendPaymentOutcomeV2/T00071_WorkflowWithSPOV2_Mod3.php
+ process/crawler/sendPaymentOutcomeV2/T00072_WorkflowWithSPOV2_ModUnico.php
@@ -123,6 +125,7 @@
pagopa/methods/req/paGetPaymentTest.php
pagopa/methods/req/paSendRTTest.php
pagopa/methods/req/paGetPaymentV2Test.php
+ pagopa/methods/req/sendPaymentOutcomeV2Test.php
pagopa/methods/resp/activatePaymentNoticeTest.php
@@ -151,6 +154,7 @@
pagopa/methods/resp/paGetPaymentTest.php
pagopa/methods/resp/paSendRTTest.php
pagopa/methods/resp/paGetPaymentV2Test.php
+ pagopa/methods/resp/sendPaymentOutcomeV2Test.php
@@ -180,6 +184,7 @@
pagopa/events/req/paGetPaymentTest.php
pagopa/events/req/paSendRTTest.php
pagopa/events/req/paGetPaymentV2Test.php
+ pagopa/events/req/sendPaymentOutcomeV2Test.php
pagopa/events/resp/activatePaymentNoticeTest.php
@@ -207,6 +212,7 @@
pagopa/events/resp/paGetPaymentTest.php
pagopa/events/resp/paSendRTTest.php
pagopa/events/resp/paGetPaymentV2Test.php
+ pagopa/events/resp/sendPaymentOutcomeV2Test.php
process/normal/T0001.php
diff --git a/src/tests/process/crawler/sendPaymentOutcomeV2/T00071_WorkflowWithSPOV2_Mod3.php b/src/tests/process/crawler/sendPaymentOutcomeV2/T00071_WorkflowWithSPOV2_Mod3.php
new file mode 100644
index 00000000..c049a864
--- /dev/null
+++ b/src/tests/process/crawler/sendPaymentOutcomeV2/T00071_WorkflowWithSPOV2_Mod3.php
@@ -0,0 +1,189 @@
+getTransaction(new \DateTime('2024-03-10'), '01000000000000262');
+ $this->assertEquals('2024-03-10 10:52:00.197', $transaction->getColumnValue('inserted_timestamp'));
+ $this->assertEquals('01000000000000262', $transaction->getColumnValue('iuv'));
+ $this->assertEquals('77777777777', $transaction->getColumnValue('pa_emittente'));
+ $this->assertEquals('t0000000000000000000000000000262', $transaction->getColumnValue('token_ccp'));
+ $this->assertEquals('300.00', $transaction->getColumnValue('importo'));
+ $this->assertEquals('77777777777_01', $transaction->getColumnValue('stazione'));
+ $this->assertEquals('PSP_V2', $transaction->getColumnValue('id_psp'));
+ $this->assertEquals('88888888888_01', $transaction->getColumnValue('canale'));
+ $this->assertEquals('TOUCHPOINT_PSP', $transaction->getColumnValue('touchpoint'));
+ $this->assertEquals('OK', $transaction->getColumnValue('esito'));
+ $this->assertNull($transaction->getColumnValue('id_carrello'));
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000263');
+ $this->assertEquals('2024-03-10 10:52:02.197', $transaction->getColumnValue('inserted_timestamp'));
+ $this->assertEquals('01000000000000263', $transaction->getColumnValue('iuv'));
+ $this->assertEquals('77777777777', $transaction->getColumnValue('pa_emittente'));
+ $this->assertEquals('t0000000000000000000000000000263', $transaction->getColumnValue('token_ccp'));
+ $this->assertEquals('150.00', $transaction->getColumnValue('importo'));
+ $this->assertEquals('77777777777_01', $transaction->getColumnValue('stazione'));
+ $this->assertEquals('PSP_V2', $transaction->getColumnValue('id_psp'));
+ $this->assertEquals('88888888888_01', $transaction->getColumnValue('canale'));
+ $this->assertEquals('TOUCHPOINT_PSP', $transaction->getColumnValue('touchpoint'));
+ $this->assertEquals('OK', $transaction->getColumnValue('esito'));
+ $this->assertNull($transaction->getColumnValue('id_carrello'));
+ }
+
+
+ #[TestDox('[DETAILS] Verifica assenza dettagli')]
+ public function testTransactionDetails()
+ {
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000262' );
+
+ $details = self::$db->getTransactionDetails($transaction, 0);
+ $this->assertEquals(1, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777777', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000001', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('300.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000263' );
+
+ $details = self::$db->getTransactionDetails($transaction, 0);
+ $this->assertEquals(1, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777777', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000001', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('150.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+ }
+
+ #[TestDox('[WORKFLOW] Verifica presenza eventi Workflow')]
+ public function testWorkFlow()
+ {
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000262');
+
+ $workflow = self::$db->getWorkFlow($transaction, 0);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:00.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000280', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 1);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:01.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000281', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 2);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000284', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 3);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:05.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000285', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+
+
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000263');
+
+ $workflow = self::$db->getWorkFlow($transaction, 0);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:02.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000282', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 1);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:03.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000283', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 2);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000284', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 3);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:05.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000285', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+ }
+
+ #[TestDox('[ReEvent] Verifica stato evento')]
+ public function testEvent()
+ {
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 280);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 281);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 282);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 283);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 284);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 285);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ }
+
+}
diff --git a/src/tests/process/crawler/sendPaymentOutcomeV2/T00072_WorkflowWithSPOV2_ModUnico.php b/src/tests/process/crawler/sendPaymentOutcomeV2/T00072_WorkflowWithSPOV2_ModUnico.php
new file mode 100644
index 00000000..6e2d27db
--- /dev/null
+++ b/src/tests/process/crawler/sendPaymentOutcomeV2/T00072_WorkflowWithSPOV2_ModUnico.php
@@ -0,0 +1,368 @@
+getTransaction(new \DateTime('2024-03-10'), '01000000000000270');
+ $this->assertEquals('2024-03-10 10:52:00.197', $transaction->getColumnValue('inserted_timestamp'));
+ $this->assertEquals('01000000000000270', $transaction->getColumnValue('iuv'));
+ $this->assertEquals('77777777777', $transaction->getColumnValue('pa_emittente'));
+ $this->assertEquals('t0000000000000000000000000000270', $transaction->getColumnValue('token_ccp'));
+ $this->assertEquals('301000000000000270', $transaction->getColumnValue('notice_id'));
+ $this->assertEquals('300.00', $transaction->getColumnValue('importo'));
+ $this->assertEquals('77777777777_01', $transaction->getColumnValue('stazione'));
+ $this->assertEquals('PSP_V2', $transaction->getColumnValue('id_psp'));
+ $this->assertEquals('88888888888_01', $transaction->getColumnValue('canale'));
+ $this->assertEquals('TOUCHPOINT_PSP', $transaction->getColumnValue('touchpoint'));
+ $this->assertEquals('OK', $transaction->getColumnValue('esito'));
+ $this->assertNull($transaction->getColumnValue('id_carrello'));
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000271');
+ $this->assertEquals('2024-03-10 10:52:04.197', $transaction->getColumnValue('inserted_timestamp'));
+ $this->assertEquals('01000000000000271', $transaction->getColumnValue('iuv'));
+ $this->assertEquals('77777777777', $transaction->getColumnValue('pa_emittente'));
+ $this->assertEquals('t0000000000000000000000000000271', $transaction->getColumnValue('token_ccp'));
+ $this->assertEquals('301000000000000271', $transaction->getColumnValue('notice_id'));
+ $this->assertEquals('400.00', $transaction->getColumnValue('importo'));
+ $this->assertEquals('77777777777_01', $transaction->getColumnValue('stazione'));
+ $this->assertEquals('PSP_V2', $transaction->getColumnValue('id_psp'));
+ $this->assertEquals('88888888888_01', $transaction->getColumnValue('canale'));
+ $this->assertEquals('TOUCHPOINT_PSP', $transaction->getColumnValue('touchpoint'));
+ $this->assertEquals('OK', $transaction->getColumnValue('esito'));
+ $this->assertNull($transaction->getColumnValue('id_carrello'));
+ }
+
+
+ #[TestDox('[DETAILS] Verifica assenza dettagli')]
+ public function testTransactionDetails()
+ {
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000270' );
+
+ $details = self::$db->getTransactionDetails($transaction, 0);
+ $this->assertEquals(2, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777778', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000002', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('100.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+ $details = self::$db->getTransactionDetails($transaction, 1);
+ $this->assertEquals(1, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777777', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000001', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('200.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+
+
+
+
+
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000271' );
+
+ $details = self::$db->getTransactionDetails($transaction, 0);
+ $this->assertEquals(2, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777778', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000002', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('150.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+ $details = self::$db->getTransactionDetails($transaction, 1);
+ $this->assertEquals(1, $details->getColumnValue('id_transfer'));
+ $this->assertEquals('77777777777', $details->getColumnValue('pa_transfer'));
+ $this->assertEquals('IT0000000000000000000000001', $details->getColumnValue('iban_transfer'));
+ $this->assertEquals('250.00', $details->getColumnValue('amount_transfer'));
+ $this->assertNull($details->getColumnValue('iur'));
+ $this->assertFalse($details->getColumnValue('is_bollo'));
+
+
+
+ }
+
+ #[TestDox('[WORKFLOW] Verifica presenza eventi Workflow')]
+ public function testWorkFlow()
+ {
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000270');
+
+ $workflow = self::$db->getWorkFlow($transaction, 0);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:00.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000286', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 1);
+ $this->assertEquals(MapEvents::getMethodId('paGetPaymentV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:01.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000290', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('AGID_01', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 2);
+ $this->assertEquals(MapEvents::getMethodId('paGetPaymentV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:02.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000291', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('AGID_01', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 3);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:03.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000287', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+ $workflow = self::$db->getWorkFlow($transaction, 4);
+ $this->assertEquals(MapEvents::getMethodId('closePayment-v2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:00.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000294', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+ $workflow = self::$db->getWorkFlow($transaction, 5);
+ $this->assertEquals(MapEvents::getMethodId('pspNotifyPaymentV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000296', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 6);
+ $this->assertEquals(MapEvents::getMethodId('pspNotifyPaymentV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:06.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000297', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 7);
+ $this->assertEquals(MapEvents::getMethodId('closePayment-v2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:10.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000295', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 8);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:58:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000298', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 9);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:58:05.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000299', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000271');
+
+ $workflow = self::$db->getWorkFlow($transaction, 0);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000288', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 1);
+ $this->assertEquals(MapEvents::getMethodId('paGetPaymentV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:05.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000292', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('AGID_01', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 2);
+ $this->assertEquals(MapEvents::getMethodId('paGetPaymentV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:06.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000293', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('AGID_01', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 3);
+ $this->assertEquals(MapEvents::getMethodId('activatePaymentNoticeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:52:07.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000289', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+ $workflow = self::$db->getWorkFlow($transaction, 4);
+ $this->assertEquals(MapEvents::getMethodId('closePayment-v2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:00.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000294', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+
+ $workflow = self::$db->getWorkFlow($transaction, 5);
+ $this->assertEquals(MapEvents::getMethodId('pspNotifyPaymentV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000296', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 6);
+ $this->assertEquals(MapEvents::getMethodId('pspNotifyPaymentV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:06.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000297', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertNull($workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 7);
+ $this->assertEquals(MapEvents::getMethodId('closePayment-v2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:55:10.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000295', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 8);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'REQ'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:58:04.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000298', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+
+ $workflow = self::$db->getWorkFlow($transaction, 9);
+ $this->assertEquals(MapEvents::getMethodId('sendPaymentOutcomeV2', 'RESP'), $workflow->getColumnValue('fk_tipoevento'));
+ $this->assertEquals('2024-03-10 10:58:05.197', $workflow->getColumnValue('event_timestamp'));
+ $this->assertEquals('T000299', $workflow->getColumnValue('event_id'));
+ $this->assertEquals('77777777777_01', $workflow->getColumnValue('stazione'));
+ $this->assertEquals('88888888888_01', $workflow->getColumnValue('canale'));
+ $this->assertEquals('PSP_V2', $workflow->getColumnValue('id_psp'));
+ $this->assertEquals('OK', $workflow->getColumnValue('outcome'));
+ }
+
+
+ #[TestDox('[EXTRA INFO] Verifica delle informazioni extra')]
+ public function testExtraInfo()
+ {
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000270');
+ $extra_info_rrn = self::$db->getExtraInfo($transaction, 'rrn');
+ $this->assertEquals('rrn_SPOV2', $extra_info_rrn->getColumnValue('info_value'));
+ $extra_info_rrn = self::$db->getExtraInfo($transaction, 'authcode');
+ $this->assertEquals('987654', $extra_info_rrn->getColumnValue('info_value'));
+
+
+
+ $transaction = self::$db->getTransaction(new \DateTime('2024-03-10'), '01000000000000271');
+ $extra_info_rrn = self::$db->getExtraInfo($transaction, 'rrn');
+ $this->assertEquals('rrn_SPOV2', $extra_info_rrn->getColumnValue('info_value'));
+ $extra_info_rrn = self::$db->getExtraInfo($transaction, 'authcode');
+ $this->assertEquals('987654', $extra_info_rrn->getColumnValue('info_value'));
+
+
+ }
+ #[TestDox('[ReEvent] Verifica stato evento')]
+ public function testEvent()
+ {
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 286);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 287);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 288);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 289);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 290);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 291);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 292);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 293);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 294);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 295);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 296);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 297);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 298);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+ $event = self::$db->getReEvent(new \DateTime('2024-03-10'), 299);
+ $this->assertEquals('LOADED', $event->getColumnValue('state'));
+
+
+ }
+
+}