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