Как настроить корзину и оформление заказа на 1С-Битрикс: страница checkout пошагово

Как настроить корзину и оформление заказа на 1С-Битрикс: страница checkout пошагово

На практике магазин на сайте уже открыт, а покупатель жалуется: кнопка "В корзину" не работает, на странице корзины пусто или оформление обрывается на доставке. По запросу "корзина битрикс" половина статей ведёт в облачный CRM, а вам нужна корзина интернет-магазина в 1С-Битрикс: Управление сайтом. Ниже — пошаговая настройка компонентов sale.basket.basket и sale.order.ajax от каталога до письма покупателю. После чтения вы пройдёте тестовый заказ и поймёте, готов ли магазин к рекламе.

Корзина магазина на CMS — это модуль sale и компоненты sale.basket.basket, sale.basket.basket.line и sale.order.ajax на вашем сайте. Это не CRM-корзина удалённых контактов и не обработка заказов в админке после оформления. Сначала проверьте тип цен с правом покупки, затем страницу /personal/cart/ с PATH_TO_ORDER, checkout с доставкой и оплатой, и только потом запускайте трафик.

Типичная ошибка: владелец интернет-магазина на Битрикс полчаса ищет раздел CRM в облачном портале, а покупатели не могут оформить заказ — на каталоге нет рабочей кнопки "Купить". Например, не настроены типы цен с правом «Разрешена покупка» и не размещён компонент sale.basket.basket на странице корзины. Если магазин ещё не запущен, начните с пошагового плана запуска интернет-магазина — без активного модуля sale и каталога с ценами корзина не заработает.

Статья только про checkout CMS на своём хостинге. Если вы искали корзину в облачном CRM — это не наш продукт; здесь настраивают корзину магазина на своём домене.

Настройте корзину: sale.basket.basket и мини-корзину в шапке

Сравнительная таблица компонентов корзины Битрикс: basket, basket.line, order.ajax

Корзина интернет-магазина - это временный список товаров, который хранит модуль sale для текущего посетителя. За отображение отвечают штатные компоненты, а не разделы CRM.

Компонент Где размещают Задача
sale.basket.basket Страница /personal/cart/ Полный список товаров, количество, итог, кнопка "Оформить заказ"
sale.basket.basket.line Шапка сайта Мини-корзина: счётчик и сумма без перехода на отдельную страницу
sale.order.ajax Страница /personal/order/ Одностраничное оформление: покупатель, доставка, оплата

В визуальном редакторе путь к корзине: Магазин > Корзина > Корзина. Официальная справка: sale.basket.basket. Ключевой параметр - PATH_TO_ORDER: URL страницы checkout, обычно /personal/order/.

Мини-корзину в шаблон шапки добавляют через bitrix:sale.basket.basket.line с теми же путями к корзине и оформлению. Без неё покупатель не видит, что товар добавился, и уходит с сайта.

Делайте: задайте одинаковые пути в корзине, мини-корзине и checkout. Не делайте: ищите настройки корзины в CRM-портале — там другой продукт.

Разместите страницу корзины и checkout: поля покупателя

Workflow оформления заказа: от каталога через корзину к checkout и письму

Страница корзины и оформление заказа - две разные страницы, связанные параметрами компонентов.

  1. Создайте или проверьте страницу /personal/cart/ и разместите на ней bitrix:sale.basket.basket.
  2. В параметрах компонента укажите PATH_TO_ORDER на страницу checkout, например /personal/order/.
  3. На странице checkout разместите bitrix:sale.order.ajax; в нём задайте PATH_TO_BASKET обратно на корзину.
  4. Откройте Настройки магазина → Настройка формы оформления заказа и проверьте поля для типов плательщиков "Физическое лицо" и "Юридическое лицо".
  5. Добавьте свойство Местоположение - без него блок доставки на checkout часто пустой.
  6. Если корзина и checkout на одной странице, включите BASKET_WITH_ORDER_INTEGRATION = Y - итог пересчитывается синхронно через JS.
Схема пути покупателя:
Каталог → "В корзину" → /personal/cart/ → "Оформить заказ" → sale.order.ajax → оплата → письмо покупателю

Подробнее про поля checkout - в учебном курсе по форме оформления. Поле купона на checkout включайте параметром SHOW_COUPONS = Y, а сами правила скидок настраивайте отдельно - см. гайд по скидкам и промокодам.

Делайте: после смены параметров сбрасывайте кеш компонентов. Не делайте: оставляйте checkout без свойства "Местоположение" - доставка не появится.

Проверьте кнопку "Купить" на каталоге и карточке товара

Чеклист проверки кнопки Купить и типов цен перед запуском рекламы

Если кнопки "Купить" нет, товар не попадает в корзину.

Клик ничего не делает — проблема ещё до checkout. Чаще всего виноваты типы цен, а не сам компонент корзины.

На catalog.section и catalog.element проверьте:

  • PRICE_CODE - код типа цен, например "BASE";
  • ACTION_VARIABLE - имя переменной добавления в корзину;
  • флаг CAN_BUY у товара - если false, кнопка скрыта.

Типичная причина CAN_BUY=false: в настройках типа цен пустой список CAT_PRICES или нет права "Разрешена покупка" для группы "Все пользователи (включая неавторизованных)". Путь: Магазин > Настройки > Типы цен. Обсуждение на форуме: CAN_BUY всегда false.

Тест добавления: откройте каталог в режиме инкогнито, нажмите "В корзину", перейдите на /personal/cart/ - товар и сумма должны совпасть. Если пусто - проверьте остатки на складе и активность модуля sale.

Делайте: тестируйте с гостевой сессии, как реальный покупатель. Не делайте: проверяйте корзину только из-под администратора - у админа другие права на цены.

Настройте параметры магазина для checkout: доставка и оплата

Корзина показывает товары и сумму, но финальный заказ создаётся только когда на checkout выбраны доставка и оплата. Базовые настройки - в Магазин > Настройки магазина: валюта, НДС, типы плательщиков.

Блок на checkout Если пустой Куда идти
Доставка Нет служб или не задано местоположение настройка доставки на сайте
Оплата Нет активных платёжных систем подключение оплаты
Купон Поле скрыто SHOW_COUPONS=Y; правила - в статье про скидки

На этапе B35 достаточно убедиться, что блоки не пустые. Детальную настройку служб доставки и платёжных систем не дублируем - для этого есть отдельные гайды по ссылкам выше.

Минимальная сумма заказа, ограничения по весу и региону задаются в правилах корзины и шаблоне sale.order.ajax. Если checkout показывает предупреждение о сумме - сначала доберите тестовый заказ до порога, потом снова проверяйте.

Делайте: перед запуском рекламы прогоните checkout с тестовой платёжной системой. Не делайте: путайте настройку страницы корзины с обработкой заказов в админке - это тема обработки заказов после оформления.

Пройдите чек-лист: тестовый заказ, письма и Метрика

Готовность магазина проверяют не глазами в админке, а полным циклом покупки.

  1. Откройте сайт в инкогнито и добавьте тестовый товар с каталога.
  2. На /personal/cart/ проверьте состав, количество и итоговую сумму.
  3. Нажмите "Оформить заказ", заполните поля, выберите доставку и оплату.
  4. Завершите заказ - в Магазин > Заказы появится запись со статусом N ("Принят").
  5. Проверьте почтовое событие покупателю и письмо администратору.
  6. В Яндекс.Метрике настройте цель "Добавление в корзину" по клику на кнопку или URL корзины.
  7. После запуска смотрите отчёт Магазин > Отчёты > Брошенные корзины - он показывает, где покупатели уходят.

Если товар не добавляется - сбросьте кеш, проверьте CAN_BUY и типы цен. Если корзина пустая после клика - сверьте PATH_TO_ORDER и сессию. Если checkout виден при пустой корзине - известный edge-case при BASKET_WITH_ORDER_INTEGRATION; обновите страницу или разнесите компоненты на разные URL.

