EasyPay для OpenCart — оплата карткою, Apple Pay і Google Pay
Модуль EasyPay для OpenCart 2.3, 3.x і 4.x: оплата карткою, Apple Pay і Google Pay, статус замовлення зі звіркою через API EasyPay, захист від недоплати, тестовий режим без договору. Pro — журнал платежів, повернення, звірка, нагадування про неоплату й таймер оплати.
Що включено в ліцензії
| Функція | Free | Pro |
|---|---|---|
| Оплата карткою Visa/Mastercard, Apple Pay і Google Pay на захищеній сторінці EasyPay | ✔ | ✔ |
| Статус замовлення — лише з відповіді orderState EasyPay: підроблене сповіщення нічого не змінить | ✔ | ✔ |
| Підпис запитів і сповіщень SecretKey, ключ зберігається зашифрованим | ✔ | ✔ |
| Захист від недоплати: сума з EasyPay звіряється з сумою замовлення | ✔ | ✔ |
| Замовлення закривається, навіть якщо сповіщення не дійшло, — коли покупець повертається в магазин | ✔ | ✔ |
| Причина відмови банку в історії замовлення, кошик відновлюється для нової спроби | ✔ | ✔ |
| Тестовий режим з публічними ключами EasyPay і перевірка ключів однією кнопкою | ✔ | ✔ |
| Окремі статуси для очікування, оплати, відмови й повернення | ✔ | ✔ |
| Спосіб оплати ховається для кошика не в гривні | ✔ | ✔ |
| Українська та англійська локалізація адмінки й вітрини | ✔ | ✔ |
| Журнал платежів зі станом в EasyPay поруч зі статусом замовлення | — | ✔ |
| Повернення коштів з адмінки, повне й часткове | — | ✔ |
| Звірка статусу платежу однією кнопкою | — | ✔ |
| Нагадування EasyPay про неоплачене замовлення листом і SMS/Viber | — | ✔ |
| Таймер оплати: скільки хвилин сторінка оплати приймає платіж | — | ✔ |
CatCode EasyPay — модуль оплати через EasyPay для OpenCart 2.3, 3.x і 4.x. Покупець платить карткою Visa/Mastercard, Apple Pay або Google Pay на захищеній сторінці EasyPay, а замовлення в магазині саме переходить в оплачений статус. EasyPay надсилає підписане сповіщення, модуль перевіряє підпис, окремо питає в EasyPay статус платежу і звіряє суму. Лише після цього замовлення стає оплаченим, тому підробити оплату запитом на сайт не вийде.
Базова версія безкоштовна і без обмежень за кількістю платежів: приймання оплати, сповіщення зі звіркою статусу, захист від недоплати і тестовий режим з публічними ключами EasyPay. Pro додає журнал платежів, повне й часткове повернення коштів з адмінки, звірку статусу однією кнопкою, нагадування EasyPay про неоплачене замовлення і таймер оплати.
Живе демо
Щоб подивитися модуль у роботі, договір з EasyPay не потрібен. Установіть безкоштовну версію й увімкніть «Тестовий режим»: модуль працює з публічним тестовим мерчантом EasyPay (easypay-test / MERCHANT-TEST). Оформіть замовлення у своєму магазині, і вас перекине на справжню тестову сторінку оплати EasyPay з номером замовлення й сумою. Реальні гроші не рухаються.
Скріни нижче зроблено під час наскрізного тесту на наших демо-магазинах OpenCart 4.x, OpenCart 3.x і OpenCart 2.3: чекаут, сторінка оплати, налаштування, журнал платежів і повернення.
Як це виглядає для покупця
У чекауті це звичайний спосіб оплати «Оплата карткою, Apple Pay, Google Pay (EasyPay)». Покупець підтверджує замовлення і тисне «Перейти до оплати». Модуль створює замовлення в EasyPay і відкриває сторінку оплати.


