Ukrposhta — доставка Укрпочтой для OpenCart 2.3, 3.x и 4.x
Бесплатный модуль доставки Укрпочтой для OpenCart 3 и 4: выбор отделения область → город → отделение в чекауте и живой расчёт стоимости через eCom API.
- Совместимость
- OpenCart 2.3.0.x · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
- Версия
-
v1.2.7 (OpenCart 4)
v1.2.4 (OpenCart 3.x)
v1.1.5 (OpenCart 2.3) - Обновлено
- 23 сентября 2026
Модуль в работе — 43 секунды
Понятно и без звука: субтитры на украинском
Что умеет модуль
Как это выглядит
Технические требования
OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5 или 2.3.0.x — отдельная сборка под каждую ветку
PHP 7.4 и новее; сборка для OpenCart 2.3 работает и на PHP 5.6
Договор eCom с Укрпочтой: Bearer-ключ выдаётся в кабинете eCom после подписания договора — он нужен для классификатора адресов и расчёта тарифа
Для расчёта тарифа — почтовый индекс склада отправителя
История версий
CatCode One Page Checkout: виджет иногда не появлялся — Укрпочта выбрана, а выбора области, города и отделения нет.
Скрытая форма адреса больше не получает индекс-заглушку «00000».
Виджет «область → город → отделение» поддерживает страницу CatCode One Page Checkout и появляется в блоке способа доставки; после выбора отделения список тарифов запрашивается заново.
Все версии (15)
Заглушка области в скрытом поле адреса больше не «первая зона страны».
Тариф пересчитывается после выбора отделения.
Работает на CatCode One Page Checkout (маршрут extension/cc_onepage/checkout) так же, как на штатном чекауте.
Живой тариф Укрпочты наконец считается.
Сборка для OpenCart 3 подтянута до уровня 2.3 и 4.x.
Починен мёртвый полифил PHP 7.4.
Виджет подскроливается в видимую зону, как только выбрана Укрпочта.
Поиск города больше не падает молча без расширения mbstring: mb_strlen / mb_strtolower под гардом, автодополнение работает на любом хостинге.
Сохранение контактных данных больше не сбрасывает уже выбранный способ доставки и оплаты.
Адрес заказа заполняется точно тем, что выбрал покупатель (город из классификатора, область кириллицей, реальный индекс отделения), плюс ручной ввод индекса.
Исправлена фатальная ошибка в расчёте способов доставки.
Первый публичный релиз: виджет область → город → отделение в чекауте, живой тариф по Украине через eCom API, шифрование ключа, еженедельная синхронизация классификатора через cron.
Полное описание модуля
Ukrposhta Shipping для OpenCart 2.3, 3.x и 4.x — модуль доставки Укрпочтой: виджет выбора отделения (область → город → отделение) в чекауте на базе официального Адресного классификатора и живой расчёт стоимости доставки по Украине через eCom API. Выбранное покупателем отделение фиксируется в заказе, поэтому менеджеру не приходится переспрашивать адрес в мессенджере.
Модуль бесплатный. Устанавливается как стандартное расширение OpenCart (ocmod) и не требует правок темы — виджет подключается через систему событий.
Как это работает — шаг за шагом
- Админ устанавливает расширение, нажимает «Установить» на странице настроек — модуль создаёт свои таблицы, события и cron-задания, — и синхронизирует области одним кликом.
- Вводятся Bearer eCom и индекс отправителя; кнопки «Проверить соединение» и «Тестовый тариф» сразу показывают, что ключ принят и API отвечает.
- Покупатель в чекауте выбирает доставку Укрпочтой — событие
footer/afterподключает виджет, и он ведёт по цепочке область → город → отделение. - Модуль запрашивает тариф в eCom API по индексам отправителя и получателя; если API недоступен — показывается тариф по умолчанию из настроек.
- После оформления событие
order.addOrder/afterсохраняет выбранное отделение (индекс, город, название) вместе с заказом. - Раз в неделю обновляется кеш классификатора областей — справочник не устаревает. В OpenCart 4 это делает встроенный cron, в 3.x и 2.3 — ссылка для системного crontab, показанная в настройках модуля.
Что под капотом
- Bearer-ключ шифруется перед записью в базу; в форме настроек показывается только маска «сохранено», без открытого значения.
- Классификатор кешируется в собственных таблицах (
up_regions,up_cities,up_offices) — чекаут читает локальную базу, а не дёргает API на каждый запрос. - Интеграция через события OpenCart (footer inject, order added) — без правок шаблонов темы; OCMOD-патчей контроллеров нет в сборках для 4.x и 3.x, а сборка для 2.3 добавляет небольшой OCMOD-патч сохранения адреса в чекауте.
- Стандартные для методов доставки OpenCart настройки: гео-зона, класс налога, порядок сортировки.
- Вид виджета настраивается: акцентный цвет, радиус скругления, тема (авто/светлая/тёмная).
- В сборке для OpenCart 4 есть переключатель sandbox для работы с тестовой средой Укрпочты.
Как установить
- Скачайте сборку под свою версию и установите через «Расширения → Установка расширений»:
ukrposhta.ocmod.zipдля 4.x,ukrposhta-oc3-1.2.4.ocmod.zipдля 3.x,ukrposhta-oc2-1.1.5.ocmod.zipдля 2.3. - В «Расширения → Расширения → Доставка» найдите «Укрпочта — доставка» и нажмите Install.
- Откройте настройки, нажмите «Установить» — создадутся таблицы, события и cron-задания.
- Введите Bearer eCom и индекс отправителя, нажмите «Проверить соединение», затем «Синхронизировать области».
- Включите метод доставки и сохраните — виджет выбора отделения появится в чекауте.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Нужен ли договор с Укрпочтой?
Да. Адресный классификатор и тариф авторизуются Bearer-ключом, который выдаётся после подписания договора eCom.
Надо ли править тему, чтобы виджет появился в чекауте?
Нет. Виджет подключается событием на footer/after — шаблоны темы не меняются, конфликтов с кастомными чекаутами по коду темы нет.
Создаёт ли модуль ТТН и наклейки?
Ещё нет. Создание отправления (ТТН) запланировано в следующем обновлении; текущая версия — выбор отделения и расчёт тарифа.
Что будет, если API Укрпочты недоступен?
Метод доставки не исчезнет из чекаута: покупателю покажется тариф по умолчанию, который вы задали в настройках.
Можно ли протестировать без боевого ключа?
Да, во вкладке «Ключи доступа» есть переключатель тестовой среды (sandbox).
Что произойдёт с данными после удаления модуля?
События и cron-задания убираются, а таблицы со справочником и сохранёнными выборами отделений намеренно сохраняются — после переустановки ничего не теряется.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—