Связаться
Payments · OpenCart

EasyPay для OpenCart — оплата картой, Apple Pay и Google Pay

Модуль EasyPay для OpenCart 2.3, 3.x и 4.x: оплата картой, Apple Pay и Google Pay, статус заказа со сверкой через API EasyPay, защита от недоплаты, тестовый режим без договора. Pro — журнал платежей, возвраты, сверка, напоминание о неоплате и таймер оплаты.

Скачать бесплатно
Версия
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Совместимость
OpenCart 2.3.0.x, 3.0.x и 4.0.2 – 4.1.x
Платформа
OpenCart
EasyPay для OpenCart — оплата картой, Apple Pay и Google Pay

Что включено в лицензии

Функция 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 в чекауте OpenCart
Шаг оплаты в OpenCart 4: EasyPay как обычный способ оплаты и кнопка «Перейти к оплате». В тестовом режиме покупатель видит предупреждение, что деньги не списываются.
Страница оплаты EasyPay с номером заказа и суммой
Страница EasyPay: номер заказа, сумма в гривнах, Google Pay или Apple Pay, если они подключены. Данные карты вводятся на стороне EasyPay и не проходят через ваш сайт.

После оплаты EasyPay возвращает покупателя в магазин. Если оплата прошла, он попадает на страницу «Заказ оформлен». Если нет, заказ получает статус неудачной оплаты с причиной от банка, товары возвращаются в корзину, а сверху — подсказка попробовать ещё раз. Новая попытка уходит в EasyPay под новым номером, дублей не бывает.

Модуль показывается только для корзины в гривнах. Если покупатель переключил валюту магазина на доллары или евро, способ оплаты скрывается: EasyPay принимает только UAH.

Что получает админ

Настройки модуля EasyPay для OpenCart
Настройки: тестовый режим, PartnerKey, ServiceKey и SecretKey (хранится зашифрованным), готовый URL для уведомлений, Pro-лицензия и журнал запросов для отладки.
  • «Проверить ключи» отправляет подписанный служебный запрос к EasyPay. Ошибку модуль называет конкретно: не подходит SecretKey (EasyPay отклоняет подпись) или EasyPay не знает ServiceKey. О проблеме вы узнаете в админке, а не от покупателя.
  • Отдельные статусы заказа для «ожидает оплаты», «оплачено», «неудачная оплата» и «возврат» — на вкладке «Статусы заказов».
  • История заказа с номером транзакции EasyPay и причиной отказа банка. Недоплату видно сразу: «оплачено 3552.18 грн при сумме заказа 3553.18 грн — нужна проверка», и такой заказ в оплаченные не переходит.
  • Журнал платежей (Pro): все платежи EasyPay одним списком — сумма заказа, оплачено, возвращено, состояние в EasyPay рядом со статусом заказа, номер транзакции и карта. Там же кнопки «Сверить» и «Вернуть».
Журнал платежей EasyPay для OpenCart
Журнал платежей (Pro): оплаченный платёж с кнопкой «Вернуть», недоплата, ожидающая проверки, и полностью возвращённый платёж.
Pro-настройки EasyPay: напоминания и время на оплату
Вкладка Pro: EasyPay сам напомнит покупателю о неоплаченном заказе письмом и SMS или Viber через 15–20 минут, а таймер ограничивает, сколько минут страница оплаты принимает платёж.

Как это работает шаг за шагом

  1. Покупатель подтверждает заказ с оплатой EasyPay. Модуль создаёт заказ в EasyPay: номер попытки, сумму, описание, адрес для уведомлений и страницы возврата. Каждый запрос подписывается вашим SecretKey. Заказ получает статус «ожидает оплаты».
  2. Покупатель платит на странице EasyPay картой, Apple Pay или Google Pay.
  3. EasyPay отправляет уведомление на ваш сайт. Модуль проверяет подпись: неподписанный или поддельный запрос получает отказ, и заказ остаётся как был.
  4. Модуль сам запрашивает у EasyPay статус этого платежа запросом orderState. Тело уведомления нужно только для того, чтобы найти заказ.
  5. Сумма сверяется с суммой заказа. Если всё совпадает, заказ становится оплаченным, и в историю записывается номер транзакции. Если оплачено меньше — заказ остаётся на проверке с заметкой.
  6. Покупатель возвращается в магазин, и модуль ещё раз проверяет статус. Если уведомление задержалось, заказ закрывается здесь. Повторное уведомление дублем в истории не становится.

Сколько стоит

Бесплатная версия — 0 грн, навсегда и без лимитов на оборот. Pro — 990 грн единоразово. Лицензия на OpenCart действует навсегда, ежегодных платежей нет. Один ключ подходит к сборкам под 2.3, 3.x и 4.x; активаций две, то есть боевой магазин и тестовая копия.

Бесплатный 7-дневный триал EasyPay Pro в админке OpenCart
Триал Pro запускается прямо из настроек модуля: email — и ключ для этого сайта выдаётся сразу.

Прежде чем покупать, 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-правок. Таблица платежей при удалении модуля остаётся, историю не потеряете.

Как установить

  1. OpenCart 4.x: Расширения → Установка расширений → загрузите cc_easypay.ocmod.zip и нажмите «Установить». Далее Расширения → Оплата → «EasyPay — оплата картой, Apple Pay, Google Pay» → «Установить» → «Редактировать».
  2. OpenCart 3.x: Расширения → Установка расширений → загрузите cc_easypay-oc3.ocmod.zip, затем Расширения → Оплата → EasyPay → «Установить».
  3. OpenCart 2.3: штатный установщик 2.3 требует FTP, поэтому проще распаковать содержимое папки upload/ из архива cc_easypay-oc2.ocmod.zip в корень магазина. Затем Расширения → Оплата → EasyPay → «Установить».
  4. Для проверки включите «Тестовый режим» и проведите заказ до страницы оплаты EasyPay.
  5. Для реальных оплат выключите тестовый режим, впишите 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 — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.

@catcode_support

Не тот вариант, что искали?

Мы делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль