Удаление товаров из корзины после оплаты

Доброго дня
Подскажите пожалуйста какую функцию или хук дергать, чтоб удалить товары из корзины?
У меня модуль оплаты, не мной разработан, после завершения непосредственно оплаты, возвращает обратно на страницу сайта (checkout.complete), но в корзине товары остаются. Статус заказа после оплаты - P, Обработан

Можете использовать fn_clear_cart (app/functions/fn.cart.php)

fn_clear_cart(Tygh::$app[‘session’][‘cart’], true);
На локальном вот так работает, удаляется, на реальном сайте в платежке - нет, видимо не туда ставлю, в любом случае спасибо

А вот еще такой вопрос, если позволите
У меня модуль типа:
if (defined(‘PAYMENT_NOTIFICATION’)) {
if (fn_check_payment_script…){
if ($mode == ‘prepare’) {
… Функция не работает
} elseif ($mode == ‘complete’) {
… И тут не работает
}
}
}else{
Тут эта функция работает
}

Мне после complete желательно удалять, из за чего сессия там не видна?

Должно работать, нужно на месте смотреть

Чтобы константа PAYMENT_NOTIFICATION была объявлена, URL для возрата должен быть в формате

https://www.domain.ru/index.php?dispatch=payment_notification.complete&payment=paypal&order_id=123

где
paypal - имя файла, в котором находится ваш код (без .php)
123 - номер заказа

Да именно так, и prepare, и complete и оба отрабатывают как надо, и внутренний функции тоже работают, но вот сессию как будто не видит, пустые массивы
Не подскажите на что зачастую надо смотреть, проверять? Почти все перелопатил ни в какую

А это у вас колбэки с деталями транзации от платежки или возврат пользователя в магазин? Сессия должна чиститься при возврате пользователя

Это колбэки
Пользователь возвращается так
https://www.domain.ru/index.php?dispatch=checkout.complete&order_id=223&payment_status=2&payment_id=4445047930

Так же я сделал функцию для логирования в файл, т.к. сайт у меня на сервере а у платежной системы нет тестов
function log_to_file($data, $filename = 'payment_log.txt') { $logfile = __DIR__ . '/' . $filename; $time = date("Y-m-d H:i:s"); $data = print_r($data, true); file_put_contents($logfile, "[$time] " . $data . "\n", FILE_APPEND); }
Прошу прощения за нечитабельность, мало времени провожу на форуме

Вывод Tygh::$app['session']['cart']
[2025-10-08 11:55:44] Array() [2025-10-08 11:59:35] Array()

Может посмотреть у других способов оплаты, например “Обсудить по телефону”, только файл не могу найти?

Возвращайте пользователя на

https://www.domain.ru/index.php?dispatch=payment_notification.return&payment=paypal&order_id=123

а в скрипт платежки добавьте

if ($mode == 'return') {
    fn_order_placement_routines('route', $_REQUEST['order_id'], false);
}

Мистика))
Не сработало
Но, я до отправки данных
fn_create_payment_form();
поставил
fn_clear_cart(Tygh::$app['session']['cart']);
и сработало, в принципе ничему не навредило)