990
12.69
14.14
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует PHP
8.2
или выше!
Внимание, этот компонент требует MODX 3 или выше.
msp3YooKassa — приём оплаты через ЮKassa для MiniShop3 на MODX Revolution 3.x
Поддерживаются карты, кошельки и остальные способы из вашего договора с ЮKassa. Связка с сервисом — по официальному API (HTTP Basic: shopId и секретный ключ), внутри используется SDK yoomoney/yookassa-sdk-php. Статусы смотрите в кабинете ЮKassa. На сайте заказ подтягивается по входящим HTTP-уведомлениям (webhook).
Особенности
Регистрация в ЮKassa
Сначала заведите магазин в ЮKassa и возьмите в разделе интеграции идентификатор магазина и секретный ключ. С чего начать технически — в быстром старте для разработчиков.

HTTP-уведомления
В кабинете укажите URL приёма уведомлений: Интеграция → HTTP-уведомления (страница настроек). По правилам ЮKassa адрес должен быть на HTTPS (TLS 1.2+), обычно порт 443 или 8443.
Пример для вашего сайта:
ВАШ_ДОМЕН/assets/components/msp3yookassa/webhook.php
Дополнение разбирает тело уведомления (JSON) и отвечает 200 OK, как требует ЮKassa.

Настройка в MODX
После установки откройте системные настройки с префиксом msp3yookassa_ (пространство имён msp3yookassa) и заполните как минимум:
По желанию включают чеки 54-ФЗ (msp3yookassa_payment_receipt), код НДС (msp3yookassa_vat_strong, значения 1–10 — справочник ЮKassa), свои success/fail URL и отладку msp3yookassa_debug.

Тестовый магазин
В кабинете ЮKassa есть тестовый магазин с отдельным shopId и ключом с префиксом test_. Чаще всего он появляется после ИНН и заполнения технических данных. Подставьте тестовые значения в настройки компонента так же, как боевые: сценарий оплаты как в бою, деньги не уходят.
Боевые карты в тесте не подходят. Берите номера тестовых карт из инструкции ЮKassa. Срок действия — любая дата позже сегодняшней. CVC и код 3-D Secure можно набрать любыми цифрами (конкретные карты и сценарии — в той же статье).
Чеки 54-ФЗ
В тесте можно включить проверку чеков: касса имитируется, чек в ОФД не уйдёт — так и задумано для отладки (раздел о тестировании).
Для реальных продаж включите передачу данных чека в настройках и проверьте кассу уже в боевом магазине. В заказе должен быть email покупателя.
Сценарии оплаты
ЮKassa умеет одностадийную оплату (статус succeeded) и двухстадийную: после оплаты — waiting_for_capture, дальше подтверждение или отмена. В админке MODX для подтверждения используется процессор Msp3YooKassa\Processors\CaptureProcessor с параметром order_id. Статусы подробно — в справочнике API и описании процесса оплаты.
Способы оплаты в MiniShop3
После установки в магазине появятся:

Поддерживаются карты, кошельки и остальные способы из вашего договора с ЮKassa. Связка с сервисом — по официальному API (HTTP Basic: shopId и секретный ключ), внутри используется SDK yoomoney/yookassa-sdk-php. Статусы смотрите в кабинете ЮKassa. На сайте заказ подтягивается по входящим HTTP-уведомлениям (webhook).
Особенности
- рассчитано на MiniShop3 и MODX 3.0+
- одно- и двухстадийные схемы в терминах процесса оплаты ЮKassa: сразу списание или холд waiting_for_capture с последующим подтверждением
- свои URL успеха и ошибки, при необходимости — подробные логи в MODX
Регистрация в ЮKassa
Сначала заведите магазин в ЮKassa и возьмите в разделе интеграции идентификатор магазина и секретный ключ. С чего начать технически — в быстром старте для разработчиков.

HTTP-уведомления
В кабинете укажите URL приёма уведомлений: Интеграция → HTTP-уведомления (страница настроек). По правилам ЮKassa адрес должен быть на HTTPS (TLS 1.2+), обычно порт 443 или 8443.
Пример для вашего сайта:
ВАШ_ДОМЕН/assets/components/msp3yookassa/webhook.php
Дополнение разбирает тело уведомления (JSON) и отвечает 200 OK, как требует ЮKassa.

Настройка в MODX
После установки откройте системные настройки с префиксом msp3yookassa_ (пространство имён msp3yookassa) и заполните как минимум:
- Идентификатор магазина — ключ msp3yookassa_shop_id (это shopId из API)
- Секретный ключ — msp3yookassa_secret_key (второй параметр HTTP Basic к API)
По желанию включают чеки 54-ФЗ (msp3yookassa_payment_receipt), код НДС (msp3yookassa_vat_strong, значения 1–10 — справочник ЮKassa), свои success/fail URL и отладку msp3yookassa_debug.

Тестовый магазин
В кабинете ЮKassa есть тестовый магазин с отдельным shopId и ключом с префиксом test_. Чаще всего он появляется после ИНН и заполнения технических данных. Подставьте тестовые значения в настройки компонента так же, как боевые: сценарий оплаты как в бою, деньги не уходят.
Боевые карты в тесте не подходят. Берите номера тестовых карт из инструкции ЮKassa. Срок действия — любая дата позже сегодняшней. CVC и код 3-D Secure можно набрать любыми цифрами (конкретные карты и сценарии — в той же статье).
Чеки 54-ФЗ
В тесте можно включить проверку чеков: касса имитируется, чек в ОФД не уйдёт — так и задумано для отладки (раздел о тестировании).
Для реальных продаж включите передачу данных чека в настройках и проверьте кассу уже в боевом магазине. В заказе должен быть email покупателя.
Сценарии оплаты
ЮKassa умеет одностадийную оплату (статус succeeded) и двухстадийную: после оплаты — waiting_for_capture, дальше подтверждение или отмена. В админке MODX для подтверждения используется процессор Msp3YooKassa\Processors\CaptureProcessor с параметром order_id. Статусы подробно — в справочнике API и описании процесса оплаты.
Способы оплаты в MiniShop3
После установки в магазине появятся:
- Оплата через ЮKassa — одностадийно: списание по правилам выбранного сценария ЮKassa
- Оплата через ЮKassa (двухстадийная) — холд средств, затем вручную в менеджере MODX можно подтвердить списание или отменить платёж

Документация ЮKassa: yookassa.ru/developers. Компонент: docs.modx.pro/components/msp3yookassa
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.2-pl] - 2026-07-09
Fixed
- Webhook: notifications for payments not created by this package (e.g. SMS invoices from the YooKassa cabinet) are acknowledged and skipped at debug level instead of writing
order not foundto the MODX error log.
[1.0.1-pl] - 2026-06-20
Fixed
- Webhook and two-stage capture: order status is updated via MiniShop3
OrderStatusServiceinstead of directsave(), somsOnChangeOrderStatusfires and notification center emails (e.g. manager alert on paid status) are sent. OrderStatusUpdater: status change runs before savingproperties, avoiding a paid payment ID in DB while the order status stayed unchanged.- Webhook/capture failures (status change, hash mismatch, missing order) are always written to the MODX error log; debug-only messages stay behind
msp3yookassa_debug. OrderStatusUpdatervalidates MiniShop3 bootstrap before changing status.
Changed
- README,
docs/readme.txt,_preview/DESCRIPTION.md: статус после оплаты, уведомления MS3, разделение error/debug логов.
[1.0.0-pl] - 2026-04-23
Added
- YooKassa API integration for MiniShop3.
- One-stage payment (immediate capture).
- Two-stage payment (hold; capture/cancel from manager via Capture processor).
- HTTP webhook endpoint to sync order status from YooKassa notifications.
- Optional 54-FZ receipts (fiscalization) via
ReceiptBuilder. - System settings:
shop_id,secret_key, receipt mode, VAT code, success/fail URLs, debug flag. - Bootstrap plugin (
OnMODXInit) for PSR-4 autoload of payment handlers. - Transport resolvers: settings,
msPaymentrecords (one-stage and two-stage classes), assets. - Payment
send()success payload includesorder_id,order_num, andmsorder(UUID) for storefront integrations and debugging. - Build: optional modstore.pro transport encryption (
EncryptedVehicle,resolve.encryption.php) — same pattern as ms3Favorites; enable withencrypt=> true in_build/config.inc.php. - Repository
_preview/: ModStore copy (DESCRIPTION.md,modstore-description.md), logoslogo-320.png/logo-320-v2.png/logo-320-v3.png, bannersbanner-1200x630.png/banner-1200x630-v2.png— not included in transport ZIP.
Changed
- Runtime MODX log lines from this extra (including webhook and receipt debug, YooKassa payment flow) are written only when system setting
msp3yookassa_debugis enabled. - Capture processor: log line on capture failure is also gated by
msp3yookassa_debug(failure message still returned to the manager action). - Debug log label:
YooKassa createPayment requestdistinguishes the API request body from the payment response.
Fixed
$modx->log(): context is no longer passed as the third argument (that parameter is the log target in MODX/xPDO). Passing an array there could corrupt HTTP output and break MiniShop3 JSON API (order/submit), causing frontend submission errors.- Order persistence after
createPayment: if saving the order withyookassa_payment_idinpropertiesfails, return a clear error instead of continuing silently.




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