Что внутри
- Выбор города и отделения прямо в корзине с автокомплитом из API Новой Почты
- Автоматическое создание ТТН при переходе заказа в статус «В обработке»
- Список отправлений со статусами в админке OpenCart
- Наложенный платёж с контролем суммы Pro
- Обратные накладные в один клик из админки Pro
- Авто-обновление статусов доставки и webhooks Pro
- Несколько складов/отправителей (multi-warehouse) Pro
- Кеш справочника городов и отделений — чекаут не тормозит
- Работает с родным чекаутом: без чужих iframe и переписывания шаблонов
- Совместимость с OpenCart 3.0.2–3.0.5.0 и 4.0.2–4.1.x
Nova Poshta Premium — модуль для OpenCart 3.x и 4.x, который подключает магазин к Новой Почте за 10 минут. Покупатель выбирает город и отделение прямо в корзине, а ТТН создаётся автоматически, когда вы переводите заказ в статус «В обработке». Без чужих iframe, без переписывания checkout-а, без ежедневного копирования данных в кабинет НП.
Базовая версия — бесплатная. Скачать с официального OpenCart marketplace: opencart.com/…/extension_id=48538. Премиум-функции (наложенный платёж, обратные накладные, авто-обновление статусов, webhooks, multi-warehouse) разблокируются лицензионным ключом — купить ниже.
Живое демо
Модуль можно потрогать руками до покупки: открыть демо-магазин на OpenCart 4. Добавьте любой товар в корзину и перейдите к оформлению заказа — на шаге доставки появится блок «Доставка Новой Почтой» с живым поиском городов и отделений через API Новой Почты. Заказы тестовые, ничего оплачивать не нужно (выберите «Оплата при получении»).
Как это выглядит для покупателя




