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 часов в рабочее время.
Покупка модуля
—