Спасибо огромное! Мне помогло это решение!
Сделал пару модификаций и все заработало Проблема была в параметре куки сессии samesite. Для того, чтобы коллбек нормально отрабатывал этот параметр должен быть равен "None"
Если кто-то еще столкнулся с такой проблемой, то может эти модификации помогут. У меня OpenCart 3.0.3.7, PHP 7.4
<file path="catalog/controller/startup/session.php">
<operation>
<search>
<![CDATA[
setcookie($this->config->get('session_name'), $this->session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
]]>
</search>
<add position="replace">
<![CDATA[
setcookie($this->config->get('session_name'), $this->session->getId(), ['expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'samesite' => 'None', 'secure' => 1]);
]]>
</add>
</operation>
</file>
<file path="system/framework.php">
<operation>
<search>
<![CDATA[
setcookie($config->get('session_name'), $session->getId(), ini_get('session.cookie_lifetime'), ini_get('session.cookie_path'), ini_get('session.cookie_domain'));
]]>
</search>
<add position="replace">
<![CDATA[
setcookie($config->get('session_name'), $session->getId(), ['expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'), 'domain' => ini_get('session.cookie_domain'), 'samesite' => 'None', 'secure' => 1]);
]]>
</add>
</operation>
</file>