
Marketplace Returns Control для OpenCart — контроль возвратов и незабранных посылок
Модуль для OpenCart 4, 3 и 2.3, который сверяет ТТН ваших заказов с Новой Почтой, Укрпочтой и Meest и показывает посылки, где нужен человек: возврат «прибыл», а товара на полке нет; хранение в отделении заканчивается; посылка зависла; статус заказа противоречит посылке; деньги вернули раньше товара. Pro сверяет ещё и заказы Rozetka, Prom и Эпицентра, проверяет каждый час, шлёт сводку на почту и в Telegram.
- Совместимость
- OpenCart 4.0.2 – 4.1.x (проверено на 4.1.0.3 и 4.0.2.3, в том числе с DB_DRIVER=pdo) · OpenCart 3.0.x (проверено на 3.0.5.0) · OpenCart 2.3.0.2 (PHP 7.0) · PHP — какой нужен вашей версии OpenCart (проверено на 7.0, 8.1, 8.2, 8.3)
- Версия
-
v1.0.2 (OpenCart 4)
v1.0.2 (OpenCart 3.x)
v1.0.2 (OpenCart 2.3) - Лицензия
- один сайт, навсегда
- Триал
- 7 дней, без карты, один на сайт
- Обновлено
- 24 сентября 2026
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит
Главное о модуле
Как это выглядит для покупателя
Покупатель модуля не видит: на витрине и в оформлении заказа ничего не меняется, лишних запросов и скриптов на страницах магазина нет.
Что получает админ
В меню «Продажи» появляется пункт «Контроль возвратов» с количеством проблемных посылок.

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.
Технические требования
OpenCart 4.0.2 – 4.1.x (проверено на 4.1.0.3 и 4.0.2.3, с драйвером базы mysqli и pdo), 3.0.x (проверено на 3.0.5.0) или 2.3.0.2.
PHP — какой нужен вашей версии OpenCart: сборку для 2.3 проверили на PHP 7.0, остальные — на PHP 8.1, 8.2 и 8.3.
Исходящие HTTPS-запросы с сервера к API перевозчиков (и кабинетов маркетплейсов в Pro).
Для ежечасной проверки в Pro — планировщик OpenCart 4 или cron хостинга, который раз в час открывает адрес из настроек.
Для обратных ТТН Новой Почты — ключ отправителя или телефон отправителя; без них модуль отслеживает основную ТТН.
Ключ Rozetka из модуля «ТТН в маркетплейсы» расшифровывается, только если в PHP есть расширение sodium; без него введите логин и пароль Rozetka в этом модуле.
Статусы заказов «Выполнено», «Отменено», «Средства возвращены» по умолчанию — стандартные ID OpenCart (5, 7, 11); если у вас другие, выберите их в настройках.
История версий
Статус заказа Prom.ua показывается так, как его называет Prom («Скасовано»), без дописанного английского кода доставки («Скасовано / delivered»).
OpenCart 4 с драйвером базы pdo: список посылок, поиск, CSV, сводка и проверка по крону больше не падают с ошибкой SQL.
Для OpenCart 4.x, 3.x и 2.3: ТТН из модулей Новая Почта, Укрпочта, Meest, из другой таблицы и из заказа, отслеживание трёх перевозчиков, обратные ТТН Новой Почты, выводы, подтверждение…
Вместе с Marketplace Returns Control для OpenCart покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
Marketplace Returns Control для OpenCart — модуль для магазинов, которые отправляют Новой Почтой, Укрпочтой или Meest и продают на Rozetka, Prom или в Эпицентре. Посылка, которую покупатель не забрал, стоит дважды: доставка туда и обратно плюс товар, который «где-то в пути». Хуже, когда перевозчик или маркетплейс закрывает такую посылку как «вручено» или «возвращено», а она до сих пор лежит в отделении. Через неделю уже никто не помнит, что её нужно было забрать.
Модуль сверяет каждую ТТН ваших заказов с перевозчиком (кнопкой «Проверить сейчас», в Pro ещё и каждый час) и показывает только те посылки, где нужен человек. Возврат закрывается не статусом перевозчика, а вашим «Возврат получен», то есть когда товар действительно на полке. ТТН и ключи модуль берёт из наших модулей Нова Пошта Premium, Укрпочта и Meest, поэтому после установки обычно ничего не нужно заполнять.
Как это выглядит для покупателя
Покупатель модуля не видит: на витрине и в оформлении заказа ничего не меняется, лишних запросов и скриптов на страницах магазина нет. Работает он в админке. Покупатель замечает только последствия: вы звоните, пока посылка ещё в отделении, а не когда она уже уехала обратно; деньги за возврат возвращаются тогда, когда товар действительно пришёл; статус заказа соответствует тому, что случилось с посылкой.
Что получает админ
В меню «Продажи» появляется пункт «Контроль возвратов» с количеством проблемных посылок. Настройки — Дополнения → Дополнения → Модули → Marketplace Returns Control.
- Один вывод на посылку. Каждая ТТН получает ровно один вывод, и список делится на вкладки: «Требуют внимания», «Возвраты», «В пути», «Завершённые», «Все». Рядом — статус перевозчика с кодом, дата изменения, дата конца хранения, связанный заказ OpenCart и маркетплейс.
- Действия. «Возврат получен» с комментарием, «Отметить решённым» (посылка исчезает из «Требуют внимания» и возвращается, если состояние снова изменится), удалить, история.
- Фильтры и поиск. По источнику (OpenCart, Rozetka, Prom, Эпицентр), перевозчику, ТТН, обратной ТТН или номеру заказа.
- Ручное добавление. «Добавить ТТН вручную» — для посылки, которой нет среди заказов OpenCart, например заказа маркетплейса, отправленного вручную.
Блок на странице заказа показывает посылки этого заказа, вывод, кнопки «Возврат получен» / «Отменить подтверждение» / «Отметить решённым» и историю: кто, когда и что подтвердил. Если ТТН не записал ни один модуль доставки, её можно ввести здесь вместе с обратной ТТН — кнопкой «Сохранить и проверить».
- Что отслеживать. ТТН из таблиц наших модулей Нова Пошта Premium, Укрпочта и Meest (модуль сам показывает «найден»), из таблицы другого модуля доставки или введённые в заказе. За сколько дней брать заказы, какие статусы пропускать, после скольких дней без движения посылка «зависла», за сколько дней до конца хранения предупреждать.
- Статусы «Выполнено», «Отменено», «Средства возвращены». Модуль сравнивает с ними состояние посылки. По умолчанию — стандартные Complete, Canceled и Refunded; если в вашем магазине другие, выберите свои.
- Перевозчики. Ключи берутся из наших модулей доставки. Собственные поля нужны, только если тех модулей нет или здесь нужен другой ключ. Для каждого перевозчика есть «Сохранить и проверить».
- История заказа. Строка в истории без уведомления покупателя, когда найдена проблема или подтверждён возврат (отключается).
Pro: маркетплейсы, автоматизация, Telegram
- Rozetka, Prom.ua, Эпицентр. Заказы кабинета с ТТН сверяются с перевозчиком и с вашим заказом. Модуль ловит три ситуации: маркетплейс закрыл заказ как полученный, а перевозчик не вручил посылку; маркетплейс и перевозчик говорят разное; деньги вернули покупателю раньше, чем товар пришёл обратно. Реквизиты из наших модулей «ТТН в маркетплейсы», «Эпицентр: цены и наличие» и Prom Model Guard подхватываются сами.
- Связь с заказом OpenCart модуль берёт из «ТТН в маркетплейсы». Заказы маркетплейса без заказа в OpenCart тоже попадают в список.
- Ежечасная проверка перевозчиков и маркетплейсов без кнопки. В OpenCart 4 — через встроенный планировщик (Дополнения → Cron Jobs); если хостинг его не запускает, или в OpenCart 3 и 2.3 — через cron-адрес из настроек, раз в час.
- Утренняя сводка на почту: список посылок, требующих внимания.
- Telegram: срочные случаи (маркетплейс закрыл как полученный, маркетплейс и перевозчик говорят разное, деньги вернули раньше товара, «возвращено» без вашего подтверждения, посылка утеряна) сразу, сводка утром.
- Статус заказа меняется сам: после подтверждённого возврата и после отказа, со строкой в истории без уведомления покупателя.
- CSV из списка с учётом фильтров, с точкой с запятой и BOM — открывается в Excel без танцев с кодировкой.
Как это работает — шаг за шагом
- «Проверить сейчас» (в Pro ещё и каждый час) сначала подхватывает новые ТТН: из таблиц модулей доставки, из другой таблицы и из блока заказа. Берутся заказы за окно наблюдения (60 дней по умолчанию); заказы без статуса и в статусах, которые вы пропускаете, — нет.
- Затем модуль опрашивает перевозчиков: Новую Почту и Укрпочту пачками до 100 ТТН, Meest по одной. Сначала идут посылки, которые ещё не проверялись, потом самые давние.
- Ответ каждого перевозчика сводится к одному состоянию: в пути, в отделении, вручено, отказ, возвращается, возвращено отправителю, утеряно. Для Новой Почты модуль берёт обратную ТТН (кроме переадресации) и дату окончания хранения.
- В Pro модуль читает заказы Rozetka, Prom и Эпицентра с ТТН и добавляет к посылке состояние маркетплейса и возврата средств.
- Из всего этого и статуса вашего заказа получается один вывод, от самого важного к обычному: маркетплейс закрыл как полученный, расхождение, деньги раньше товара, «возвращено» без подтверждения, утеряно, статус заказа противоречит, заканчивается хранение, зависла.
- Каждое изменение попадает в историю посылки, в Pro — ещё и в Telegram или утреннюю сводку. Возврат закрывается только вашим «Возврат получен».
Что под капотом
- Без правок ядра. Меню и блок на странице заказа — через события OpenCart, без OCMOD-модификаций. Одна библиотека классов одинакова в трёх сборках, код совместим с PHP 7.0.
- Собственные таблицы
oc_cc_mrc_parcel(одна ТТН — одна строка),oc_cc_mrc_event(история),oc_cc_mrc_order(ТТН, введённые в заказе),oc_cc_mrc_kv(служебные данные). Таблицы модулей доставки модуль только читает. - API: Новая Почта TrackingDocument.getStatusDocuments, Укрпочта Status Tracking, Meest openAPI tracking. В Pro — Rozetka Seller API, Prom.ua API, Эпицентр Marketplace API.
- Ключи и токены хранятся зашифрованными (AES с HMAC) и не выводятся в HTML. Ключи наших модулей модуль расшифровывает сам, не подключая их файлов.
- Лицензия живёт в отдельной группе настроек: «Сохранить» её не трогает, деинсталляция тоже.
- Удаление: деинсталляция снимает события и крон; таблицы с посылками остаются для повторной установки. Галочка «Удалять посылки, их историю и настройки при удалении модуля» перед деинсталляцией убирает и их.
Как установить
- OpenCart 4: Дополнения → Установщик → загрузите
cc_mrc.ocmod.zip(имя архива не меняйте) и нажмите «Установить». OpenCart 3: Дополнения → Установщик →cc_mrc-oc3.ocmod.zip. OpenCart 2.3: залейте содержимое папкиupload/изcc_mrc-oc2.ocmod.zipв корень магазина (FTP или файловый менеджер хостинга) — Установщик 2.3 без настроенного FTP файлы не копирует. - Дополнения → Дополнения → Модули → Marketplace Returns Control → «Установить», затем «Редактировать».
- «Что отслеживать»: проверьте, что таблицы модулей доставки отмечены «найден». Ключи из наших модулей подхватятся сами — это видно по надписям «взято из модуля …».
- Продажи → «Контроль возвратов» → «Проверить сейчас». Посылки появятся во вкладках по выводам.
- Когда возврат физически пришёл, нажмите «Возврат получен» в списке или на странице заказа.
- Для Pro: вставьте лицензионный ключ из письма после оплаты или нажмите «Попробовать Pro 7 дней» в разделе «Pro-лицензия», затем включите маркетплейсы и автоматизацию. Для OpenCart 3 и 2.3 добавьте cron-адрес из настроек в cron хостинга, раз в час.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Нужен ли API-ключ Новой Почты?
Нет. Отслеживание Новой Почты работает без ключа. С ключом отправителя (или с телефоном отправителя в настройках) Новая Почта дополнительно сообщает обратную ТТН и дату окончания хранения. Если стоит наш модуль Нова Пошта Premium, ключ берётся из него.
Зачем подтверждать возврат вручную?
Потому что именно статус перевозчика и бывает неправдой: возврат отмечен «вручено отправителю», а посылка ещё лежит в отделении. Такая посылка остаётся в «Требуют внимания», пока вы не нажмёте «Возврат получен» — то есть пока товар действительно не на полке.
ТТН записывает другой модуль доставки, не ваш.
В настройках, строка «Другая таблица», укажите его таблицу, колонку с ТТН, колонку с номером заказа и перевозчика (или «Определять по номеру»). ТТН можно также ввести вручную в блоке «Контроль возвратов» на странице заказа.
Какие маркетплейсы поддерживает Pro?
Rozetka, Prom.ua и Эпицентр. Модуль читает заказы кабинета с ТТН и сверяет статус маркетплейса с перевозчиком. Связь с заказом OpenCart берётся из нашего модуля «ТТН в маркетплейсы» (Marketplace Waybills); заказы маркетплейса без заказа в OpenCart тоже отслеживаются. Логин и токены, уже введённые в наших модулях, подхватываются сами.
Проверено ли на живых кабинетах?
Нет. Новая Почта отвечала вживую на запросы без ключа. Укрпочту, Meest, Rozetka, Prom и Эпицентр проверили по их официальной документации на тестовых ответах: публичных песочниц у этих сервисов нет. Поэтому проверьте модуль на своих посылках в 7-дневном триале Pro, а если какой-то статус трактуется не так — напишите нам, исправим.
Лицензия на год?
Нет. Для OpenCart это одна оплата, лицензия навсегда, и она одна на все три сборки: 4.x, 3.x и 2.3. Триал стартует только по вашей кнопке; когда он заканчивается, отключаются только Pro-функции — посылки и история остаются.
Меняет ли модуль что-то в заказах сам?
Во Free — нет, только добавляет в историю заказа строку без уведомления покупателя, когда найдена проблема или подтверждён возврат (отключается). В Pro можно выбрать статус после подтверждённого возврата и после отказа; по умолчанию «не менять». Статус «Средства возвращены» для отказа модуль выбрать не даёт.
Модуль меняет файлы OpenCart?
Нет. Он работает через события OpenCart (меню и страница заказа), без OCMOD-правок ядра, и имеет собственные таблицы. Таблицы наших модулей доставки только читает.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—