Зв'язатись
  • OpenCart
  • Доставка
  • v1.2.8

Ukrposhta — доставка Укрпоштою для OpenCart 2.3, 3.x & 4.x

Модуль доставки Укрпоштою для OpenCart 4: віджет вибору відділення у чекауті на базі Адресного класифікатора та живий тариф через eCom API. Без правок теми, безкоштовно.

Сумісність
OpenCart 2.3.0.x · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
Версія
v1.2.8 (OpenCart 4)
v1.2.4 (OpenCart 3.x)
v1.1.5 (OpenCart 2.3)
Оновлено
25 жовтня 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.8 OC 4.x Поточна 25 жовтня 2026

Коли з міжнародною доставкою обрано Нову Пошту чи іншого перевізника, над його блоком більше не висить сірий порожній заголовок «Доставка Укрпоштою / Інша країна».

v1.2.7 OC 4.x 23 вересня 2026

CatCode One Page Checkout: віджет іноді не з’являвся — Укрпошта обрана, а вибору області, міста й відділення немає.

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

Прихована форма адреси більше не отримує індекс-заглушку «00000».

Усі версії (17)
v1.2.3 OC 3.x v1.1.4 OC 2.3 23 вересня 2026

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

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.2.0 4.x, 3.x) · 1.1.0 (2.3 20 серпня 2026

Зʼявився розрахунок міжнародної доставки.

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. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль