Зв'язатись
  • OpenCart
  • Оплата
  • v1.0.1

Payment Status Sync для OpenCart — звірка «очікує оплату» з банком: LiqPay, monobank, WayForPay, Portmone

Модуль для OpenCart 4, 3 і 2.3 знаходить замовлення, які досі «очікують оплату», хоча банк гроші вже прийняв: сповіщення банку не дійшло до магазину. Він сам питає статус платежу в LiqPay, monobank (Mono Acquiring), WayForPay і Portmone через їхні офіційні API і показує кожну розбіжність із кнопкою «Застосувати оплату». Працює з нашими платіжними модулями й бере ключі з них. Pro ставить статус «оплачено» сам і надсилає сповіщення на e-mail і в Telegram.

Завантажити Free
Pro · ліцензія назавжди Чим більше сайтів, тим дешевше кожен
Сумісність
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
Або всі 173 Pro-модулів з All Access — 4 990 ₴ / рік

Що є в Free,
а що дає Pro

Безкоштовна версія працює без обмеження в часі. Pro додає решту функцій з таблиці.

Функція Free Pro
Звірка замовлень «очікує оплату» зі статусом платежу в LiqPay, monobank (Mono Acquiring), WayForPay і Portmone через їхні офіційні API ✔ ✔
Ключі — з налаштувань наших платіжних модулів, вдруге вводити не треба ✔ ✔
Монітор: «Потребує уваги», «Очікують», «Закриті», плитки й картки чотирьох платіжних модулів ✔ ✔
Кнопка «Застосувати оплату»: банк питається ще раз, статус ставиться через штатну історію замовлення ✔ ✔
Недоплата, інша валюта, холд і повернення лише показуються, статус замовлення не змінюється ✔ ✔
Знаходить і втрачені замовлення без статусу, яких не видно в списку замовлень ✔ ✔
Фонова перевірка: планувальник OpenCart 4 і адреса з секретним ключем для cron хостингу ✔ ✔
Рядок на сторінці замовлення з відповіддю банку й кнопкою «Запитати банк зараз» ✔ ✔
Пункт меню Продажі → «Звірка оплат» з лічильником ✔ ✔
Сторінка «Способи оплати»: частка оплачених замовлень для кожного способу оплати магазину й позначка падіння ✔ ✔
Журнал подій ✔ ✔
Адмінка українською, російською й англійською, збірки для OpenCart 4.x, 3.x і 2.3 ✔ ✔
Автоматичне застосування підтверджених оплат без кліку, зокрема для втрачених замовлень — ✔
Сповіщення на e-mail і в Telegram: виправлені замовлення, недоплати, холди, помилки API — ✔
Сповіщення, коли спосіб оплати раптом перестає давати оплачені замовлення — ✔
Статус «невдала оплата» для оплат, які банк відхилив, після кінця перевірок (вмикається окремо) — ✔
Експорт журналу в CSV — ✔

Як це виглядає

Монітор модуля Payment Status Sync в OpenCart 4.1: плитки, картки платіжних модулів і замовлення, які банк уже оплатив
Монітор (OpenCart 4.1, безкоштовна версія, демо-замовлення й тестовий банк): чотири замовлення потребують уваги. LiqPay #201 і WayForPay #203 банк підтвердив, а замовлення досі «Pending» — поряд кнопка «Apply payment». Portmone #204 — недоплата (600 з 900 грн), monobank #202 — гроші заблоковано (холд): їх модуль лише показує.
Рядок модуля на сторінці замовлення OpenCart: що відповів банк і кнопки «Запитати банк зараз» і «Застосувати оплату»
Сторінка замовлення #203: WayForPay підтверджує оплату («Approved», 300 грн), а замовлення досі чекає. Кнопка «Ask the bank now» питає банк просто зараз, «Apply payment» ставить статус «оплачено».
Сторінка «Способи оплати»: частка оплачених замовлень за останні 24 години проти 14 днів до того
«Способи оплати»: для кожного способу оплати магазину — частка замовлень, що дійшли до оплаченого статусу, за останні 24 години проти 14 днів до того. Спосіб позначається «Падіння», коли частка падає на 25 пунктів і більше.

Головне про модуль

Як це виглядає для покупця

