
Payment Status Sync для OpenCart — сверка «ожидает оплату» с банком: LiqPay, monobank, WayForPay, Portmone
Модуль для OpenCart 4, 3 и 2.3 находит заказы, которые до сих пор «ожидают оплату», хотя банк деньги уже принял: уведомление банка не дошло до магазина. Он сам запрашивает статус платежа в LiqPay, monobank (Mono Acquiring), WayForPay и Portmone через их официальные API и показывает каждое расхождение с кнопкой «Применить оплату». Работает с нашими платёжными модулями и берёт ключи из них. Pro ставит статус «оплачено» сам и присылает уведомления на e-mail и в 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) · платёжные модули CatCode LiqPay, Mono Acquiring, WayForPay, Portmone · PHP cURL · MariaDB 10.11
- Версия
-
v1.0.1 (OpenCart 4)
v1.0.1 (OpenCart 3.x)
v1.0.1 (OpenCart 2.3) - Лицензия
- один сайт, навсегда
- Триал
- 7 дней, без карты, один на сайт
- Обновлено
- 10 октября 2026
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит
Главное о модуле
Как это выглядит для покупателя
На витрине и в оформлении заказа ничего не меняется: модуль не добавляет скриптов и не делает запросов со страниц магазина.
Что получает админ
Пункт меню Продажи → «Сверка оплат» со счётчиком заказов, требующих внимания, и страницы «Монитор», «Способы оплаты», «Журнал», «Настройки».

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

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Для студий — ключи на 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.
Платёжный модуль CatCode LiqPay, Mono Acquiring, WayForPay или Portmone для вашей версии OpenCart с сохранёнными ключами.
PHP — тот, что нужен вашей версии OpenCart: сборку для 2.3 проверено на PHP 7.0, остальные — на PHP 8.x. Расширение cURL — для запросов к банкам и лицензии.
База: проверено на MariaDB 10.11.
Для проверки чаще раза в час (и в OpenCart 3 и 2.3) — cron хостинга, который открывает адрес проверки каждые 5–10 минут. Готовая строка для crontab — во вкладке «Расписание».
История версий
OpenCart 4.0.2 с драйвером базы данных PDO: прогон сверки останавливался с ошибкой SQL 1064 — исправлено.
Для OpenCart 4.x, 3.x и 2.3: сверка заказов «ожидает оплату» с API LiqPay, monobank (Mono Acquiring), WayForPay и Portmone, монитор, кнопка «Применить оплату», строка на странице заказа,…
Вместе с Payment Status Sync для 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
Полное описание модуля
Payment Status Sync для OpenCart — модуль для магазинов, которые принимают оплату картой. Бывает так: покупатель оплатил, банк деньги принял, а заказ в админке до сих пор «ожидает оплату». Статус «оплачено» ставит уведомление, которое банк отправляет на сайт, и если оно не дошло — сайт был недоступен, изменился адрес уведомлений, запрос отрезал файрвол, — заказ так и висит. Его не отправляют, покупатель пишет в поддержку, а менеджер идёт в кабинет банка сверять платежи вручную.
Модуль сам спрашивает банк о каждом заказе, который ждёт оплату, — через официальные API статуса платежа LiqPay, monobank (Mono Acquiring), WayForPay и Portmone — и показывает заказы, которые на самом деле оплачены, с кнопкой «Применить оплату». Проверка — только по статусу, который возвращает банк: модуль ничего не угадывает по корзине, письмам или времени. Недоплаты, оплаты в другой валюте, холды и возвраты он показывает, но статус заказа не меняет.
Работает с нашими платёжными модулями для OpenCart: LiqPay, Mono Acquiring (monobank), WayForPay и Portmone. Ключи берёт из их настроек — вводить их повторно не нужно.
Магазин на WooCommerce? Для него есть отдельный плагин — Payment Status Sync для WooCommerce: LiqPay, monobank, WayForPay и Portmone (наши модули оплаты), а также Stripe и PayPal.
Как это выглядит для покупателя
На витрине и в оформлении заказа ничего не меняется: модуль не добавляет скриптов и не делает запросов со страниц магазина. Покупатель замечает только следствие: оплаченный заказ не застревает в «ожидает оплату», его отправляют, а не просят «прислать квитанцию». Если в настройках включено «Уведомлять покупателя», он получит обычное письмо OpenCart о смене статуса.
Что получает админ
Пункт меню Продажи → «Сверка оплат» со счётчиком заказов, требующих внимания, и страницы «Монитор», «Способы оплаты», «Журнал», «Настройки».
- Плитки: сколько заказов требуют внимания, сколько ждут оплату, сколько исправлено за 7 дней и когда была последняя проверка.
- Карточки платёжных модулей: для LiqPay, monobank, WayForPay и Portmone — установлен ли модуль, сохранены ли ключи, тестовый режим, двухэтапная оплата.
- «Требует внимания»: оплачено в банке, но заказ ждёт; недоплата; деньги заблокированы (холд); ошибка API. «Ожидают» — ещё не оплачены, «Закрытые» — исправленные и те, что получили новый статус иначе.
- Кнопки: «Проверить все сейчас», «Проверить» для одного заказа, «Применить оплату» (банк запрашивается ещё раз) и «Убрать» из списка — в самом заказе при этом ничего не меняется.
Строка на странице заказа
В заказах, оплаченных одним из четырёх модулей, вверху — что в последний раз сказал банк и когда, и кнопки «Спросить банк сейчас» и «Применить оплату». Строка выключается в настройках.
Способы оплаты
- Доля оплаченных заказов для каждого способа оплаты магазина — не только четырёх банков, но и, например, наложенного платежа — за последние 24 часа против 14 дней до того.
- «Падение» — когда доля упала на 25 пунктов и больше и в окне не меньше 5 заказов. Резкое падение обычно означает, что банк перестал подтверждать оплаты (просроченные ключи, изменённый адрес уведомлений, сломанный чекаут), а не что покупатели передумали. Все пороги меняются в настройках.
Pro: автоматизация и уведомления
- Автоматическое применение: когда банк подтверждает полную оплату в валюте заказа, заказ получает статус «оплачено» без клика — в том числе потерянный заказ без статуса, которого не видно в списке заказов.
- Уведомления на до 5 e-mail через почтовые настройки магазина и в Telegram (токен бота и ID чата): одно сообщение за прогон — что исправлено, что требует человека (недоплаты, холды), ошибки API (не чаще раза в 6 часов на банк) и падение способа оплаты (раз в 12 часов).
- Статус «неудачная оплата» — по желанию: когда проверки закончились, а последнее слово банка «отклонено» или «просрочено», заказ переходит из статуса ожидания платёжного модуля в его статус неудачной оплаты. По умолчанию выключено.
- CSV журнала — UTF-8 с BOM, открывается в Excel.
Как это работает — шаг за шагом
- Модуль берёт заказы, оплаченные одним из четырёх платёжных модулей, у которых журнал оплаты ещё «не оплачено»: без статуса (потерянные), в статусе ожидания платёжного модуля, в статусе нового заказа или в статусах, которые вы выбрали сами. Оплаченные и выполненные заказы не проверяются никогда.
- Первый запрос — через 15 минут после последнего изменения статуса, дальше всё реже, до раза в 12 часов; через 72 часа модуль перестаёт спрашивать.
- Запрос статуса идёт строго по документации банка: LiqPay —
action=status, monobank — статус счёта с токеном мерчанта, WayForPay —CHECK_STATUSс проверкой подписи ответа, Portmone —method=result. Ключи и секреты берутся из настроек платёжного модуля и расшифровываются так же, как это делает он сам. - Если банк подтверждает полную оплату в валюте заказа, модуль под блокировкой ещё раз перечитывает заказ и журнал оплаты, записывает оплату в журнал платёжного модуля и ставит статус «оплачено» через штатную историю заказа OpenCart — так же, как это делает уведомление банка: остатки, купоны и письма работают как обычно.
- Недоплата, другая валюта, холд, возврат — только запись в мониторе и журнале (и уведомление в Pro). Банк не ответил или ограничил частоту запросов — заказ перепрашивается позже, ничего не меняя.
Что под капотом
- Без правок ядра. Без OCMOD-патчей; пункт меню и строка на странице заказа добавляются событиями OpenCart. Одна библиотека классов одинакова в трёх сборках, код совместим с PHP 7.0.
- Собственные таблицы
oc_cc_paysync_check(состояние проверки каждого заказа) иoc_cc_paysync_log(журнал событий). Таблицы ядра не меняются; в журнале платёжного модуля обновляется только строка оплаченного заказа — условным запросом, так что параллельное уведомление банка не перезаписывается. - Банки по кругу. Прогон делит лимит запросов между банками и заканчивается за 35 с, даже когда банк отвечает медленно. HTTP 429 от банка ставит этот банк на паузу до конца прогона, не засчитывая попытку.
- Адрес проверки
index.php?route=extension/cc_paysync/cron.cron&key=…(в 3.x и 2.3 —extension/module/cc_paysync_cron/cron): без ключа — «403». Кнопки админки вызывают тот же адрес. - Лицензия живёт в отдельной группе настроек: «Сохранить» её не трогает.
- Деинсталляция снимает события и (OpenCart 4) задание планировщика, журнал и состояние проверок оставляет — повторная установка их видит. Для полного удаления удалите таблицы
oc_cc_paysync_*вручную.
Как установить
- OpenCart 4: Расширения → Установщик → загрузите
cc_paysync.ocmod.zip(имя архива не меняйте) и нажмите «Установить». OpenCart 3: Расширения → Установщик →cc_paysync-oc3.ocmod.zip. OpenCart 2.3: залейте содержимое папкиupload/изcc_paysync-oc2.ocmod.zipв корень магазина (FTP или файловый менеджер хостинга) — Установщик 2.3 без настроенного FTP файлы не копирует. - Расширения → Расширения → Модули → CatCode Payment Status Sync → «Установить».
- Продажи → «Сверка оплат». На карточках платёжных модулей должно быть «проверяется»; нажмите «Проверить все сейчас».
- Во вкладке «Расписание» скопируйте строку для cron хостинга (каждые 5–10 минут). В OpenCart 4 проверка и без неё запускается каждый час.
- Для Pro: вставьте лицензионный ключ из письма после оплаты или нажмите «Попробовать Pro 7 дней» во вкладке «Лицензия».
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Почему заказ «ожидает оплату», хотя деньги с карты списаны?
Статус «оплачено» ставит уведомление, которое банк отправляет на сайт после оплаты. Если сайт в этот момент был недоступен, адрес уведомлений изменили, запрос заблокировал файрвол или упал хостинг, банк деньги принял, а заказ так и висит. Модуль сам спрашивает банк о таких заказах и показывает, какие из них на самом деле оплачены.
С какими платёжными модулями он работает?
С платёжными модулями CatCode для OpenCart: LiqPay, Mono Acquiring (monobank), WayForPay и Portmone, сборки для 4.x, 3.x и 2.3. Ключи и журнал оплат модуль читает именно из них, поэтому модули других разработчиков не поддерживаются. Страница «Способы оплаты» считает долю оплаченных заказов для любого способа оплаты магазина.
Может ли модуль поставить «оплачено» по ошибке?
Статус ставится только тогда, когда банк возвращает успешный статус полной оплаты в валюте заказа. Перед применением банк запрашивается ещё раз, а заказ и журнал оплаты перечитываются под блокировкой. Недоплата, другая валюта, холд и возврат никогда не применяются — только показываются.
А если уведомление банка всё же придёт позже?
Модуль записывает оплату в журнал самого платёжного модуля, так что позднее уведомление тот считает уже обработанным: без второй строки в истории заказа и без второго письма. На тестах это проверено для всех четырёх платёжных модулей и для обратного порядка (сначала уведомление, потом модуль).
Как часто модуль спрашивает банк?
Первый запрос — через 15 минут после последнего изменения статуса, чтобы собственное уведомление банка успело дойти. Дальше всё реже: 10, 20, 40 минут … до раза в 12 часов, а через 72 часа запросы прекращаются. Оба срока меняются в настройках. В OpenCart 4 проверку каждый час запускает планировщик магазина; для более быстрой реакции — адрес для cron хостинга каждые 5–10 минут.
Лицензию нужно продлевать каждый год?
Нет. Для OpenCart это одна оплата, лицензия навсегда, одна на все три сборки: 4.x, 3.x и 2.3. Триал Pro стартует только по вашей кнопке. После триала сверка и кнопка «Применить оплату» работают дальше, выключаются только автоматизация, уведомления и слежение за способами оплаты.
Модуль меняет файлы OpenCart или витрину?
Нет. Без правок ядра и OCMOD-патчей; пункт меню и строка на странице заказа добавляются событиями OpenCart. Витрины и оформления заказа модуль не касается, таблицы ядра не меняет. Ключи банков используются только для запроса статуса платежа.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—
