Обнаружилась проблема в модуле PayKeeper: в случае, если клиент по какой-то причине не оплатил заказ (вариант оплаты картой онлайн), заказ создаётся со статусом «Открыт».
Мы используем этот статус для заказов, которые оформляются юр. лицами с оплатой по счету. Увы, в настройках модуля нет возможности выбрать статус незавершенного заказа (знаю, некоторым статус «Незавершенный» очень не нравится или не подходит).
Дополнительная проблема: разработчики в этой компании не отслеживают версии модулей (наверное, не успевают или задача такая не поставлена).
Примерно 13 декабря 2021 я написал об этой проблеме в техподдержку PayKeeper, но ответа не дождался. Позвонил — предложили заменить модуль. Заменил, не помогло.
Пришлось править самостоятельно. В файле app/addons/paykeeper/payments/paykeeper.php исправил статус заказа. Было:
//render form
echo $form;
fn_change_order_status($order_info['order_id'], 'O', '', false);
Стало:
//render form
echo $form;
fn_change_order_status($order_info['order_id'], 'N', '', false);
Теперь заказ, который не оплачен, создается со статусом «Незавершенный».