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

Ukrposhta — вибір відділення + тариф для WooCommerce

Доставка Укрпоштою для WooCommerce: вибір відділення область → місто → відділення прямо в чекауті та живий розрахунок тарифу через офіційний eCom API. Безкоштовний плагін з відкритим кодом.

Сумісність
WordPress 5.6+ / WooCommerce 6.0+
PHP
7.4 і новіший
Оновлено
24 вересня 2026

Модуль у роботі — 44 секунди

Без звуку теж зрозуміло: субтитри українською

Що вміє модуль

Функція Free
Вибір відділення Укрпошти прямо в чекауті WooCommerce ✔
Довідник на базі офіційного Адресного класифікатора ✔
Живий розрахунок вартості доставки через eCom API ✔
Комісія за післяплату — тільки для післяплатних замовлень ✔
Обране відділення видно в замовленні, листах і на сторінці подяки ✔
Кеш довідників для швидкого чекауту ✔
Сумісність з HPOS ✔
Безкоштовний ✔

Як це виглядає

Вибір області у віджеті Укрпошти в чекауті WooCommerce
Віджет зʼявляється, щойно покупець обирає доставку Укрпоштою
Обране відділення Укрпошти і живий тариф у підсумку замовлення
Ланцюжок пройдено — у підсумку одразу живий тариф Укрпошти, а не фіксована ставка
Налаштування методу доставки Укрпошта у WooCommerce
Налаштування методу: Bearer, індекс відправника, тип послуги, оголошена цінність, післяплата

Технічні вимоги

  • WordPress 5.6+ (протестовано до 7.0)
  • WooCommerce 6.0+ (протестовано до 10.7)
  • PHP 7.4+
  • Договір eCom з Укрпоштою: Bearer-ключ видає ваш менеджер Укрпошти після підписання договору — він потрібен і для класифікатора адрес, і для тарифу

Історія версій

v1.2.7 Поточна 24 вересня 2026

Pro-версія, активована поруч з безкоштовною копією з WordPress.org, більше не вантажить код безкоштовної копії з попередженнями PHP на кожному запиті.

v1.2.6 24 вересня 2026

Видалення плагіна тепер прибирає і його налаштування (разом із токенами API Укрпошти) та кеш пошуку міст.

v1.2.5 24 вересня 2026

Гість, який створює акаунт під час оформлення (або на сторінці підтвердження замовлення), більше не отримує відділення Укрпошти як адресу нового акаунта.

Усі версії (11)
v1.2.4 24 вересня 2026

Збережена адреса покупця в акаунті більше не замінюється відділенням Укрпошти.

v1.2.3 24 вересня 2026

Відділення Укрпошти, обране раніше, більше не потрапляє в замовлення з кур’єром чи Новою Поштою (рядок «Відділення Укрпошти» в листах і на сторінці замовлення).

v1.2.2 23 вересня 2026

Віджет відділень працює на блоковому чекауті («Оформлення замовлення» блоком), де його не було зовсім.

v1.2.0 20 серпня 2026

Зʼявився розрахунок міжнародної доставки: для адрес поза Україною тариф рахується по країні призначення та вазі, відділення для цього не потрібне.

v1.1.1 серпень 2026

Вихідні рядки переведені на англійську, українська поїхала окремим перекладом у складі плагіна.

v1.1.0 серпень 2026

Живий тариф Укрпошти нарешті рахується.

v1.0.1 липень 2026

Робота на хостингах без mbstring: пошук міст і опис посилки більше не мовчали.

v1.0.0 липень 2026

Перший публічний реліз: пікер відділення (область → місто → відділення) у чекауті та живий розрахунок тарифу через eCom API з фолбеком на фіксовану ставку.

Повний опис модуля

Ukrposhta Shipping for WooCommerce — плагін доставки Укрпоштою для магазинів на WooCommerce. Покупець обирає відділення прямо в чекауті за ланцюжком область → місто → відділення, а вартість доставки рахується наживо через офіційний eCom API Укрпошти. Дані беруться з офіційного Адресного класифікатора, тож список відділень завжди актуальний, а обраний поштовий індекс зберігається в замовленні.

Плагін повністю безкоштовний. Код відкритий — репозиторій на GitHub (catcodestudio/woocommerce-ukrposhta-shipping), ліцензія GPLv2.

Як це виглядає для покупця

Після вибору методу «Укрпошта» в чекауті з’являється віджет: покупець обирає область, потім місто, потім конкретне відділення. Щойно відділення обрано — плагін запитує тариф у eCom API (з урахуванням ваги кошика й індексів відправника та отримувача) і показує реальну вартість доставки. Акцентний колір віджета налаштовується під дизайн теми.

Що отримує адмін

Метод додається у зону доставки WooCommerce, а креденшели глобальні — один Bearer на весь магазин, незалежно від кількості зон. В налаштуваннях: тестове середовище (sandbox dev.ukrposhta.ua), тип послуги (Стандарт або Express), тариф за замовчуванням на випадок недоступності API та поріг безкоштовної доставки від суми замовлення. Обране покупцем відділення видно прямо в замовленні — окремий блок «Укрпошта» з містом, відділенням та індексом, а також рядком у листах і на сторінці подяки.

Як це працює — крок за кроком

  1. Адмін вводить Bearer eCom та індекс відправника, додає метод «Укрпошта» у зону доставки.
  2. Покупець у чекауті обирає доставку Укрпоштою — з’являється пікер область → місто → відділення на базі офіційного Адресного класифікатора.
  3. Плагін рахує вагу кошика й запитує тариф через ендпоінт /domestic/delivery-price; якщо API недоступний — підставляється фіксована ставка з налаштувань.
  4. Якщо покупець обрав післяплату, у тариф додається комісія Укрпошти за неї — і зникає, щойно він перемкнеться на передоплату.
  5. Якщо сума замовлення перевищує заданий поріг — доставка стає безкоштовною.
  6. Покупець оформлює замовлення — обраний поштовий індекс відділення зберігається в замовленні й доступний адміну для відправлення.

Що під капотом

  • Bearer-ключ зберігається зашифрованим (at-rest), у формі налаштувань назад у відкритому вигляді не показується.
  • Довідник відділень кешується в окремій таблиці upwc_offices, список областей — у транзієнті: чекаут не смикає API Укрпошти на кожне відкриття.
  • Сумісність з HPOS (custom order tables) задекларована офіційно; мета замовлення знімається і на класичному чекауті, і на Store API (блоковому) шляху.
  • Тариф враховує вагу товарів у кошику, оголошену цінність (за бажанням) і комісію за післяплату — але лише для тих способів оплати, які ви позначили як післяплату.
  • Обране відділення входить у пакет доставки WooCommerce, тож зміна відділення чи способу оплати перераховує тариф, а не показує закешований.
  • Пошук міста розуміє латиницю: «Drohobych» знаходить Дрогобич.
  • Translation-ready: текстовий домен і всі рядки готові до перекладу.

Як встановити

  1. Завантажте ukrposhta-shipping-for-woocommerce-1.2.7.zip і встановіть через «Плагіни → Додати новий → Завантажити плагін».
  2. Активуйте плагін — таблиця кеша відділень створиться автоматично.
  3. Перейдіть у WooCommerce → Налаштування → Доставка та додайте метод «Укрпошта» у потрібну зону.
  4. Введіть Bearer eCom та індекс відправника, збережіть.
  5. Увімкніть метод — пікер відділення з’явиться в чекауті.

Питання
про модуль

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

@catcode_support Налаштування, сумісність, активація
Чи можна відправляти післяплатою?

Так. У налаштуваннях є поле «Способи оплати = післяплата» — впишіть туди ID ваших платіжних методів (стандартний метод WooCommerce — cod). Для них плагін додасть у тариф комісію Укрпошти за післяплату. Створення самої ТТН із післяплатою — у наступному оновленні.

Чому тариф вищий, ніж на калькуляторі Укрпошти?

За замовчуванням плагін передає суму замовлення як оголошену цінність — Укрпошта бере за це відсоток, зате посилка застрахована. Це вимикається однією галочкою в налаштуваннях.

Чи потрібен договір з Укрпоштою?

Так. І Адресний класифікатор, і розрахунок тарифу авторизуються Bearer-ключем, який Укрпошта видає після підписання договору eCom.

Чи працює з блоковим чекаутом WooCommerce?

Пікер відділення таргетить класичний чекаут. Мета замовлення при цьому знімається і на Store API (блоковому) шляху, а сумісність із cart/checkout blocks задекларована.

Чи вміє плагін створювати ТТН і друкувати наліпки?

Ще ні. Створення відправлення (штрихкод/ТТН), друк наліпок і накладений платіж заплановані в наступному оновленні — після наскрізної перевірки на живому договорі.

Що буде, якщо API Укрпошти тимчасово недоступний?

Чекаут не зламається: замість живого тарифу підставиться фіксована ставка з налаштувань («Тариф за замовчуванням»).

Чи можна протестувати без бойового ключа?

Так, у налаштуваннях є перемикач Sandbox — плагін працюватиме з тестовим середовищем dev.ukrposhta.ua.

Що залишиться після видалення плагіна?

При видаленні прибираються таблиця кеша відділень і опції плагіна. Мета замовлень (обрані відділення) зберігається — історія доставок не втрачається.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

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