Настраиваю тарифы СДЭК в WooCommerce почти на каждом проекте, где клиент продаёт физический товар, и почти всегда прихожу к одному выводу: подключить API-ключ и получить список тарифов - дело получаса, а вот решить, какие тарифы оставить в корзине и как их назвать для покупателя, отнимает куда больше времени. Модуль честно притащит из личного кабинета СДЭК все доступные варианты доставки между двумя точками, включая те, что нужны редко или вообще не подходят интернет-магазину, а покупатель на чекауте видит список из семи пунктов с названиями вроде «Посылка склад-дверь» и зависает.
По теме статьи
Готовое решение
Ограничение применения промокода в корзине Tilda
Промокод в Tilda не действует на выбранную категорию (например, «Распродажа»). Готовый скрипт + инструкция по подключению.
от6 000 ₽
Интернет-магазин
Интернет-магазин под ключ
Интернет-магазин под ключ — на Tilda, WordPress + WooCommerce, Next.js Commerce или кастомный бэкенд. Подберу платформу под бюджет, ассортимент и
от80 000 ₽
Какие тарифы СДЭК подтягивает модуль WooCommerce
Плагин СДЭК для WooCommerce, будь то официальное решение или одно из сторонних, работает через REST API v2: обращается к калькулятору, передаёт вес, габариты и адрес получателя, а в ответ получает список тарифов, доступных именно для этого маршрута. На практике набор обычно такой:
- 136 - «Посылка склад-склад» (ПВЗ - ПВЗ), самый дешёвый и медленный вариант
- 137 - «Посылка склад-дверь», курьер забирает из пункта выдачи и везёт до адреса
- 138 - «Посылка дверь-склад», курьер забирает у отправителя, выдача в ПВЗ
- 139 - «Посылка дверь-дверь», полностью курьерская доставка
- 233 и 234 - экономичные версии тех же маршрутов, идут на 1-3 дня дольше и стоят на 10-20% меньше
- линейка CDEK Express - доставка за 1-2 дня по крупным городам, дороже обычного тарифа в 1,5-2 раза
По умолчанию модуль показывает всё, что вернул калькулятор, и в большинстве случаев это неправильно для розничного магазина. У СДЭК есть корпоративные и B2B-сценарии, под них список тарифов и делался, а витрину WooCommerce нужно фильтровать вручную в настройках зоны доставки.
Какие тарифы стоит включать для интернет-магазина
| Тариф | Кому подходит | Типичный срок |
|---|---|---|
| Склад - склад (ПВЗ - ПВЗ) | Массовый вариант для покупателей, которые экономят на доставке | 2-5 дней |
| Склад - дверь | Когда получателю неудобно ехать в пункт выдачи | 2-5 дней |
| Дверь - склад | Почти не нужен в рознице, встречается в B2B-заказах | 2-5 дней |
| Дверь - дверь | Премиальный сегмент, хрупкий или крупногабаритный товар | 1-4 дня |
| Экспресс | Подарки и срочные заказы, покупатель готов доплатить | 1-2 дня |
Тариф «дверь-склад» в рознице почти всегда убираю сразу: пункт выдачи выбирает покупатель на карте, а не менеджер магазина, так что смысла в этом маршруте для конечного клиента нет. На паре проектов замерял разницу: сокращение списка вариантов доставки в корзине с семи до трёх-четырёх снижало число брошенных корзин на этапе оформления заказа примерно на 10-15%. Причина обычная - у покупателя нет времени разбираться, чем «Посылка склад-дверь» отличается от «Посылка дверь-дверь».
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Как называть тарифы СДЭК, чтобы покупатель не тормозил в корзине
Названия, которые СДЭК отдаёт через API, придуманы для логистов, а не для покупателя. «Посылка склад-склад» ничего не говорит человеку, который просто хочет понять, заберёт он заказ в пункте выдачи или его привезут курьером. Переименовываю тарифы по одному принципу: в названии должен быть способ получения и срок, а не внутренняя терминология СДЭК.
Примеры, которые работают на моих проектах:
- «Посылка склад-склад» становится «Самовывоз из пункта СДЭК, 2-5 дней»
- «Посылка склад-дверь» становится «Курьер СДЭК до адреса, 2-5 дней»
- «Посылка дверь-дверь» становится «Курьерская доставка СДЭК, забор и привоз, 1-4 дня»
- Тариф из линейки CDEK Express становится «Экспресс-доставка СДЭК, 1-2 дня»
Где менять названия технически
Часть плагинов даёт поле «название для покупателя» прямо в настройках тарифа, туда просто вписываю готовый текст. Там, где такого поля нет, подключаю фильтр на стороне темы или плагина-компаньона, который перехватывает массив тарифов перед выводом в корзине и подменяет подпись по коду тарифа, оставляя расчёт цены и сроков нетронутым. Второй вариант надёжнее при обновлении модуля: настройки в админке иногда слетают после апдейта, а фильтр в коде живёт отдельно от плагина.
Отдельно указываю в названии цену или хотя бы её нижнюю границу, если тариф зависит от веса. Покупатель принимает решение быстрее, когда видит «Курьер СДЭК до адреса, от 350 ₽» вместо абстрактного «Экспресс-доставка».
Как показывать тарифы по весу, габаритам и городу доставки
Калькулятор СДЭК возвращает разные тарифы для разных городов не просто так: экспресс-линейка доступна не везде, а тяжёлые и крупногабаритные отправления часть тарифов вообще не берут. Если магазин отправляет заказы по всей России, а в настройках зоны доставки жёстко прописан фиксированный список тарифов без проверки доступности, рано или поздно покупатель из небольшого города дойдёт до последнего шага оформления и увидит ошибку «тариф недоступен для данного направления».
Правильная логика - запрашивать тарифы у калькулятора на лету для конкретного города и веса корзины, а не хранить статичный список в настройках. Это чуть дороже по нагрузке на сервер, зато отсекает саму возможность ошибки на чекауте. Отдельно ставлю правило по весу: если заказ тяжелее 30 кг, скрываю обычные тарифы и оставляю только те, что рассчитаны на грузовые отправления, иначе покупатель оформит заказ по тарифу, который СДЭК потом просто отклонит на этапе создания накладной.
Как тарифы СДЭК стыкуются с оплатой в WooCommerce
На связке с эквайрингом, в моей практике чаще всего это T‑Bank для WooCommerce, есть отдельная проблема: сумма к оплате формируется после выбора тарифа доставки, а платёжный шлюз должен получить уже финальную сумму заказа. Несколько раз чинил на клиентских магазинах ситуацию, когда при смене тарифа доставки в корзине через AJAX сумма визуально обновлялась на странице, а в заказ, который уходил в T‑Bank, попадала стоимость доставки по старому, ранее выбранному варианту. Причина обычно в том, что пересчёт стоимости доставки и пересчёт итоговой суммы заказа завязаны на разные хуки WooCommerce, и один из них срабатывает раньше, чем обновится тариф.
Если в проекте одновременно настраиваются доставка СДЭК и приём оплаты, тестирую именно этот сценарий отдельно: меняю тариф на странице корзины несколько раз подряд и смотрю, какая сумма реально долетает до платёжного шлюза, а не просто на то, что отображается в интерфейсе.
Частые ошибки при настройке тарифов СДЭК в WooCommerce
- Показывать покупателю все семь-восемь тарифов, которые вернул калькулятор, вместо трёх-четырёх осмысленных вариантов
- Оставлять технические названия из личного кабинета СДЭК вместо понятных покупателю формулировок со сроком доставки
- Хранить статичный список тарифов в настройках зоны доставки, не проверяя их доступность для конкретного города на лету
- Не тестировать пересчёт итоговой суммы заказа при смене тарифа доставки перед подключением приёма оплаты
- Забывать про ограничения по весу и габаритам, из-за чего часть тарифов ломается уже на этапе создания накладной в личном кабинете СДЭК
Если задача выходит за рамки стандартных настроек плагина, то есть нужно завязать пересчёт доставки на конкретную логику ценообразования, синхронизировать её с оплатой или сделать выбор тарифа зависимым от остатков на складе, такие вещи обычно решаются разработкой кастомной логики под конкретный магазин, а не подбором галочек в настройках. Первичный аудит текущей настройки тарифов и оплаты обычно закрываю консультацией (от 3 000 ₽), дальше по объёму решаем, разовая доработка это или подключение техподдержки.
Частые вопросы
Сколько тарифов СДЭК показывать в корзине WooCommerce?
Обычно хватает трёх-четырёх: самовывоз из ПВЗ, курьер до двери и экспресс для тех, кто готов доплатить за скорость. Больше вариантов не увеличивает конверсию, а на моих проектах чаще её снижало из-за того, что покупатель дольше выбирает и часть просто закрывает вкладку.
Можно ли переименовать тарифы СДЭК без разработчика?
Зависит от плагина. Часть модулей даёт поле для собственного названия тарифа прямо в настройках доставки, и там переименование делается без кода. Если такого поля нет, потребуется фильтр в коде темы или плагина-компаньона, а это уже задача для разработчика.
Какой тариф СДЭК ставить по умолчанию в WooCommerce?
Самый дешёвый из широко доступных, обычно склад-склад с самовывозом из пункта выдачи. Большинство покупателей не меняют предустановленный вариант, и если по умолчанию стоит дорогой экспресс, часть заказов срывается уже на этапе просмотра суммы к оплате.
Как связать оплату через T‑Bank с выбранным тарифом СДЭК в WooCommerce?
Итоговая сумма заказа должна пересчитываться сразу после смены тарифа доставки, до того как платёжный шлюз сформирует сумму к списанию. На практике это означает проверку, что хуки пересчёта стоимости доставки и хуки формирования заказа для эквайринга не расходятся по времени срабатывания, иначе в T‑Bank может уйти заказ со старой стоимостью доставки.