IP есть, а user-agent — нет
У меня была похожая ситуация в OpenCart2.1.
Когда отрабатывал попап Заказать звонок, то данные (без товара) записывались в Заказы.
Сначала я заметил что IP подменяется, а user-agent по прежнему не было.
Потом я нашёл причину в неявной переадресации.
Скрипт содержал "странный способ обращению к методу контролера"
$array_call = array('name' => $_POST['name'], 'phone' => $_POST['phone']);
$info_call = base64_encode(json_encode($array_call ));
file_get_contents('http://' . $_SERVER['SERVER_NAME'] . '/index.php?route=checkout/checkout/ajaxone&info=' . $info_call ;);
file_get_contents- отправляет запрос на адрес в данном случае
После срабатывало событие и запускало другой контроллер, но даже оттуда я не мог вытащить
$_SERVER
$_COOKIE
$this->request->cookie
Я переделал запись Заказа (через обращение внутри контроллеров) и
всё заработало