Після оплати EasyPay повертає покупця в магазин. Якщо оплата пройшла, він потрапляє на сторінку «Замовлення оформлено». Якщо ні, замовлення отримує статус невдалої оплати з причиною від банку, товари повертаються в кошик, а зверху — підказка спробувати ще раз. Нова спроба йде в EasyPay під новим номером, дублів не буває.
Модуль показується лише для кошика в гривнях. Якщо покупець перемкнув валюту магазину на долари чи євро, спосіб оплати ховається: EasyPay приймає тільки UAH.
Що отримує адмін

- «Перевірити ключі» надсилає підписаний службовий запит до EasyPay. Помилку модуль називає конкретно: не підходить SecretKey (EasyPay відхиляє підпис) або EasyPay не знає ServiceKey. Про проблему ви дізнаєтеся в адмінці, а не від покупця.
- Окремі статуси замовлення для «очікує оплати», «оплачено», «невдала оплата» і «повернення» — на вкладці «Статуси замовлень».
- Історія замовлення з номером транзакції EasyPay і причиною відмови банку. Недоплату видно одразу: «сплачено 3552.18 грн при сумі замовлення 3553.18 грн — потрібна перевірка», і таке замовлення в оплачені не переходить.
- Журнал платежів (Pro): усі платежі EasyPay одним списком — сума замовлення, сплачено, повернено, стан в EasyPay поруч зі статусом замовлення, номер транзакції і картка. Там же кнопки «Звірити» і «Повернути».


Як це працює крок за кроком
- Покупець підтверджує замовлення з оплатою EasyPay. Модуль створює замовлення в EasyPay: номер спроби, суму, опис, адресу для сповіщень і сторінки повернення. Кожен запит підписується вашим SecretKey. Замовлення отримує статус «очікує оплати».
- Покупець платить на сторінці EasyPay карткою, Apple Pay або Google Pay.
- EasyPay надсилає сповіщення на ваш сайт. Модуль перевіряє підпис: непідписаний або підроблений запит отримує відмову, і замовлення лишається як було.
- Модуль сам питає в EasyPay статус цього платежу запитом orderState. Тіло сповіщення потрібне лише, щоб знайти замовлення.
- Сума звіряється із сумою замовлення. Якщо все збігається, замовлення стає оплаченим, і в історію записується номер транзакції. Якщо сплачено менше — замовлення лишається на перевірці з нотаткою.
- Покупець повертається в магазин, і модуль ще раз перевіряє статус. Якщо сповіщення затрималось, замовлення закривається тут. Повторне сповіщення дублем в історії не стає.
Скільки коштує
Безкоштовна версія — 0 грн, назавжди і без лімітів на оборот. Pro — 990 грн одноразово. Ліцензія на OpenCart діє назавжди, щорічних платежів немає. Один ключ підходить до збірок під 2.3, 3.x і 4.x; активацій дві, тобто бойовий магазин і тестова копія.

