mspYandexPay
mspYandexPay подключает Яндекс Пэй (Merchant API) к MiniShop3 в MODX Revolution 3.x: создание заказа, редирект на paymentUrl, webhook с JWT (ES256 / JWKS) и смена статуса заказа.
Пространство имён настроек: mspyandexpay. Callback URL: assets/components/mspyandexpay/webhook.php.
С чего начать: Быстрый старт. Там же sandbox с тестовыми картами и выход в production.
Возможности
- Redirect-оплата:
YandexPayPayment::send()вызываетPOST /ordersи возвращаетpaymentUrl. - Webhook: тело JWT, проверка подписи по JWKS sandbox/production, события
ORDER_STATUS_UPDATEDиOPERATION_STATUS_UPDATED. - Одностадийная схема: способ «Яндекс Пэй», после
CAPTURED/CONFIRMEDзаказ становится оплаченным. - Двухстадийная схема: способ «Яндекс Пэй (двухстадийная)», холд
AUTHORIZED, затем capture/cancel через connector. - Сплит: способ «Яндекс Пэй + Сплит» или глобальные
mspyandexpay_payment_methods/preferred_payment_method. - QR: способ «Яндекс Пэй QR» при
mspyandexpay_qr_enabled. - Возврат: connector
refund(полный или частичный), статус после полного возврата изmspyandexpay_refunded_status_id. - Кнопка на витрине: сниппет
mspYandexPayButton. - Checkout endpoints:
checkout/render.phpиcheckout/create.phpдля сценария Yandex Checkout (MVP). - Sandbox / production:
mspyandexpay_environment, по умолчаниюsandbox.
Фискализацию чеков настраиваете в кабинете Яндекс Пэй или через свой ОФД. Компонент чек 54-ФЗ в Merchant API не собирает.
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.2+ (curl, json, openssl) |
| MiniShop3 | 1.0+ |
| HTTPS | обязателен для webhook и Checkout |
Зависимости
- MiniShop3: заказы, способы оплаты, статусы (
ms3_status_paid,ms3_status_canceledи др.).
PHP-зависимости (vendor/) входят в пакет. Отдельно запускать Composer на сайте не нужно.
Регистрация в Яндекс Пэй
Подключите сервис Яндекс Пэй и Сплит в консоли. Скопируйте:
- Merchant ID →
mspyandexpay_merchant_id - Ключ Merchant API →
mspyandexpay_api_key(в sandbox совпадает с Merchant ID)
Официально: регистрация, настройки магазина, тестирование.
Подробные шаги sandbox и production: Быстрый старт.
Установка
- Установите MiniShop3.
- Установите пакет mspYandexPay через Управление пакетами.
- Очистите кэш MODX.
- В Системные настройки →
mspyandexpayзадайте Merchant ID, API Key и среду. - В кабинете Яндекс Пэй укажите Callback URL (см. ниже).
- Проверьте способы оплаты и привязку к доставкам.
Резолвер создаёт четыре msPayment:
| Название | Класс | По умолчанию |
|---|---|---|
| Яндекс Пэй | MspYandexPay\Payment\YandexPayPayment | active |
| Яндекс Пэй (двухстадийная) | MspYandexPay\Payment\YandexPayTwoStagePayment | active |
| Яндекс Пэй + Сплит | MspYandexPay\Payment\YandexPaySplitPayment | active |
| Яндекс Пэй QR | MspYandexPay\Payment\YandexPayQrPayment | inactive |
При установке и обновлении резолвер линкует активные способы ко всем активным доставкам (msDeliveryMember). Если оплаты нет на чекауте: MiniShop3 → Доставки → у нужной доставки отметьте способы «Яндекс Пэй*».
Плагин mspyandexpay_bootstrap на OnMODXInit подключает автозагрузку MspYandexPay\. Плагин должен быть включён.
Быстрая настройка webhook
В кабинете Яндекс Пэй укажите Callback URL:
https://ваш-домен.ru/assets/components/mspyandexpay/webhook.phpURL для sandbox и production задаются отдельно (переключатель Тестовые данные). Без доступного webhook заказ может остаться неоплаченным после успешной оплаты.
Архитектура
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и принять первый платёж | Быстрый старт |
Все ключи mspyandexpay_* | Системные настройки |
| Webhook, capture, Split, QR, сниппет | Интеграция |
| Webhook 401, sandbox, статусы | FAQ |
| Оформление заказа MS3 | MiniShop3: заказ |
Документация по разделам
- Быстрый старт: установка, sandbox, Callback URL, тестовая оплата.
- Системные настройки: таблицы
mspyandexpay_*, связанные ключи MiniShop3. - Интеграция и сценарии: API ↔ код, webhook, двухстадийная, возврат, кнопка, Checkout.
- FAQ: типовые ошибки и диагностика.
Лицензия пакета: GPLv2 и новее.
