Ukrposhta — вибір відділення + тариф для WooCommerce
Доставка Укрпоштою для WooCommerce: вибір відділення область → місто → відділення прямо в чекауті та живий розрахунок тарифу через офіційний eCom API. Безкоштовний плагін з відкритим кодом.
- Сумісність
- WordPress 5.6+ / WooCommerce 6.0+
- PHP
- 7.4 і новіший
- Оновлено
- 24 вересня 2026
Модуль у роботі — 44 секунди
Без звуку теж зрозуміло: субтитри українською
Що вміє модуль
Технічні вимоги
WordPress 5.6+ (протестовано до 7.0)
WooCommerce 6.0+ (протестовано до 10.7)
PHP 7.4+
Договір eCom з Укрпоштою: Bearer-ключ видає ваш менеджер Укрпошти після підписання договору — він потрібен і для класифікатора адрес, і для тарифу
Історія версій
Pro-версія, активована поруч з безкоштовною копією з WordPress.org, більше не вантажить код безкоштовної копії з попередженнями PHP на кожному запиті.
Видалення плагіна тепер прибирає і його налаштування (разом із токенами API Укрпошти) та кеш пошуку міст.
Гість, який створює акаунт під час оформлення (або на сторінці підтвердження замовлення), більше не отримує відділення Укрпошти як адресу нового акаунта.
Усі версії (11)
Збережена адреса покупця в акаунті більше не замінюється відділенням Укрпошти.
Відділення Укрпошти, обране раніше, більше не потрапляє в замовлення з кур’єром чи Новою Поштою (рядок «Відділення Укрпошти» в листах і на сторінці замовлення).
Віджет відділень працює на блоковому чекауті («Оформлення замовлення» блоком), де його не було зовсім.
Зʼявився розрахунок міжнародної доставки: для адрес поза Україною тариф рахується по країні призначення та вазі, відділення для цього не потрібне.
Вихідні рядки переведені на англійську, українська поїхала окремим перекладом у складі плагіна.
Живий тариф Укрпошти нарешті рахується.
Робота на хостингах без mbstring: пошук міст і опис посилки більше не мовчали.
Перший публічний реліз: пікер відділення (область → місто → відділення) у чекауті та живий розрахунок тарифу через 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 та поріг безкоштовної доставки від суми замовлення. Обране покупцем відділення видно прямо в замовленні — окремий блок «Укрпошта» з містом, відділенням та індексом, а також рядком у листах і на сторінці подяки.
Як це працює — крок за кроком
- Адмін вводить Bearer eCom та індекс відправника, додає метод «Укрпошта» у зону доставки.
- Покупець у чекауті обирає доставку Укрпоштою — з’являється пікер область → місто → відділення на базі офіційного Адресного класифікатора.
- Плагін рахує вагу кошика й запитує тариф через ендпоінт
/domestic/delivery-price; якщо API недоступний — підставляється фіксована ставка з налаштувань. - Якщо покупець обрав післяплату, у тариф додається комісія Укрпошти за неї — і зникає, щойно він перемкнеться на передоплату.
- Якщо сума замовлення перевищує заданий поріг — доставка стає безкоштовною.
- Покупець оформлює замовлення — обраний поштовий індекс відділення зберігається в замовленні й доступний адміну для відправлення.
Що під капотом
- Bearer-ключ зберігається зашифрованим (at-rest), у формі налаштувань назад у відкритому вигляді не показується.
- Довідник відділень кешується в окремій таблиці
upwc_offices, список областей — у транзієнті: чекаут не смикає API Укрпошти на кожне відкриття. - Сумісність з HPOS (custom order tables) задекларована офіційно; мета замовлення знімається і на класичному чекауті, і на Store API (блоковому) шляху.
- Тариф враховує вагу товарів у кошику, оголошену цінність (за бажанням) і комісію за післяплату — але лише для тих способів оплати, які ви позначили як післяплату.
- Обране відділення входить у пакет доставки WooCommerce, тож зміна відділення чи способу оплати перераховує тариф, а не показує закешований.
- Пошук міста розуміє латиницю: «Drohobych» знаходить Дрогобич.
- Translation-ready: текстовий домен і всі рядки готові до перекладу.
Як встановити
- Завантажте
ukrposhta-shipping-for-woocommerce-1.2.7.zipі встановіть через «Плагіни → Додати новий → Завантажити плагін». - Активуйте плагін — таблиця кеша відділень створиться автоматично.
- Перейдіть у WooCommerce → Налаштування → Доставка та додайте метод «Укрпошта» у потрібну зону.
- Введіть Bearer eCom та індекс відправника, збережіть.
- Увімкніть метод — пікер відділення з’явиться в чекауті.
Питання
про модуль
Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.
Чи можна відправляти післяплатою?
Так. У налаштуваннях є поле «Способи оплати = післяплата» — впишіть туди ID ваших платіжних методів (стандартний метод WooCommerce — cod). Для них плагін додасть у тариф комісію Укрпошти за післяплату. Створення самої ТТН із післяплатою — у наступному оновленні.
Чому тариф вищий, ніж на калькуляторі Укрпошти?
За замовчуванням плагін передає суму замовлення як оголошену цінність — Укрпошта бере за це відсоток, зате посилка застрахована. Це вимикається однією галочкою в налаштуваннях.
Чи потрібен договір з Укрпоштою?
Так. І Адресний класифікатор, і розрахунок тарифу авторизуються Bearer-ключем, який Укрпошта видає після підписання договору eCom.
Чи працює з блоковим чекаутом WooCommerce?
Пікер відділення таргетить класичний чекаут. Мета замовлення при цьому знімається і на Store API (блоковому) шляху, а сумісність із cart/checkout blocks задекларована.
Чи вміє плагін створювати ТТН і друкувати наліпки?
Ще ні. Створення відправлення (штрихкод/ТТН), друк наліпок і накладений платіж заплановані в наступному оновленні — після наскрізної перевірки на живому договорі.
Що буде, якщо API Укрпошти тимчасово недоступний?
Чекаут не зламається: замість живого тарифу підставиться фіксована ставка з налаштувань («Тариф за замовчуванням»).
Чи можна протестувати без бойового ключа?
Так, у налаштуваннях є перемикач Sandbox — плагін працюватиме з тестовим середовищем dev.ukrposhta.ua.
Що залишиться після видалення плагіна?
При видаленні прибираються таблиця кеша відділень і опції плагіна. Мета замовлень (обрані відділення) зберігається — історія доставок не втрачається.
Поки що жодного відгуку. Будьте першим.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Не той варіант, що шукаєте?
Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—