На вітрині й в оформленні замовлення нічого не змінюється: модуль не додає скриптів і не робить запитів зі сторінок магазину.

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

Пункт меню Продажі → «Звірка оплат» з лічильником замовлень, що потребують уваги, і сторінки «Монітор», «Способи оплати», «Журнал», «Налаштування».

Тріал стартує, коли ви попросите

Свіжий інстал — безкоштовна версія, нічого не вмикається само. Кнопка «Спробувати 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 — у вкладці «Розклад».

Історія версій

v1.0.1 Поточна 10 жовтня 2026

OpenCart 4.0.2 з драйвером бази даних PDO: прогін звірки зупинявся з помилкою SQL 1064 — виправлено.

v1.0.0 Перший реліз 10 жовтня 2026

Для OpenCart 4.x, 3.x і 2.3: звірка замовлень «очікує оплату» з API LiqPay, monobank (Mono Acquiring), WayForPay і Portmone, монітор, кнопка «Застосувати оплату», рядок на сторінці…

Разом з Payment Status Sync для OpenCart купують

4 модулі одним замовленням — на 40% дешевше, ніж окремо

Набір «Старт магазину» Payment Status Sync Nova Poshta Premium LiqPay Telegram-сповіщення і Viber/SMS покупцям Потрібно більше — усі 173 модулі в All Access за 4 990 ₴.
3 790 ₴ назавжди замість 6 260 ₴ поштучно
Купити набір →

Повний опис модуля

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.

Як це працює — крок за кроком

  1. Модуль бере замовлення, оплачені одним із чотирьох платіжних модулів, у яких журнал оплати ще «не оплачено»: без статусу (втрачені), у статусі очікування платіжного модуля, у статусі нового замовлення або в статусах, які ви обрали самі. Оплачені й виконані замовлення не перевіряються ніколи.
  2. Перший запит — через 15 хвилин після останньої зміни статусу, далі дедалі рідше, до разу на 12 годин; через 72 години модуль припиняє питати.
  3. Запит статусу йде строго за документацією банку: LiqPay — action=status, monobank — статус рахунку з токеном мерчанта, WayForPay — CHECK_STATUS з перевіркою підпису відповіді, Portmone — method=result. Ключі й секрети беруться з налаштувань платіжного модуля і розшифровуються так само, як це робить він сам.
  4. Якщо банк підтверджує повну оплату у валюті замовлення, модуль під блокуванням ще раз перечитує замовлення і журнал оплати, записує оплату в журнал платіжного модуля і ставить статус «оплачено» через штатну історію замовлення OpenCart — так само, як це робить сповіщення банку: залишки, купони й листи працюють як завжди.
  5. Недоплата, інша валюта, холд, повернення — лише запис у моніторі й журналі (і сповіщення в 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_* вручну.

Як встановити

  1. 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 файлів не копіює.
  2. Розширення → Розширення → Модулі → CatCode Payment Status Sync → «Встановити».
  3. Продажі → «Звірка оплат». На картках платіжних модулів має бути «перевіряється»; натисніть «Перевірити всі зараз».
  4. У вкладці «Розклад» скопіюйте рядок для cron хостингу (кожні 5–10 хвилин). В OpenCart 4 перевірка й без нього запускається щогодини.
  5. Для Pro: вставте ліцензійний ключ із листа після оплати або натисніть «Спробувати Pro 7 днів» у вкладці «Ліцензія».

Питання
про модуль

Не знайшли відповідь? Напишіть у Telegram — відповімо протягом робочого дня.

@catcode_support Налаштування, сумісність, активація
Чому замовлення «очікує оплату», хоча гроші з картки списано?

Статус «оплачено» ставить сповіщення, яке банк надсилає на сайт після оплати. Якщо сайт у цю мить був недоступний, адресу сповіщень змінили, запит заблокував фаєрвол чи впав хостинг, банк гроші прийняв, а замовлення так і висить. Модуль сам питає банк про такі замовлення і показує, які з них насправді оплачені.

З якими платіжними модулями він працює?

З платіжними модулями 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. Вітрини й оформлення замовлення модуль не торкається, таблиці ядра не змінює. Ключі банків використовуються лише для запиту статусу платежу.

Не той варіант, що шукаєте?

Робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль