Оплата через HUMO и UZCARD
Этот модуль входит в нашу Подписку.
Оформите подписку — и пользуйтесь всеми модулями без ограничений.
Оплата через HUMO и UZCARD добавляет в CS-Cart приём платежей по банковским картам платёжных систем Узбекистана. Покупатель вводит данные карты, подтверждает операцию SMS-кодом, а магазин получает управляемый платёжный сценарий с холдом, подтверждением списания и возвратом средств из заказа.
Для чего нужен
Модуль подходит магазинам, которые продают в Узбекистане или принимают оплату от покупателей с картами HUMO и UZCARD. Он помогает подключить локальный платёжный шлюз к стандартному оформлению заказа CS-Cart и управлять ключевыми этапами оплаты из админки магазина.
Основные возможности
[+] Добавляет платёжный процессор «HUMO и UZCARD» для способов оплаты CS-Cart.
[+] Поддерживает тестовый и рабочий режимы подключения к шлюзу.
[+] Использует данные терминала, мерчанта, логин и пароль, выданные платёжным провайдером.
[+] Проверяет регистрацию терминала и позволяет инициировать регистрацию из настроек способа оплаты.
[+] Отправляет покупателю SMS-подтверждение и принимает код на отдельной странице оплаты.
[+] Резервирует сумму платежа на карте покупателя через hold-сценарий.
[+] Позволяет настроить статус оплаченного заказа и статус, при переходе в который выполняется подтверждение списания.
[+] Добавляет кнопку возврата средств в заказе, если по платежу есть активный hold.
[+] В тестовом режиме ведёт журнал запросов и ответов шлюза для диагностики.
Как работает
Администратор создаёт способ оплаты на базе процессора HUMO и UZCARD, указывает параметры терминала и выбирает статусы заказа. При оформлении заказа модуль отправляет данные карты в шлюз, получает токен карты, показывает покупателю форму ввода SMS-кода и после успешной проверки создаёт hold на сумму заказа.
Когда заказ переводится в выбранный статус подтверждения, модуль отправляет запрос на списание средств из холда. Если нужно отменить оплату до списания, администратор может выполнить возврат из карточки заказа — модуль снимет hold и зафиксирует действие в журнале заказа.
Остались вопросы по работе модуля?
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Вендорам
- Владельцам
- Покупателям
- English
- Русский
- 4.18.X
- 4.17.X
- 4.16.X
- 4.15.X
- 4.14.X
- 4.13.X
- 4.12.X
Инструкция к модулю Оплата через HUMO и UZCARD
Что делает модуль
Модуль добавляет в CS-Cart платёжный процессор «HUMO и UZCARD» для приёма оплат банковскими картами платёжных систем Узбекистана. Оплата проходит через JSON-RPC шлюз QRPay: в тестовом режиме используется http://testagent.qrpay.uz/api/jsonrpc, в рабочем режиме — https://agent.qrpay.uz/api/jsonrpc.
Платёжный сценарий построен через hold: после SMS-подтверждения сумма заказа резервируется на карте покупателя, а окончательное списание выполняется при переводе заказа в настроенный статус подтверждения.
Где находится модуль
Основная настройка режима находится в карточке модуля: Модули → Управление модулями → Оплата через HUMO и UZCARD. В разделе «Общее» доступен параметр Режим теста.
Параметры подключения задаются в способе оплаты: Администрирование → Способы оплаты, процессор HUMO и UZCARD. В блоке «Настройки шлюза» заполняются реквизиты терминала и статусы заказа.
Настройки модуля
Режим теста — если включён, модуль отправляет запросы на тестовый адрес шлюза и дополнительно пишет журнал запросов и ответов. Если выключен, используются рабочие адреса QRPay.
Настройки способа оплаты
Логин и Пароль — учётные данные для Basic Auth при обращении к шлюзу.
ID терминала — идентификатор терминала, выданный платёжным провайдером.
Номер мерчанта — merchant ID магазина в платёжной системе.
Название терминала и Порт — технические параметры регистрации терминала. В интерфейсе они скрыты и по умолчанию заполняются случайным значением, если ранее не были сохранены.
Статус оплаченного заказа — статус, который получает заказ после успешной проверки SMS-кода и создания hold.
Статус подтвержденного заказа — статус, при переходе в который модуль выполняет списание средств из hold.
Статус терминала — результат проверки терминала в шлюзе. Если терминал не зарегистрирован, модуль показывает кнопку регистрации.
Регистрация и проверка терминала
После заполнения логина, пароля, ID терминала и номера мерчанта модуль автоматически проверяет терминал запросом terminal.check. Если шлюз отвечает успешно, поле статуса показывает «Зарегистрирован».
Если терминал не найден, становится доступна кнопка «Зарегистрировать». Она отправляет запрос terminal.add с данными терминала, мерчанта, порта и названия терминала.
Как проходит оплата
Покупатель выбирает способ оплаты HUMO и UZCARD и вводит данные карты. Модуль отправляет запрос на токенизацию карты и инициирует SMS-подтверждение.
После ввода SMS-кода модуль проверяет код через шлюз. При успешной проверке он получает баланс по токену карты, сравнивает его с суммой заказа и создаёт hold на сумму заказа. Сумма передаётся в тийинах — модуль умножает сумму заказа на 100.
Если hold создан успешно, заказ получает статус из настройки «Статус оплаченного заказа», а идентификатор hold сохраняется в параметрах способа оплаты.
Подтверждение списания
Когда заказ переводится в статус, выбранный в настройке «Статус подтвержденного заказа», модуль отправляет запрос hold.dismiss.charge. После успешного ответа hold удаляется из параметров оплаты, а средства считаются списанными.
Возвраты
Если у платежа есть активный hold, в карточке заказа появляется кнопка «Вернуть средства клиенту». При подтверждении модуль отправляет запрос hold.dismiss, удаляет hold из параметров оплаты, переводит заказ в статус «Отменён» и добавляет запись в журнал заказа.
Отдельного сценария возврата уже списанных средств в коде модуля не предусмотрено: кнопка работает именно с активным hold до подтверждения списания.
Webhook и callback
Внешний webhook от платёжной системы в модуле не настраивается. Callback используется внутри CS-Cart для страницы ввода SMS-кода: покупатель отправляет код на URL вида payment_notification.frame, после чего CS-Cart завершает оформление заказа.
Чеки и фискализация
В коде модуля нет отдельных настроек фискализации, 54-ФЗ или DigitalKassa. Если магазину нужны чеки, используйте отдельную фискальную интеграцию CS-Cart и проверьте требования платёжного провайдера.
Журналы и диагностика
При ошибках шлюза модуль пишет данные в файл app/addons/ms_humo_uzcard/Tygh/Addons/MsHumoUzcard/logs/error_log.txt. В тестовом режиме дополнительно пишется файл resp_req_log.txt с запросами и ответами.
Если платёж не проходит, проверьте режим работы, логин, пароль, ID терминала, номер мерчанта, статус регистрации терминала и ответ шлюза в журнале.
Как проверить работу
Включите тестовый режим, заполните реквизиты способа оплаты и убедитесь, что терминал получил статус «Зарегистрирован».
Создайте тестовый заказ и оплатите его способом HUMO и UZCARD. Проверьте, что покупателю показана форма ввода SMS-кода, после успешного ввода заказ получает выбранный статус оплаченного заказа, а в данных оплаты сохраняется transaction ID/hold ID.
Переведите заказ в статус подтверждения и убедитесь, что модуль выполнил списание из hold. Для проверки отмены создайте новый заказ с активным hold и используйте кнопку «Вернуть средства клиенту» до подтверждения списания.
История изменений
v1.3.6 от 03.08.2023
[*] Изменены короткие теги <? на обычные <?php
v1.3.5 от 07.02.2023
[*] Стандартизирован код модуля
v1.3.4 от 03.12.2021
[!] Исправлены ошибки
v1.0.3 от 13.04.2021
[+] Первое издание
Обозначения:
[+] Добавлено
[-] Удалено
[*] Изменено
[!] Исправлена ошибка
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.