msKspay

Оплата через платёжный шлюз KSNET KSPay для miniShop2
Автор дополнения
Артур Шевченко
Пакетов
31
Закачек
3 502
Обычно отвечает в течение суток
Автор дополнения
Пакетов
31
Закачек
3 502
Обычно отвечает в течение суток
Версия 1.0.5-rc
Дата выпуска 05.08.2026
Загрузки 0
Просмотры 124
Внимание, этот компонент несовместим с MODX 3.
Что делает
  • Добавляет в miniShop2 оплату банковской картой через шлюз KSNET KSPay.
  • Покупатель платит на защищённой стороне шлюза, карточные данные на сайт не попадают.
  • Результат оплаты меняет статус заказа автоматически.
Особенности
  • Ассеты подключаются с версионированием по времени изменения файла — после обновления пакета браузер не отдаёт покупателю старый скрипт из кэша.
  • Логирование через mxLogger с настраиваемым уровнем: от полной отладки до только ошибок.
  • Ключи и режим работы — в системных настройках MODX.
Требования
  • MODX Revolution 2.8+, PHP 7.4+
  • miniShop2 4.0+
  • Договор с KSNET и доступ к KSPay

1.0.5-rc

  • FEATURE: Версионирование ассетов (cache-busting). К URL css/js в плагине OnLoadWebDocument добавляется ?v=. Версия меняется автоматически при любой правке mskspay.css / mskspay.js — ручной бамп не нужен. Если файл недоступен (@filemtime вернул false), параметр не добавляется.

1.0.4-rc

  • Логирование переведено на mxLogger. Logger делегирует записи сервису mxLogger (если установлен), иначе молчит и один раз предупреждает в журнале MODX. Перевод затронул: msKspay, ms2-handler, KspayApi, KspaySocket, PluginHandler, msOnChangeOrderStatus.
  • Гейты: msksp_debug (вкл/выкл) + новая настройка msksp_log_level (минимальный уровень debug|info|warning|error, по умолчанию error; единый приёмник mxLogger, включено из коробки). Консистентно с mxLogger.min_level.
  • Тэги: базовые mskspay + payment, этапные init (инициация/iframe), callback (приём ответа KSNET + KspaySocket), cancel (отмена/возврат), http (REST API). Воронка processuid = «mskspay»+md5(orderId).
  • Уровни: ошибки API/отмены — error; отказ оплаты (authyn!=Y) — warning; инициация, подтверждение, отмена — info; запросы/сокет — debug. getResponse — skip=2 для «Источника».
  • ВАЖНО: критичные ошибки callback (assets/.../payment/mskspay.php) и предупреждение «отмена без рефанда» оставлены в журнале MODX безусловно (не за гейтом msksp_debug) — чтобы не терять видимость отказов платёжного вебхука при выключенном логировании.
  • Лексикон ru/en/ko (описание debug обновлено — логи теперь в mxLogger, не в файлах).
  • ВНИМАНИЕ: перед сборкой настройку msksp_log_level создать в менеджере (namespace mskspay) — сборка тянет настройки из БД стенда.

1.0.3-rc

  • Исправлена загрузка адреса заказа (msOrderAddress по order_id, не по несуществующей колонке address).
  • Исправлен вызов несуществующего miniShop2->loadPaymentHandler в connector.php — заменён на стандартный паттерн msPayment+loadCustomClasses.
  • Добавлено обязательное поле sndPaymethod=1 (карта) в WebHost-параметры.
  • Исправлен регистр sndCharSet: utf-8 → UTF-8 (case-sensitive у KSNET).
  • Fallback sndOrdername через firstname+lastname из properties, если receiver пуст.
  • cancelPendingOrder: при повторном оформлении из той же сессии старый неоплаченный заказ удаляется, корзина восстанавливается.
  • Корректная инициализация miniShop2 под контекстом заказа при отмене pending-заказа.
  • Вместо Callbacks.add — monkey-patch miniShop2.Order.submit (одноразовый, без накопления обёрток). Это позволяет корректно подавлять дефолтный redirect.
  • Убран блок retry на чекауте и соответствующие CSS-стили — повтор работает через нативный submit сайта.
  • Убран хардкод тестового MID 2999199999 — теперь MID всегда берётся из настройки msksp_mid.

1.0.2-rc

  • Отмена платежа теперь срабатывает автоматически при смене статуса заказа на «отменён» (msOnChangeOrderStatus).
  • Убран публичный метод cancelPayment из AJAX-коннектора.
  • API key опционален: если не указан — заказ отменяется локально, предупреждение пишется в журнал ошибок MODX.
  • Уточнено описание настройки msksp_api_key: ключ нужен только для отмены платежей через API.

1.0.1-rc

  • Автоподключение JS/CSS через плагин (OnLoadWebDocument). Ручное подключение в шаблон не требуется.
  • Переименование пакета kspay → mskspay (namespace, категория, пути, ассеты).
  • Iframe открывается прямо на странице чекаута без промежуточной страницы оплаты.
  • Повторная оплата и выбор другого способа при ошибке.

1.0.0-rc

  • Первая сборка. Компонент для интеграции KSNET KSPay с miniShop2.
  • Поддержка оплаты картами и банковскими переводами через WebHost iframe.
  • Отмена платежей через REST API.
  • Тестовый режим (sandbox).
  • Логирование операций.
  • Локализация: RU, EN, KO.

Последние обсуждения в сообществе MODX.pro