- MODX 3
- PHP 8.2
- miniShop3
Быстрый старт
Как принять первый платёж через CDEK Pay на сайте с MiniShop3.
Требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| MiniShop3 | 1.14.0-beta1 и новее |
| PHP | 8.2+ |
| Доступ | логин магазина, боевой и тестовый секреты |
| Сайт | HTTPS на webhook без 301 |
Публичного номера тестовой карты нет. Логин test и ключ secret_key_123 из OpenAPI это примеры подписи, не магазин. Живой адрес secure.cdekfin.ru на них отвечает 403. В модуле CDEK Pay для Bitrix тест подтверждают кнопками «Успешная оплата» и «Неуспешная оплата», не номером карты.
Шаг 1: Провайдер modstore и установка пакета
- Система → Управление пакетами → Провайдеры → добавьте modstore.pro:
- URL:
https://modstore.pro/extras/ - Email и API-ключ из личного кабинета modstore.pro
- URL:
- Убедитесь, что установлен MiniShop3.
- Управление пакетами → установите msp3CDEKPay (в Show Details укажите провайдер modstore.pro).
- Управление → Очистить кэш.
Резолвер создаёт два активных способа.
| Название | Класс |
|---|---|
| Оплата через CDEK Pay | Msp3CDEKPay\Payment\CdekPayPayment |
| Оплата через CDEK Pay (СБП QR) | Msp3CDEKPay\Payment\CdekPaySbpPayment |
Откуда брать ключи
Логин магазина лежит в личном кабинете на странице магазина. В инструкциях CDEK Pay это Настройки → Редактировать магазин, поле Логин. В MODX это msp3cdekpay_login.
Секреты лежат в Интеграция → Настройка API:
| Поле в кабинете | Настройка MODX | Когда |
|---|---|---|
| Test Secret Key | msp3cdekpay_test_secret_key | Тест. Уведомления с валютой TST |
| Secret Key | msp3cdekpay_secret_key | Бой. Уведомления с валютой RUR |
Если поле в кабинете пустое, задайте ключ сами и впишите то же значение в MODX. Латиница, не короче 11 символов, разный регистр и хотя бы одна цифра.
Пакет читает эти три поля из системных настроек. В свойства способа оплаты их класть не нужно.
При msp3cdekpay_test_mode = Да запросы идут в тестовый API, валюта TST, секрет тестовый. При значении Нет валюта RUR и боевой секрет.
Шаг 2: Куда вписать в MODX
- Настройки → Системные настройки, фильтр
msp3cdekpay. - Для теста:
msp3cdekpay_test_mode= Да, логин магазина и Test Secret Key. - После сохранения: Управление → Очистить весь кеш.
Список полей: Системные настройки.
Шаг 3: URL уведомления
В кабинете откройте Интеграция → Настройка API и вставьте:
https://ваш-домен.ru/assets/components/msp3cdekpay/webhook.phpHTTPS без 301. Один адрес на магазин. Обработчик ждёт JSON с объектом payment. Пустой запрос и обычная форма отвечают 400.
Шаг 4: Способ оплаты в MiniShop3
- В админке MiniShop3 откройте Настройки → Оплаты.
- Включите Оплата через CDEK Pay или Оплата через CDEK Pay (СБП QR).
- Привяжите способ к доставке.
Шаг 5: Боевой режим
- Магазин в CDEK Pay и боевой Secret Key. Касса в кабинете, если нужны чеки.
msp3cdekpay_test_mode= Нет. Логин иmsp3cdekpay_secret_key.- Тот же webhook из шага 3.
- Контрольный платёж. Попытка должна стать оплаченной, заказ получить статус из
ms3_status_paid. - Выключите
msp3cdekpay_debug.
