Я не уверен, точный промежуток времени между вашей транзакцией и вашим чеком; но, конечно, кажется, что ваш сеансовый файл cookie истек. Сеансы истекают обычно через 45 минут или около того по умолчанию. Это делается для того, чтобы освободить больше uniqid для использования php и предотвратить возможный угон сеанса.
Я не уверен, есть ли у вас пользовательский обработчик сеансов и хранится ли он в базе данных, но исходя из ваших сообщений и комментариев на этой странице, я бы предположил, что он хранится в файлах cookie на стороне сервера.
Теперь решение вашей проблемы состоит в том, чтобы прикусить пулю и сохранить необходимые данные в базе данных и получить к ней доступ через идентификатор сеанса, даже если это означает создание другой таблицы, расположенной рядом с таблицей заказов.
Если, однако, вы выполняете действие немедленно, то другое объяснение состоит в том, что либо пользователь вышел из системы, либо совершил действие, которое уничтожило его сеанс (удалив cookie-файл на стороне сервера).
Вы увидите эти файлы cookie в папке вашего сервера / tmp, попробуйте найти файл cookie, он должен называться 'sess' + $ session_id.