
Portmone для OpenCart — оплата картой, Apple Pay и Google Pay
Принимайте оплату картой, Apple Pay и Google Pay в OpenCart 2.3, 3.x и 4.x через Portmone.com: заказ подтверждается только после запроса статуса в Portmone, уведомления JSON и XML, защита от недоплаты. Pro — журнал платежей, возврат средств и двухстадийная оплата.
- Совместимость
- OpenCart 2.3.0.x, 3.0.x и 4.0.2 – 4.1.x
- PHP
- 7.0 и новее
- Версия
-
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3) - Лицензия
- два сайта, навсегда
- Триал
- 7 дней, без карты, один на сайт
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — два сайта
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.
Технические требования
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 (без basic-auth), чтобы до него доходили уведомления Portmone.
Валюта корзины — UAH, USD, EUR, GBP, PLN или KZT.
Договор с Portmone.com: Payee ID, логин и пароль магазина. Ключ подписи нужен только тогда, когда Portmone включил подпись для вашего магазина.
История версий
Для OpenCart 2.3, 3.x и 4.x.
Вместе с Portmone для 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
Полное описание модуля
CatCode Portmone — модуль оплаты через Portmone.com для OpenCart 2.3, 3.x и 4.x. Покупатель платит картой, Apple Pay или Google Pay на странице Portmone, а заказ в магазине сам переходит в оплаченный статус. Главное отличие от обычного «редирект и поверили на слово»: модуль не верит ни возврату покупателя, ни уведомлению — прежде чем отметить заказ оплаченным, он сам спрашивает у Portmone статус и сверяет сумму.
Как это выглядит для покупателя
В чекауте это обычный способ оплаты «Оплата картой, Apple Pay, Google Pay (Portmone)». Покупатель подтверждает заказ и жмёт «Перейти к оплате» — модуль создаёт счёт в Portmone и открывает страницу оплаты.
После оплаты Portmone возвращает покупателя в магазин. Модуль игнорирует то, что пришло в адресе или в POST, и запрашивает статус у Portmone логином и паролем магазина. Если оплата прошла — «Ваш заказ принят», если нет — заказ получает статус неудачной оплаты, товары возвращаются в корзину, а сверху появляется подсказка попробовать ещё раз.
Повторная попытка уходит в Portmone под новым номером, а предыдущий счёт модуль закрывает запросом closeInvoice, чтобы один заказ не оплатили дважды. Если покупатель уже оплатил и нажал «Назад», он попадает на страницу успеха, а не на вторую оплату.
Способ оплаты показывается только для валют, которые принимает Portmone: UAH, USD, EUR, GBP, PLN и KZT. Переключил покупатель магазин на другую валюту — Portmone прячется сам.
Что получает админ
- «Проверить соединение» — модуль делает запрос статуса вашими данными, а если указан ключ подписи, ещё и создаёт тестовый счёт на 1 грн и сразу его закрывает. Ошибку в пароле или ключе вы увидите в админке, а не от покупателя.
- Шесть статусов заказа на отдельной вкладке: «ожидает оплаты», «оплачено», «средства заблокированы», «блокировка снята», «неудачная оплата» и «возврат».
- История заказа с номером счёта Portmone, маской карты, кодом авторизации и результатом каждой сверки. Недоплату видно сразу, и такой заказ в оплаченные не переходит.
- Время на оплату — сколько минут ссылка остаётся действительной, и гео-зона, если Portmone нужен не для всех стран.
- Журнал платежей (Pro) — все платежи одним списком: сумма заказа, оплачено, возвращено, состояние в Portmone рядом со статусом заказа, номер счёта и карта, кнопки «Сверить» и «Вернуть».
Как это работает шаг за шагом
- Покупатель в чекауте выбирает Portmone и подтверждает заказ. Модуль создаёт счёт в Portmone с уникальным номером попытки, суммой и валютой заказа. Если Portmone выдал вам ключ подписи, запрос подписывается HMAC-SHA256. Заказ получает статус «ожидает оплаты».
- Покупатель платит на странице Portmone — картой, Apple Pay, Google Pay или другими способами, включёнными для вашего магазина.
- Покупатель возвращается в магазин (Portmone делает это POST-запросом с другого домена). Модуль запрашивает статус у Portmone через
resultи только по этому ответу решает, что случилось с деньгами. - Сверка суммы и принадлежности: номер должен быть выдан именно этому заказу, Payee ID — вашим, сумма — не меньше суммы заказа. Если оплачено меньше, заказ остаётся на проверке с заметкой для менеджера.
- Заказ переходит в выбранный статус, а в историю попадают номер счёта, маска карты и код авторизации.
- Если покупатель закрыл вкладку и не вернулся, сработает уведомление Portmone на адрес из настроек — JSON или XML. Уведомлению модуль тоже не верит на слово: статус перезапрашивается через API, а повторное уведомление не дублирует запись в истории.
- Повторная попытка закрывает предыдущий счёт, так что два платежа за один заказ не пройдут.
- В режиме двухстадийной оплаты (Pro) средства только блокируются на карте. Списываете их из журнала, когда заказ готов к отгрузке, или снимаете блокировку. Платёжные системы держат блокировку до 7 дней.
Что под капотом
- Статус — только из API Portmone. Возврат покупателя, уведомление и кнопка «Сверить» ведут в одну точку: запрос
resultс логином и паролем магазина. Подделать оплату запросом на сайт не выйдет. - Уникальные номера попыток: номер заказа плюс счётчик и случайный суффикс. Отклонённая старая попытка не тронет уже оплаченный заказ, а оплаченная старая попытка засчитается, даже если покупатель открыл новую.
- Сессия покупателя не теряется: Portmone возвращает покупателя POST-запросом с другого домена, и OpenCart на таком запросе открывал новую сессию — корзина и авторизация исчезали. Модуль на таком возврате не даёт перезаписать сессионную куку.
- OpenCart 4.1: если ядро аннулировало ещё не оформленный заказ, пока покупатель перезагружал чекаут, модуль пересобирает его из текущей корзины, а не отказывает в оплате.
- Тексты модуля не перетираются языковыми файлами других расширений, которые грузятся событиями на смену статуса заказа.
- Пароль и ключ подписи шифруются в базе (AES-256-CBC с проверкой целостности), в журнале запросов пароль маскируется.
- Свой код расширения
cc_portmone: официальный модуль Portmone может стоять рядом — настройки и таблицы разные. - Ядро OpenCart не патчится: в 4.x модуль ставится как обычное расширение, в 3.x и 2.3 — без ocmod-правок ядра. Таблица платежей при удалении модуля остаётся, чтобы возвраты и блокировки не потерялись.
- Pro-гейт без «кирпича»: когда триал закончился, останавливаются только Pro-функции, а списать или разблокировать уже заблокированные средства можно и дальше.
Как установить
- OpenCart 4.x: Расширения → Установка расширений → загрузите
cc_portmone.ocmod.zipи нажмите «Установить». Далее Расширения → Оплата → «Portmone — оплата картой, Apple Pay, Google Pay» → «Установить» → «Редактировать». - OpenCart 3.x: Расширения → Установка расширений → загрузите
cc_portmone-oc3.ocmod.zip, обновите модификации, затем Расширения → Оплата → Portmone → «Установить». - OpenCart 2.3: штатный установщик 2.3 копирует файлы только по FTP, поэтому проще распаковать содержимое папки
upload/из архиваcc_portmone-oc2.ocmod.zipв корень магазина. Затем Расширения → Оплата → Portmone → «Установить». - Впишите Payee ID, логин и пароль магазина (и ключ подписи, если Portmone его выдал), нажмите «Проверить соединение» и сохраните.
- Отправьте менеджеру Portmone адрес для уведомлений — он показан в настройках модуля.
- Для Pro: вставьте лицензионный ключ из письма после оплаты или запустите 7-дневный триал.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Нужна ли лицензия, чтобы принимать оплаты?
Нет. Оплата, уведомления, сверка статуса и суммы работают в бесплатной версии без ограничения по времени.
Нужен договор с Portmone?
Да. Payee ID, логин и пароль магазина выдаёт Portmone при подключении. Тестовый режим для магазина включает менеджер Portmone — отдельных тестовых ключей модулю не нужно.
Покупатель оплатил, а заказ всё ещё «ожидает оплаты».
Статус проверяется при возврате покупателя и на каждое уведомление. Проверьте, что «Проверить соединение» проходит и что Portmone отправляет уведомления на адрес из настроек. С Pro статус можно сверить из журнала одним кликом.
Данные карты проходят через мой сайт?
Нет. Карта вводится на странице Portmone, на ваш сервер приходит только уведомление, а статус модуль берёт у Portmone.
У меня уже стоит официальный модуль Portmone. Будет конфликт?
Нет, у модулей разные коды расширения и разные настройки. Показывать в чекауте стоит только один из них.
Можно вернуть часть суммы?
В Pro — да, из журнала платежей: несколько частичных возвратов, а остаток одной кнопкой. Portmone советует делать возврат не раньше чем через 24 часа после оплаты.
Лицензию нужно продлевать каждый год?
Нет. Для OpenCart лицензия навсегда: оплачиваете один раз.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—