Почему Id сессии меняется после эквайринга (Opencart)?
Интернет-магазин на платформе Opencart 2.3 русская сборка. Эквайринг от тинькофф банк. В корзине есть товары, которые записаны в бд вместе с ID сессии. Внутри движка есть система купонов. После применения купона в корзине его данные проверяются на валидность. Применили купон, перешли на эквайринг, оплатили. Но при возврате на сайт, когда должен меняться статус заказа, происходит еще одна проверка на валидность купона, которая никогда не проходит, потому что ID сессии изменился после оплаты и корзины с товарами по новому ID сессии, разумеется, не существует. Но еще, что не менее интересно, ID сессии снова становится прежним, каким был до оплаты, после того как мы получим Success страницу об успешном оформлении заказа.
Перекопал все файлы, которые могут быть замешаны в этой операции, но ничего не нашел. Трассировка показала, что ID сессии меняется сразу же после оплаты, даже до указанного в эквайринге callback скрипта. Помогите понять, почему меняется сессия и где это происходит.
Проблему решил. Дело в том, что статус заказа при подозрении на Fraud должен быть в числе статусов "в процессе", нужно было в настройках магазина просто добавить его в список или установить другой статус, который уже там есть. Таким образом, не будет дополнительной проверки купона на валидность.
Хотя мне все еще не ясно, почему ID сессии меняется...