Что получает админ
Как это работает — шаг за шагом
- Покупатель на сайте выбирает Новую Почту как способ доставки, ищет город, выбирает отделение.
- Заказ создаётся в вашей OC-админке с сохранённой привязкой к конкретному отделению.
- Вы переводите заказ в статус-триггер (по умолчанию «В обработке»).
- Модуль автоматически зовёт НП API: создаёт получателя-частное лицо (из вашего checkout-а — ФИО, телефон), затем печатает ТТН. Номер пишется в заказ.
- С Премиумом: почасово опрашивает НП о статусе каждого активного отправления, получает номер выплаты при наложенном платеже, шлёт webhook вашей CRM/ERP на каждое изменение статуса.
Что включено в лицензии
| Функция | Бесплатно | Премиум |
|---|---|---|
| Подключение к Новой Почте по API-ключу | ✔ | ✔ |
| Поиск города и выбор отделения в корзине | ✔ | ✔ |
| Локальный кеш городов и отделений — подсказки без задержек | ✔ | ✔ |
| Расчёт тарифа в реальном времени по весу и стоимости заказа | ✔ | ✔ |
| Автоматическое создание ТТН при смене статуса заказа | ✔ | ✔ |
| Журнал отправлений в админке | ✔ | ✔ |
| Украинская и английская локализации, транслитерация Latin → Кириллица в ФИО получателя | ✔ | ✔ |
| Кастомизация вида блока в корзине — акцентный цвет, скругление, тема (авто/светлая/тёмная) | ✔ | ✔ |
| Наложенный платёж — автоматическое добавление BackwardDelivery к ТТН, синхронизация выплат от НП в заказах | — | ✔ |
| Обратная накладная в один клик (через AdditionalServiceGeneral) | — | ✔ |
| Авто-обновление статусов — почасовой крон синхронизирует статусы отправлений с НП без вашего участия | — | ✔ |
| Webhook-уведомления на смену статуса (HMAC-SHA256, повторы с exponential backoff) — для интеграции с CRM/ERP/Slack | — | ✔ |
| Несколько складов-отправителей (multi-warehouse) — выбор автоматически по зоне/категории товара | — | ✔ |
Сколько стоит
2 490 грн — разовая покупка. Лицензия бессрочная: платите один раз, обновления и техническая поддержка входят в цену. Один ключ — один домен и его поддомены.
Переносите магазин на другой домен — деактивируйте лицензию на старом и активируйте на новом самостоятельно в кабинете.
Лицензия бессрочная — ничего не истекает и не выключается. Один ключ — один домен; переносите магазин — деактивируйте лицензию на старом домене и активируйте на новом самостоятельно.
Один ключ — два домена (production + staging). Переносите магазин — деактивируйте лицензию на старом домене и активируйте на новом самостоятельно, без обращения в поддержку.
Сначала триал, потом оплата. Свежая установка — это бесплатная версия: Pro сам не включается и ничего не гаснет через неделю. Когда захотите посмотреть Pro — нажмите «Попробовать Pro» в настройках модуля, укажите email и получите ключ на 7 дней (он же придёт письмом). Так что сверку наложенного платежа, обратную ТТН и массовые операции вы проверяете на собственном магазине ещё до покупки — именно поэтому возврат средств после оплаты не предусмотрен.
Технические требования
- OpenCart 4.0.2 – 4.1.x (4.2+ тоже работает) — или отдельная сборка под OpenCart 3.0.2 – 3.0.5.0
- 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-админке. Для OpenCart 3.0.x используйте сборкуnova-poshta-premium-oc3-1.2.8.ocmod.zip(доступна в загрузках товара). - Активируйте в списке, затем зайдите в настройки → нажмите «Завершить установку» (создаст таблицы БД, события, крон-задачи).
- Вставьте API-ключ из вашего кабинета НП, нажмите «Проверить подключение» — увидите «Соединение работает».
- Выберите ваш город и отделение → загрузите профиль отправителя → сохраните.
- Готово — в корзине появится блок с выбором НП-доставки.
- Для Премиум-функций: вставьте лицензионный ключ из email после оплаты → «Активировать лицензию».
История версий
- 1.2.17 (OpenCart 4.x) / 1.3.1 (OpenCart 3.x) / 1.3.1 (OpenCart 2.3) — 14 августа 2026
- Исправлено создание обратной ТТН: запрос к Новой Почте шёл без подтипа причины возврата, а отделение подставлялось в поле, которое ожидает адрес контрагента, — из-за этого кнопка «Обратная ТТН» падала с ошибкой во всех сборках. Теперь перед созданием модуль спрашивает у перевозчика, возможен ли возврат для этой накладной, и показывает именно его ответ (например, возврат недоступен, пока отправление ещё не передано в Новую Почту).
- 1.2.16 (OpenCart 4.x) / 1.2.8 (OpenCart 3.x) — 3 августа 2026
- Расчёт стоимости через API Новой Почты стал отдельной опцией и по умолчанию выключен. Раньше поле стоимости было лишь запасным: как только настроены API-ключ и город отправителя, стоимость в корзине всегда перебивалась тарифом перевозчика — магазины, где доставку оплачивает получатель, не могли это выключить. Поле переименовано в «Стоимость доставки»: именно оно и показывается покупателю. Кроме того, нулевая стоимость больше не выглядит как бесплатная доставка — метод подписывается «(оплата при получении)», а вместо «0 ₴» показывается «по тарифам перевозчика». Исправлена и пустая плашка, висевшая под блоком выбора отделения, пока отделение не выбрано.
- 1.2.7 — 23 июля 2026
- Исправлена фатальная ошибка в расчёте способов доставки:
getQuote()загружал несуществующую в OpenCart 4.x catalog-модельlocalisation/geo_zone, из-за чего весь список способов доставки не появлялся («Требуется адрес доставки»). Проверка гео-зоны теперь делается прямым запросом кzone_to_geo_zone, как у стоковых методов. Плюс: блок города/отделения теперь появляется только после выбора метода «Новая Почта» (сначала метод — потом поля), не конфликтует с виджетами других перевозчиков и имеет демо-набор городов/отделений для кликабельного теста без API-ключа. - 1.2.5 — 20 июля 2026
- Исправлена работа инструментов в настройках модуля до первого сохранения: поиск города, список отделений, тестовая проверка тарифа и загрузка профиля отправителя теперь используют API-ключ, введённый в поле. Раньше они читали только уже сохранённый ключ, тогда как кнопка «Проверить подключение» проверяла введённый — из-за этого сразу после вставки ключа появлялось «Ключ действителен», а поиск города отвечал «Ничего не найдено». Теперь достаточно вставить ключ и сразу искать город.
- 1.2.4 — 17 июля 2026
- Исправлен поиск городов на магазинах, где OpenCart работает через драйвер базы PDO (
DB_DRIVER = pdo): запрос падал с SQL-ошибкой, поэтому поле показывало «Ничего не найдено», хотя ключ и модуль были исправны. На драйвереmysqliпроблемы не было. Выбор отделений не затрагивался — именно поэтому это выглядело как проблема с API-ключом. - 1.2.3 — 17 июля 2026
- Исправлен поиск городов на хостингах, где не включено расширение PHP mbstring: поле показывало «Ничего не найдено», хотя API-ключ был действителен, а выбор отделений работал. Функции
mb_strtolower/mb_substrтеперь вызываются только при наличии, с UTF-8 безопасными фолбеками. Касается сборок и для OpenCart 4.x, и для 3.x — после обновления ничего перенастраивать не надо. - 1.2.2 — 9 июля 2026
- Мелкие исправления админки и обновлённые скриншоты. Функциональных изменений нет.
- 1.2.1 — 29 июня 2026
- Отдельная сборка под OpenCart 3.0.2 – 3.0.5.0 — полный порт 4.x-версии (non-namespaced классы, OC3 events, Bootstrap-3 админка). Синхронизация кода и документации. Линия OpenCart 4.x — без функциональных изменений.
- 1.2.0 — 23 июня 2026
- Кастомизация вида чекаут-блока: акцентный цвет, скругление углов (0–28px) и тема (авто под дизайн магазина / светлая / тёмная) — блок подстраивается под любую тему OpenCart. Плюс доработка локализации и picker-а в корзине.
- 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 — инструкция в документации.
Что будет с модулем, когда лицензия завершится?
Премиум-функции выключатся, а базовая версия продолжит работать без ограничений — настройки, история ТТН и данные никуда не исчезают. Мы напомним об окончании на почту за 14, 7, 3 и 1 день. Как только продлите лицензию тем же ключом — Премиум включится снова, переустанавливать модуль не надо.
Можно ли перенести ключ на другой домен?
Да. В настройках нажмите «Деактивировать лицензию» на старом домене — слот освободится, можно вставлять на новом.
Нужно ли отдельное приложение в НП для этого модуля?
Нет. Просто API-ключ из стандартного бизнес-кабинета. Он бесплатный для всех клиентов Новой Почты.
Будет ли поддержка OpenCart 4.2 / 5.0?
Да. Пока держим совместимость с 4.0.2–4.1.x (это 90% текущих магазинов). Как только 4.2 / 5.0 достигнут стабильности — добавим их в тестовую матрицу. Обновления доступны бесплатно для всех клиентов с активной лицензией — без дополнительных платежей.
Вопросы по модулю?
Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.
- 5 ★ 1
- 4 ★ 0
- 3 ★ 0
- 2 ★ 0
- 1 ★ 0
Олексій
Перший раз бачу безкоштовну версію з таким функціоналом ДЯКУЮ!!!!
Оставить отзыв
Отзыв модерируется перед публикацией — обычно это занимает до 24 часов.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Задать вопрос
Обычно отвечаем в течение 24 часов в рабочее время.
Покупка модуля
—