Нужна помощь с настройкой checkout под ваш каталог - напишите через форму контактов, разберём цепочку от кнопки "Купить" до письма покупателю.

Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: официальная документация 1С-Битрикс (dev.1c-bitrix.ru) и практика внедрений на CMS.

Частые вопросы

Где настроить страницу корзины в Битрикс?

Создайте страницу, например /personal/cart/, и разместите компонент bitrix:sale.basket.basket через визуальный редактор (Магазин > Корзина > Корзина). В параметрах укажите PATH_TO_ORDER на страницу оформления. Мини-корзину в шапку добавьте через sale.basket.basket.line.

Почему товар не добавляется в корзину?

Проверьте тип цен: право "Разрешена покупка" для неавторизованных, заполненный CAT_PRICES, остатки на складе и PRICE_CODE в catalog.section. Частая причина - CAN_BUY=false из-за пустых настроек цены. Тестируйте в режиме инкогнито.

Чем корзина отличается от правил скидок?

Корзина - UI и компоненты sale.basket.*, куда попадают товары. Правила скидок и промокоды считают скидку на этапе оформления. Поле купона на checkout включают SHOW_COUPONS=Y, а сами правила настраивают отдельно в модуле скидок.

Как проверить, что оформление заказа работает?

Пройдите тестовый заказ: каталог → корзина → sale.order.ajax → оплата. В админке заказ со статусом N, покупателю приходит письмо. Дополнительно настройте цель "Добавление в корзину" в Яндекс.Метрике.

Это та же корзина, что в облачном CRM?

Нет. В CRM «корзина» часто означает удалённые контакты или файлы на диске. Корзина интернет-магазина — модуль sale на сайте 1С-Битрикс: Управление сайтом. Настраивается в админке вашего домена, а не в облачном портале.

Что делать, если на checkout нет доставки или оплаты?

Для доставки проверьте свойство "Местоположение" в форме заказа и активные службы доставки. Для оплаты - подключённые платёжные системы в настройках магазина. Если блоки пустые, настройте их по отдельным гайдам, затем повторите тестовый заказ.

Читайте также

Интеграции с 1С и API
949 6 мин.

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Пошаговая настройка регистрации на сайте битрикс: Главный модуль, main.register, system.auth.form и sale.personal.section с историей заказов и 152-ФЗ.
Интеграции с 1С и API
679 15 мин.

Что такое компонент в Битриксе и как он работает

Каждый разработчик, впервые столкнувшийся с Битриксом, проходит через своеобразный обряд посвящения. Вначале кажется, что это просто CMS, где можно поправить HTML в визуальном редакторе или дописать пару строк CSS. Но однажды наступает момент, когда нужно изменить логику вывода новостей, отфильтровать товары по хитрому свойству или добавить на страницу нечто совершенно новое. И тут он впервые слышит это слово — «компонент». Для многих этот момент становится стеной. Система, казавшаяся понятной, вдруг превращается в черный ящик, полный непонятных файлов и странных переменных. Но стоит лишь раз заглянуть под капот, как эта стена рассыпается, превращаясь в набор удивительно логичных и мощных строительных блоков. Понимание компонентов — это тот самый щелчок, после которого разработка на Битрикс из мучения превращается в творчество.

Эта статья — ваш проводник в мир компонентов «1С-Битрикс». Мы не будем сыпать сухими терминами из документации. Вместо этого мы совершим путешествие: от философии, заложенной в эту архитектуру, до мельчайших деталей её работы. Мы разберем компонент на атомы — его файлы, логику, шаблон, параметры — и соберем обратно, чтобы вы не просто знали, что это, но и глубоко понимали, почему это работает именно так. Это знание — ключ к эффективной и профессиональной разработке на Битрикс.

Интеграции с 1С и API
606 2 мин.

Установка Composer в 1С-Битрикс

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.