- MODX 3
- PHP 8.2
- miniShop3
msp3Tochka
msp3Tochka подключает интернет-эквайринг Точка Банка к MiniShop3 в MODX Revolution 3. Статус «оплачен» выставляет MiniShop3. Пакет сам статус заказа не меняет. Письма покупателю шлёт Центр уведомлений MiniShop3.
Старый пакет mspTochka при установке не удаляется.
Суммы передаются в рублях с двумя знаками. В банк пакет ходит с токеном из кабинета. Подпись уведомления об оплате проверяет сам.
Пространство имён настроек: msp3tochka. Точка входа уведомлений: assets/components/msp3tochka/webhook.php.
Возможности
- Пакет создаёт ссылку на оплату. На ней можно оставить карту, СБП или другие способы, которые принимает банк.
- Обычная оплата, деньги списываются сразу: способ Оплата через Точка Банк.
- Холд, деньги сначала блокируются на карте: способ Оплата через Точка Банк (двухстадийная). Списание делается кнопкой во вкладке заказа.
- Банк присылает уведомление на сайт. Пакет проверяет, что оно действительно от банка, и отдельно запрашивает статус платежа. Статус из текста уведомления не берёт.
- Номер операции, который вернул банк, пакет сохраняет у попытки оплаты. Без него кнопки «Списать холд», «Возврат» и «Синхронизировать» в банк не ходят.
- Сайт банка открывается по сертификату Минцифры. Обычный набор сертификатов PHP ему часто не доверяет, и запрос к банку обрывается. Нужный сертификат уже лежит в пакете, отдельно его ставить не нужно.
У банка нет отмены холда. Блокировка сама снимается, когда истекает срок ссылки. Кнопка «Отменить холд» во вкладке заказа только пишет об этом.
При создании токена включите права MakeAcquiringOperation и ReadAcquiringData. Право ManageWebhookData нужно, только если уведомления регистрируете вызовом API банка. Из админки MODX пакет этого не делает.
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| MiniShop3 | 1.14.0-beta1 и новее |
| PHP | 8.2+. Нужно расширение openssl: им пакет проверяет подпись уведомления банка |
| Сайт | HTTPS на webhook. 301 с HTTP часто роняет тело POST |
Зависимости
- MiniShop3: заказы и способы оплаты.
Установка
- Установите MiniShop3.
- Добавьте провайдер modstore.pro (Система → Управление пакетами → Провайдеры): URL
https://modstore.pro/extras/, email и API-ключ из личного кабинета modstore. - Установите пакет msp3Tochka через Управление пакетами (в Show Details выберите провайдер modstore.pro).
- Очистите кэш MODX.
Резолвер создаёт два активных способа:
| Название | Класс |
|---|---|
| Оплата через Точка Банк | Msp3Tochka\Payment\TochkaPayment |
| Оплата через Точка Банк (двухстадийная) | Msp3Tochka\Payment\TochkaTwoStagePayment |
Секреты сначала кладите в msPayment.properties (jwt_token, token или secret, плюс customer_code). Если properties пусты, пакет читает системные настройки.
Откуда брать значения:
- JWT. Интернет-банк, вкладка Сервисы, сервис Интеграции и API, кнопка Создать JWT-ключ. Токену нужны права
MakeAcquiringOperationиReadAcquiringData. Скопируйте токен вmsp3tochka_jwt_token. Рядом банк показываетclient_id. Отдельного поля под него в пакете нет. - customerCode. Идентификатор компании в API, строка до 9 символов. Его нет на экране JWT. Возьмите методом Get Customers List объект с
customerType=Business. Этоmsp3tochka_customer_code. - merchantId. Нужен, только если торговых точек интернет-эквайринга несколько. 15 цифр из Get Retailers. Идентификатор СБП (начинается с
MAилиMB) сюда не подставляйте.
Подробные шаги: Быстрый старт.
Заказ дешевле 1 копейки пакет на оплату не отправляет. paymentLinkId не длиннее 45 символов.
После смены настроек очистите кеш MODX.
Быстрая настройка webhook
В кабинете событие acquiringInternetPayment:
https://ваш-домен.ru/assets/components/msp3tochka/webhook.phpHTTPS без Basic Auth и без 301. Тело: компактный JWT, Content-Type: text/plain.
Архитектура
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и принять первый платёж | Быстрый старт |
Все ключи msp3tochka_* | Системные настройки |
| Webhook, холд, переход с mspTochka | Интеграция |
| Ошибка связи, 403, кеш | FAQ |
| Оформление заказа MS3 | MiniShop3: заказ |
