- MODX 3
- PHP 8.2
- miniShop3
msp3CloudPayments
msp3CloudPayments подключает CloudPayments к MiniShop3 в MODX Revolution 3. Пакет создаёт счёт, покупатель переходит по ссылке. Статус «оплачен» выставляет MiniShop3. Пакет сам статус заказа не меняет.
Сумма уходит с двумя знаками после запятой. Валюта по умолчанию RUB.
Уведомление подписано секретом API. Проверку подписи выключить нельзя. Чек 54-ФЗ, если он включён, уходит вместе со счётом. Для чека в адресе заказа нужен email или телефон.
Старый пакет mspCloudPayments при установке не удаляется.
Возможности
- Обычная оплата, деньги списываются сразу: способ Оплата через CloudPayments.
- Холд, деньги сначала блокируются: способ Оплата через CloudPayments (двухстадийная). Заказ станет оплаченным после списания или уведомления Confirm.
- Шесть адресов уведомлений: оплата, проверка, отказ, подтверждение, возврат, отмена.
- Проверка перед оплатой статус заказа не меняет. Она ищет попытку по
ms3_refи сверяет сумму с суммой попытки. - Во вкладке заказа: списание холда, отмена холда, возврат, отмена неоплаченного счёта, запрос статуса у CloudPayments.
- Номер счёта пакет сохраняет сам. Отмена неоплаченного счёта webhook не ждёт.
Тестовый Public ID виджета test_api_00000000000000000000001 для счетов не подходит.
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| MiniShop3 | 1.14.0-beta1 и новее |
| PHP | 8.2+ |
| pdoTools | 3.0.0 и новее |
| Доступ | Public ID и API Secret сайта |
| Чек 54-ФЗ | email или телефон в адресе заказа |
| Сайт | HTTPS на webhook без редиректа 301 |
Зависимости
- MiniShop3: заказы и способы оплаты.
- pdoTools: зависимость транспорта пакета при установке через Управление пакетами.
Установка
- Установите MiniShop3.
- Добавьте провайдер modstore.pro (Система → Управление пакетами → Провайдеры). URL:
https://modstore.pro/extras/. Email и API-ключ из личного кабинета modstore. - Установите пакет msp3CloudPayments через Управление пакетами (в Show Details выберите провайдер modstore.pro).
- Очистите кэш MODX.
Резолвер создаёт два активных способа:
| Название | Класс |
|---|---|
| Оплата через CloudPayments | Msp3CloudPayments\Payment\CloudPaymentsPayment |
| Оплата через CloudPayments (двухстадийная) | Msp3CloudPayments\Payment\CloudPaymentsTwoStagePayment |
Пространство имён настроек: msp3cloudpayments.
Счёт и вкладка заказа берут ключи по цепочке:
- Непустые
msPayment.properties:public_idилиlogin,api_secret,secret,webhook_secret,secret_key. msp3cloudpayments_*.mspcloudpayments_*.
Кеш не подставляет ключи.
webhook.php считает HMAC по той же цепочке. Секрет только в properties активного способа достаточен.
Откуда брать Public ID и секрет: Быстрый старт.
Быстрая настройка уведомлений
Файл уведомлений: assets/components/msp3cloudpayments/webhook.php. В кабинете CloudPayments укажите шесть адресов. Общий вид:
https://ваш-домен.ru/assets/components/msp3cloudpayments/webhook.php?event=payВместо pay подставьте check, fail, confirm, refund, cancel. Полный список: Быстрый старт.
JSON-маршрут ядра MiniShop3 для этих уведомлений не подходит. CloudPayments шлёт обычную форму.
Архитектура
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и принять первый платёж | Быстрый старт |
Все ключи msp3cloudpayments_* | Системные настройки |
| Уведомления, холд, чек, старый пакет | Интеграция |
| Код 13, код 12, холд | FAQ |
| Оформление заказа MS3 | MiniShop3: заказ |
