CS-Cart: не отображаются способы доставки на чекауте — как исправить
Вы настроили доставку в CS-Cart, но на странице оформления заказа клиент видит пустой список — никаких способов доставки. Знакомо? Разбираемся, почему так происходит и как это исправить шаг за шагом.
Дата публикации: Март 2, 2026
Почему CS-Cart не показывает способы доставки?
Всё дело в логике платформы: CS-Cart отображает способ доставки только тогда, когда может рассчитать его стоимость для конкретного адреса клиента. Если расчёт не проходит — метод просто не появляется в списке, без каких-либо сообщений об ошибке. Причин может быть несколько, и ниже мы разберём каждую из них.
1. Ручные способы доставки: что проверить
Если вы задаёте стоимость доставки вручную (без API внешних служб), проверьте следующее:
Тарифная зона (Rate Area). Убедитесь, что для зоны, в которую попадает адрес покупателя, задана стоимость доставки. Без этого метод не будет отображаться.
Настройки тарифных зон. Особое внимание уделите секциям Индексы и Города — ошибки именно здесь чаще всего приводят к тому, что адрес «не попадает» ни в одну зону.
Ограничение по весу. В настройках метода доставки проверьте допустимые значения веса. Если вес товара выходит за рамки — метод не появится.
2. Real-time доставка (расчёт через API): как найти проблему
Если вы используете интеграцию с внешними службами доставки (DHL, СДЭК, UPS и другие), действия немного другие.
Смотрите логи. Идите в Администрирование → Журнал событий и ищите ответы от сервиса доставки. Там часто сразу видно, в чём проблема: истёкший ключ API, неверный формат запроса, временная недоступность сервиса.
Нет ответов в логах вообще? Возможно, включены мультипоточные CURL-запросы, которые конфликтуют с некоторыми API. Например, для DHL это лечится так: в файле app/Tygh/Shippings/Services/Dhl.php найдите строку: private $_allow_multithreading = true; И замените true на false. Тарифные зоны для real-time методов. Некоторые real-time методы доставки тоже можно ограничить по тарифным зонам. Убедитесь, что адрес клиента попадает в зону, разрешённую для данного метода.
3. Параметры товара
Иногда проблема не в настройках доставки, а в самом товаре. Проверьте:
Вес товара — он должен укладываться в допустимые значения, заданные в настройках способа доставки.
Размеры товара и количество единиц в упаковке — некоторые службы доставки учитывают габариты при расчёте стоимости.
4. Модули: Поставщики и Склады
Если у вас подключены дополнительные модули, они тоже могут влиять на отображение доставки. Модуль «Поставщики» (Suppliers). Каждый способ доставки должен быть явно включён для поставщика, который указан в товаре. Иначе метод будет недоступен. Модуль «Склады» (Warehouses). Если для товара задано количество на конкретных складах или в точках продаж — убедитесь, что эти склады назначены на тарифные зоны. Без этого расчёт не пройдёт.
5. Прочие причины
Несколько дополнительных моментов, которые легко упустить: Multi-Vendor. Если вы работаете на Multi-Vendor версии — зайдите в Продавцы → Продавцы, откройте нужного продавца и перейдите на вкладку Способы доставки. Метод должен быть включён и доступен конкретному вендору. Это касается как ручных, так и real-time методов. Группы пользователей (User Groups). Проверьте, что выбранный способ доставки доступен для группы пользователей, к которой относится покупатель. Иначе метод просто не отобразится, даже если всё остальное настроено верно.
Быстрый чеклист: что проверить в первую очередь
Если нет времени разбираться подробно — пройдитесь по этому списку
Задана ли стоимость для тарифной зоны адреса покупателя?
Корректны ли настройки тарифной зоны (индексы, города)?
Не превышает ли вес товара лимит в настройках доставки?
Есть ли ответы в Журнале событий для real-time методов?
Верно ли указаны API-ключи поставщика доставки?
Включён ли метод для поставщика / продавца (если используются соответствующие модули)?
Нашли проблему по этому гайду или столкнулись с чем-то нестандартным? Пишите — разберёмся вместе.