Перш ніж купувати, Pro можна увімкнути на 7 днів: вводите email і отримуєте ключ для цього сайту. Картка не потрібна, нічого не продовжується саме. Після тріалу закриваються лише Pro-функції, а приймання оплати працює далі.
Технічні вимоги
- OpenCart 2.3.0.x, 3.0.x або 4.0.2 – 4.1.x; PHP 7.0+ для 2.3, для 3.x і 4.x — версія, яку вимагає ваш OpenCart.
- Розширення PHP cURL, вихідні HTTPS-запити з сервера.
- Сайт доступний з інтернету по HTTPS, щоб до нього доходили сповіщення EasyPay (без basic-auth).
- Валюта кошика — гривня (UAH).
- Договір з EasyPay для реальних оплат: PartnerKey, ServiceKey і SecretKey видає менеджер EasyPay. Для тестового режиму ключі не потрібні.
Що під капотом
- Підпис у обидва боки: base64(SHA-256) від SecretKey і тіла запиту, перевірка сповіщень — порівнянням за сталий час. SecretKey зберігається в базі зашифрованим і не показується у формі.
- Статус береться з EasyPay (orderState), а не зі сповіщення. Відмову банку модуль розпізнає навіть тоді, коли EasyPay повертає її разом із блоком помилки, і записує причину в історію замовлення.
- Унікальні номери спроб: номер замовлення плюс випадковий суфікс. Відхилена стара спроба не зачепить уже оплачене замовлення, а оплачена стара спроба зарахується, навіть якщо покупець відкрив нову.
- Запобіжники: пізнє сповіщення не відкотить оплачене замовлення, «Назад» після оплати не створить другий платіж, недоплата не стане оплатою, повторне сповіщення не продублює запис.
- Повернення (Pro) рахуються накопичувально: від’ємна сума, сміття чи сума понад залишок відсікаються ще до запиту в EasyPay, а після повного повернення замовлення отримує статус «Повернено».
- Ядро OpenCart не патчиться: у 4.x модуль ставиться як звичайне розширення, у 3.x і 2.3 — без ocmod-правок. Таблиця платежів при видаленні модуля лишається, історію не втратите.
Як встановити
- OpenCart 4.x: Розширення → Встановлення розширень → завантажте
cc_easypay.ocmod.zipі натисніть «Встановити». Далі Розширення → Оплата → «EasyPay — оплата карткою, Apple Pay, Google Pay» → «Встановити» → «Редагувати». - OpenCart 3.x: Розширення → Встановлення розширень → завантажте
cc_easypay-oc3.ocmod.zip, потім Розширення → Оплата → EasyPay → «Встановити». - OpenCart 2.3: штатний інсталятор 2.3 вимагає FTP, тому простіше розпакувати вміст папки
upload/з архівуcc_easypay-oc2.ocmod.zipу корінь магазину. Потім Розширення → Оплата → EasyPay → «Встановити». - Для перевірки увімкніть «Тестовий режим» і проведіть замовлення до сторінки оплати EasyPay.
- Для реальних оплат вимкніть тестовий режим, впишіть PartnerKey, ServiceKey і SecretKey, натисніть «Перевірити ключі» і збережіть. Адресу для сповіщень модуль передає сам з кожним платежем.
Історія версій
1.0.0 — перший реліз для OpenCart 2.3, 3.x і 4.x. Оплата через EasyPay Merchant API: картка, Apple Pay, Google Pay. Підписані сповіщення з перевіркою статусу через orderState, захист від недоплати й повторних сповіщень, причина відмови банку в історії замовлення, тестовий режим з публічними ключами, перевірка ключів. У Pro — журнал платежів, повне й часткове повернення з адмінки, звірка статусу, нагадування EasyPay про неоплачене замовлення листом і SMS/Viber, таймер оплати.
Часті питання
Чи потрібна ліцензія, щоб приймати оплати?
Ні. Оплата, сповіщення, звірка суми й тестовий режим працюють у безкоштовній версії без обмежень.
Потрібен договір з EasyPay?
Для реальних оплат — так. Для перевірки вистачить тестового режиму з публічним тестовим мерчантом EasyPay, він вмикається одним перемикачем.
Покупець оплатив, а замовлення все ще «очікує оплати».
Перевірте, що сайт доступний з інтернету по HTTPS, а «Перевірити ключі» показує успіх. Навіть без сповіщення замовлення підтягне статус, коли покупець повернеться в магазин. У Pro достатньо натиснути «Звірити» в журналі.
Можна повернути частину суми?
У Pro — так, з журналу платежів: кілька часткових повернень, а залишок — однією кнопкою.
Дані картки проходять через мій сайт?
Ні. Картка вводиться на сторінці EasyPay, на ваш сервер приходить лише підписане сповіщення, а статус модуль бере в EasyPay.
Ліцензію треба продовжувати щороку?
Ні. Для OpenCart ліцензія назавжди: оплачуєте один раз.
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Купівля модуля
—