Nova Poshta Premium for OpenCart 4.x
Інтеграція OpenCart 4.x з Новою Поштою: вибір відділення в кошику + автоматичне створення ТТН. Преміум — накладений платіж, поворотні накладні, авто-оновлення статусів, webhooks.
Nova Poshta Premium — модуль для OpenCart 4.x, який під’єднує магазин до Нової Пошти за 10 хвилин. Покупець обирає місто і відділення прямо в кошику, а ТТН створюється автоматично, коли ви переводите замовлення в статус «В обробці». Без чужих iframe, без переписування checkout-у, без щоденного копіювання даних у кабінет НП.
Базова версія — безкоштовна. Скачати з офіційного OpenCart marketplace: opencart.com/…/extension_id=48538. Преміум-функції (накладений платіж, поворотні накладні, авто-оновлення статусів, webhooks, multi-warehouse) розблоковуються ліцензійним ключем — купити нижче.
Як це виглядає для покупця

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

Як це працює — крок за кроком
- Покупець на сайті обирає Нову Пошту як спосіб доставки, шукає місто, обирає відділення.
- Замовлення створюється у вашій OC-адмінці зі збереженою прив’язкою до конкретного відділення.
- Ви переводите замовлення у статус-тригер (за замовчуванням «В обробці»).
- Модуль автоматично кличе НП API: створює отримувача-приватну особу (з вашого checkout-у — ПІБ, телефон), потім друкує ТТН. Номер пишеться у замовлення.
- З Преміумом: погодинно опитує НП про статус кожного активного відправлення, отримує номер виплати при післяплаті, шле webhook вашій CRM/ERP на кожну зміну статусу.
Що включено в ліцензії
| Функція | Безкоштовно | Преміум |
|---|---|---|
| Підключення до Нової Пошти за API-ключем | ✔ | ✔ |
| Пошук міста і вибір відділення в кошику | ✔ | ✔ |
| Локальний кеш міст і відділень — підказки без затримок | ✔ | ✔ |
| Розрахунок тарифу в реальному часі за вагою і вартістю замовлення | ✔ | ✔ |
| Автоматичне створення ТТН при зміні статусу замовлення | ✔ | ✔ |
| Журнал відправлень в адмінці | ✔ | ✔ |
| Українська і англійська локалізації, транслітерація Latin → Кирилиця у ПІБ отримувача | ✔ | ✔ |
| Накладений платіж — автоматичне додавання BackwardDelivery до ТТН, синхронізація виплат від НП у замовленнях | — | ✔ |
| Поворотна накладна в один клік (через AdditionalServiceGeneral) | — | ✔ |
| Авто-оновлення статусів — погодинний крон синхронізує статуси відправлень з НП без вашої участі | — | ✔ |
| Webhook-сповіщення на зміну статусу (HMAC-SHA256, повтори з exponential backoff) — для інтеграції з CRM/ERP/Slack | — | ✔ |
| Кілька складів-відправників (multi-warehouse) — вибір автоматично за зоною/категорією товару | — | ✔ |
Скільки коштує
2 990 грн — одноразово, ліцензія назавжди. Купуєте раз, користуєтесь скільки завгодно — ніяких щорічних платежів, ніяких списань. Усі поточні Преміум-функції відкриваються одразу після активації ліцензії і працюють без обмеження за часом.
Один ключ — два домени (production + staging). Захист від втрати: якщо переносите магазин на новий домен, ключ можна деактивувати тут і активувати там без звернення до підтримки.
Оновлення модуля під нові версії OpenCart і API Нової Пошти отримуєте безкоштовно протягом усього часу володіння ліцензією. Якщо в майбутньому випустимо v2.0 з принципово новими можливостями — буде окрема пропозиція upgrade зі знижкою для існуючих клієнтів.
Технічні вимоги
- OpenCart 4.0.2 – 4.1.x (4.2+ також працює)
- PHP 8.1+ (тестовано на 8.5 — захист від нових deprecation warnings всередині JSON-ендпоінтів)
- MySQL 5.7+ / MariaDB 10.3+
- API-ключ Нової Пошти — безкоштовний у вашому кабінеті: my.novaposhta.ua → Налаштування → Безпека → API
- Один зареєстрований профіль відправника у бізнес-кабінеті НП — у більшості мерчантів він вже є (без нього НП не дозволяє створювати ТТН з будь-якого джерела)
Що під капотом
- Native для OpenCart 4.x — PSR-4 неймспейси, events-API, Twig. Не OCMOD, не XML-моди. Сумісність з наступними OC-релізами без переписування.
- API-ключ зашифрований у БД — XOR з per-install секретом від wp-salt. Якщо хтось дампне БД — ключ не зчитається у відкритому вигляді.
- Кеш міст і відділень з лінивим оновленням — щотижневий повний sync через cron, lazy load відділень для запитуваних міст (TTL 7 днів). Підказки в чекауті відповідають за 44 мс замість 211 мс прямого виклику API.
- Дві стадії створення ТТН — спочатку Counterparty.save для отримувача (PrivatePerson із номером телефону у форматі НП), потім InternetDocument.save. Працює для всіх типів відправника — приватна особа, ФОП, ТОВ.
- HMAC-підписані webhooks з повторами: 5/10/20/40 хв exponential backoff, до 4 спроб. Підписи sha256, заголовок
X-NP-Signature.
Як встановити
- Завантажте
nova_poshta_premium.ocmod.zipчерез Розширення → Інсталятор у вашій OC-адмінці. - Активуйте у списку, потім зайдіть у налаштування → натисніть «Завершити встановлення» (створить таблиці БД, події, крон-задачі).
- Вставте API-ключ із вашого кабінету НП, натисніть «Перевірити підключення» — побачите «Зʼєднання працює».
- Оберіть ваше місто і відділення → завантажте профіль відправника → збережіть.
- Готово — у кошику зʼявиться блок з вибором НП-доставки.
- Для Преміум-функцій: вставте ліцензійний ключ із email після оплати → «Активувати ліцензію».
Історія версій
- 1.1.0 — 24 травня 2026
- Production-ready реліз: реальний license-клієнт зі звіркою до catcode.com.ua, перевірка product_slug (ключ від іншого продукту не активує цей модуль), гейтинг Преміум-функцій через License::isPro(), 14-денний offline grace, plain-language локалізація без жаргону, merge-fix у save handler.
- 1.0.c–f — травень 2026
- Накладений платіж (BackwardDelivery + синхронізація виплат), поворотні ТТН через AdditionalServiceGeneral.save з причиною “відмова від отримання”, транслітерація Latin → Кирилиця у ПІБ отримувача (НП не приймає латиницю), нормалізація телефону у формат НП.
- 1.0.b — травень 2026
- Кеш міст і відділень: таблиці np_cities + np_warehouses, щотижневий cron syncCities, lazy warehouse cache з TTL 7 днів. Прискорення вибору складу у ~5 разів (211 мс → 44 мс) — підказки в кошику стають миттєвими.
- 1.0.a — травень 2026
- Справжнє створення ТТН: налаштування Counterparty-відправника в адмінці + двоетапний createTTN (Counterparty.save → InternetDocument.save). До цього було чернетка-stub.
- 0.7 — травень 2026
- Перший повний MVP: install hook з створенням таблиць БД, storefront picker у кошику, чернетка ТТН на нове замовлення, погодинний cron статусів, webhook-система, шифрування API-ключа через XOR з per-install секретом.
Часті питання
Чи перепишеться мій checkout?
Ні. Модуль вставляє свій блок через event у footer, без зміни вашої теми. Якщо колись захочете видалити модуль — checkout залишиться який був.
Що буде з даними після видалення модуля?
Журнал відправлень, кеш міст і вже створені ТТН залишаться в БД (на випадок аудиту). Очистити можна вручну через SQL — інструкція в документації.
Що буде з модулем якщо я перестану отримувати оновлення?
Усі функції (і базові, і Преміум) продовжують працювати без обмежень — ліцензія назавжди, ніяких списань, ніяких deadline. Просто перестанете отримувати майбутні релізи. Якщо колись захочете повернутися до апдейтів — у вас вже є купка майбутніх версій безкоштовно як активному покупцю.
Чи можна перенести ключ на інший домен?
Так. У налаштуваннях натисніть «Деактивувати ліцензію» на старому домені — слот звільниться, можна вставляти на новому.
Чи треба окремий додаток у НП для цього модуля?
Ні. Просто API-ключ зі стандартного бізнес-кабінету. Він безкоштовний для всіх клієнтів Нової Пошти.
Чи буде підтримка OpenCart 4.2 / 5.0?
Так. Поки тримаємо сумісність з 4.0.2–4.1.x (це 90% поточних магазинів). Як тільки 4.2 / 5.0 досягнуть стабільності — додамо їх у тестову матрицю. Оновлення доступні безкоштовно для всіх клієнтів з активною ліцензією — без додаткових платежів.
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Експрес-оплата
Купівля модуля
—