Быстрый старт
Как принять первый платёж через Сбербанк на сайте с MiniShop3.
Требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.2+ |
| MiniShop3 | установлен |
| pdoTools | 3.x |
| Эквайринг Сбербанка | логин -api из вашего договора |
Универсальной тестовой пары login/password для всех интеграторов в открытой документации нет. Ключи выдаёт банк после подключения мерчанта.
Шаг 1: Провайдер modstore и установка пакета
Пакет зашифрован. Без провайдера установка завершится ошибкой Package provider not found.
- Система → Управление пакетами → Провайдеры → добавьте modstore.pro:
- URL:
https://modstore.pro/extras/ - Email и API-ключ из личного кабинета modstore.pro
- URL:
- Убедитесь, что установлен MiniShop3.
- Управление пакетами → установите msp3Sberbank (в Show Details укажите провайдер modstore.pro).
- Управление → Очистить кэш.
- Проверьте плагин
msp3sberbank_bootstrapна событииOnMODXInit. Он должен быть включён.
Шаг 2: Ключи API в MODX
- Войдите в тестовый личный кабинет мерчанта логином
-operator. Карта подключения: чеклист Сбера. - Настройки → API пользователи → пользователь с суффиксом
-api→ создайте или смените пароль API (показывают ~5 минут, скопируйте сразу). - Настройки → Системные настройки, фильтр
msp3sberbank. - Заполните:
msp3sberbank_api_url:https://ecomtest.sberbank.ru/ecomm/gw/partner/api/v1/(со слэшем в конце).msp3sberbank_api_login: логин-api, не-operator.msp3sberbank_api_password: пароль API.
Не используйте старые URL 3dsec.sberbank.ru / securepayments.sberbank.ru. Нужен целевой шлюз ecom.
Подробнее: Системные настройки.
Шаг 3: Callback URL в кабинете Сбербанка
Без callback заказ в MODX не перейдёт в «оплачен» автоматически, если покупатель не вернётся на сайт.
- В ЛК мерчанта откройте Настройки → Основные → Callback-уведомления.
- Включите callback-уведомления.
- Укажите URL (HTTPS, ваш домен):
https://ваш-домен.ru/assets/components/msp3sberbank/callback.php - Отметьте операции: для одностадийной минимум
deposited; для двухстадийной такжеapproved,reversed,refunded. - Рекомендуется тип подписи симметричный или асимметричный:
- симметричный токен →
msp3sberbank_callback_secret - публичный ключ PEM →
msp3sberbank_callback_public_key
- симметричный токен →
Детали обработки: Интеграция, callback.
Шаг 4: Способ оплаты в MiniShop3
Резолвер создаёт два способа:
| Название | Класс |
|---|---|
| Оплата через Сбербанк | Msp3Sberbank\Payment\SberbankPayment |
| Оплата через Сбербанк (двухстадийная) | Msp3Sberbank\Payment\SberbankPreAuthPayment |
- MiniShop3 → Настройки → Оплаты.
- Включите (Активен) нужный способ.
- Привяжите способ к доставкам.
- Проверьте, что способ доступен на странице оформления заказа.
Шаг 5: Чеки 54-ФЗ
Если в договоре подключена онлайн-касса через банк, включите msp3sberbank_send_order_bundle = «Да» и задайте:
msp3sberbank_ffd_version:1.05или1.2msp3sberbank_tax_type: код НДС для всех позиций (tax.taxType)
Компонент передаёт orderBundle в register.do и при двухстадийной схеме в deposit.do. Для фискализации нужен email или телефон покупателя в заказе MiniShop3.
Онлайн-кассу и код группы касс настраивают в СберБизнес или через ТП банка. Без этого шлюз может отклонить bundle даже при корректном JSON.
Шаг 6: Тестовый контур
msp3sberbank_api_url= ecomtest (см. шаг 2).- Учётка
-apiиз вашего тестового договора, не публичное демо. - На время отладки включите
msp3sberbank_debug= «Да». - При curl error 60 проверьте сертификаты НУЦ: в пакете есть
core/components/msp3sberbank/certs/russian-trusted-chain.pem.
Тестовая карта МИР (актуальный список в OpenAPI ecomtest):
| Поле | Значение |
|---|---|
| PAN | 2202 2050 0001 2424 |
| Срок | 05/35 |
| CVC | 669 |
На ecomtest бывают техокна (МСК): примерно 02:00–06:00, 09:00–10:00, 18:00–20:00 в будни.
Шаг 7: Проверка оплаты
- Оформите заказ с суммой не меньше 0,01 ₽.
- Выберите Оплата через Сбербанк и перейдите к оплате. Откроется форма банка.
- После успеха callback выставит заказу статус
msp3sberbank_paid_status_id(по умолчанию2) илиms3_status_paidприpaid_status_id = 0. - Проверьте строки
[msp3Sberbank]вcore/cache/logs/error.logпри включённом debug.
Статус не сменился? Проверьте callback URL, HTTPS, ключи -api и FAQ.
Боевой контур
- Получите боевые
-api/-operatorу менеджера банка. - Смените одноразовые пароли на постоянные.
- В MODX:
msp3sberbank_api_url→https://ecommerce.sberbank.ru/ecomm/gw/partner/api/v1/- боевые
api_login/api_password
- В боевом ЛК снова укажите callback URL и подпись.
msp3sberbank_debug= «Нет», контрольный платёж на минимальную сумму.
Что дальше
- Системные настройки: URL возврата, чеки 54-ФЗ, статусы холда и возврата
- Интеграция и сценарии: поток оплаты, deposit/reverse/refund, оплата из личного кабинета
- FAQ: errorCode 5, curl 60, checksum
