Связаться
  • OpenCart
  • Доставка
  • v1.2.7

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 секунды

Понятно и без звука: субтитры на украинском

Что умеет модуль

Функция Free
Виджет выбора отделения Укрпочты: область → город → отделение ✔
Данные из официального Адресного классификатора Укрпочты ✔
Живой расчёт стоимости доставки через eCom API ✔
Выбранное отделение фиксируется в заказе ✔
Кеш справочников — чекаут не тормозит ✔
Совместимость с OpenCart 4.x ✔
Бесплатный ✔

Как это выглядит

Укрпочта — виджет выбора отделения в чекауте OpenCart
Покупатель выбрал «Доставка в отделение Укрпочты» — и сразу под контактами раскрывается виджет с выпадающим списком областей. Тариф уже учтён в итоге заказа.
Укрпочта — выбранное отделение подтверждено в чекауте OpenCart
Цепочка область → город → отделение завершена, выбор подтверждён отдельной строкой. Индекс можно ввести и вручную, если покупатель его знает.
Укрпочта — настройки модуля в админке OpenCart
Настройки: Bearer eCom (хранится зашифрованно, в форме только маска), индекс отправителя, тип услуги, тариф по умолчанию, гео-зона и налог, а также вид виджета.

Технические требования

  • 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 после подписания договора — он нужен для классификатора адресов и расчёта тарифа
  • Для расчёта тарифа — почтовый индекс склада отправителя

История версий

v1.2.7 OC 4.x Текущая 23 сентября 2026

CatCode One Page Checkout: виджет иногда не появлялся — Укрпочта выбрана, а выбора области, города и отделения нет.

v1.2.5 OC 4.x 23 сентября 2026

Скрытая форма адреса больше не получает индекс-заглушку «00000».

v1.2.3 OC 3.x v1.1.4 OC 2.3 23 сентября 2026

Виджет «область → город → отделение» поддерживает страницу CatCode One Page Checkout и появляется в блоке способа доставки; после выбора отделения список тарифов запрашивается заново.

Все версии (15)
v1.2.4 OC 4.x 23 сентября 2026

Заглушка области в скрытом поле адреса больше не «первая зона страны».

v1.2.3 OC 4.x 23 сентября 2026

Тариф пересчитывается после выбора отделения.

v1.2.2 OC 4.x 23 сентября 2026

Работает на CatCode One Page Checkout (маршрут extension/cc_onepage/checkout) так же, как на штатном чекауте.

v1.1.2 4.x) · 1.1.1 (3.x) · 1.0.1 (2.3 август 2026

Живой тариф Укрпочты наконец считается.

v3.x 1.1.0 11 августа 2026

Сборка для OpenCart 3 подтянута до уровня 2.3 и 4.x.

v1.1.0 5 августа 2026

Починен мёртвый полифил PHP 7.4.

v1.0.12 24 июля 2026

Виджет подскроливается в видимую зону, как только выбрана Укрпочта.

v1.0.11 24 июля 2026

Поиск города больше не падает молча без расширения mbstring: mb_strlen / mb_strtolower под гардом, автодополнение работает на любом хостинге.

v1.0.10 23 июля 2026

Сохранение контактных данных больше не сбрасывает уже выбранный способ доставки и оплаты.

v1.0.8–1.0.9 23 июля 2026

Адрес заказа заполняется точно тем, что выбрал покупатель (город из классификатора, область кириллицей, реальный индекс отделения), плюс ручной ввод индекса.

v1.0.4 23 июля 2026

Исправлена фатальная ошибка в расчёте способов доставки.

v1.0.0 июль 2026

Первый публичный релиз: виджет область → город → отделение в чекауте, живой тариф по Украине через eCom API, шифрование ключа, еженедельная синхронизация классификатора через cron.

Полное описание модуля

Ukrposhta Shipping для OpenCart 2.3, 3.x и 4.x — модуль доставки Укрпочтой: виджет выбора отделения (область → город → отделение) в чекауте на базе официального Адресного классификатора и живой расчёт стоимости доставки по Украине через eCom API. Выбранное покупателем отделение фиксируется в заказе, поэтому менеджеру не приходится переспрашивать адрес в мессенджере.

Модуль бесплатный. Устанавливается как стандартное расширение OpenCart (ocmod) и не требует правок темы — виджет подключается через систему событий.

Как это работает — шаг за шагом

  1. Админ устанавливает расширение, нажимает «Установить» на странице настроек — модуль создаёт свои таблицы, события и cron-задания, — и синхронизирует области одним кликом.
  2. Вводятся Bearer eCom и индекс отправителя; кнопки «Проверить соединение» и «Тестовый тариф» сразу показывают, что ключ принят и API отвечает.
  3. Покупатель в чекауте выбирает доставку Укрпочтой — событие footer/after подключает виджет, и он ведёт по цепочке область → город → отделение.
  4. Модуль запрашивает тариф в eCom API по индексам отправителя и получателя; если API недоступен — показывается тариф по умолчанию из настроек.
  5. После оформления событие order.addOrder/after сохраняет выбранное отделение (индекс, город, название) вместе с заказом.
  6. Раз в неделю обновляется кеш классификатора областей — справочник не устаревает. В 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 для работы с тестовой средой Укрпочты.

Как установить

  1. Скачайте сборку под свою версию и установите через «Расширения → Установка расширений»: ukrposhta.ocmod.zip для 4.x, ukrposhta-oc3-1.2.4.ocmod.zip для 3.x, ukrposhta-oc2-1.1.5.ocmod.zip для 2.3.
  2. В «Расширения → Расширения → Доставка» найдите «Укрпочта — доставка» и нажмите Install.
  3. Откройте настройки, нажмите «Установить» — создадутся таблицы, события и cron-задания.
  4. Введите Bearer eCom и индекс отправителя, нажмите «Проверить соединение», затем «Синхронизировать области».
  5. Включите метод доставки и сохраните — виджет выбора отделения появится в чекауте.

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Нужен ли договор с Укрпочтой?

Да. Адресный классификатор и тариф авторизуются Bearer-ключом, который выдаётся после подписания договора eCom.

Надо ли править тему, чтобы виджет появился в чекауте?

Нет. Виджет подключается событием на footer/after — шаблоны темы не меняются, конфликтов с кастомными чекаутами по коду темы нет.

Создаёт ли модуль ТТН и наклейки?

Ещё нет. Создание отправления (ТТН) запланировано в следующем обновлении; текущая версия — выбор отделения и расчёт тарифа.

Что будет, если API Укрпочты недоступен?

Метод доставки не исчезнет из чекаута: покупателю покажется тариф по умолчанию, который вы задали в настройках.

Можно ли протестировать без боевого ключа?

Да, во вкладке «Ключи доступа» есть переключатель тестовой среды (sandbox).

Что произойдёт с данными после удаления модуля?

События и cron-задания убираются, а таблицы со справочником и сохранёнными выборами отделений намеренно сохраняются — после переустановки ничего не теряется.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль