- MODX 3
- PHP 8.2
- miniShop3
msp3BePaid
Версия пакета: 2.0.0.
Поддерживаемые настройки: msp3bepaid_language, msp3bepaid_country, msp3bepaid_readonly_fields, msp3bepaid_visible_fields.
msp3BePaid подключает bePaid к MiniShop3 в MODX Revolution 3. Покупатель уходит на страницу оплаты bePaid. MiniShop3 выставляет статус «оплачен» по webhook. Пакет не меняет статус заказа.
В заказе — сумма в валюте магазина. В bePaid пакет отправляет её в мелких единицах (для белорусского рубля — копейки). Нужен PHP-модуль bcmath.
Уведомление приходит с логином и паролем магазина. Пакет проверяет подпись в заголовке Content-Signature, если сохранён публичный ключ. Пустой ключ проверку пропускает.
Пространство имён настроек: msp3bepaid. Уведомления: assets/components/msp3bepaid/webhook.php. Возврат покупателя: assets/components/msp3bepaid/return.php.
Плагин msp3bepaid_bootstrap на OnMODXInit и msOnManagerCustomCssJs подключает автозагрузку и вкладку заказа в менеджере.
Возможности
Один способ оплаты: Оплата через BePaid. Карта, ERIP и другие типы задаёт настройка payment_types.
- Пакет создаёт токен checkout с
transaction_type: payment. Холд иcaptureне поддерживаются. - bePaid шлёт уведомление на один адрес магазина. Пакет пишет
notification_urlнаwebhook.phpв токен checkout. - bePaid возвращает покупателя на
return.php. Страница сверяет токен и при успехе может догнать оплату в MiniShop3. Источник истины — webhook. - Во вкладке заказа: попытки, синхронизация статуса ссылки, возврат по номеру транзакции. Кнопка отмены ссылки сообщает об ограничении API.
- Возврат денег недоступен, пока уведомление не подтвердило оплату.
- Отменить токен checkout через API bePaid нельзя.
Валюта по умолчанию — BYN. Тестовый режим после установки включён (msp3bepaid_test = Да).
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| MiniShop3 | 1.14.0-beta1 и новее |
| PHP | 8.2+ |
| PHP-модуль | bcmath |
| Доступ | Shop ID и секретный ключ магазина |
| Сайт | HTTPS на webhook без 301 |
Зависимости
- MiniShop3: заказы и способы оплаты.
Установка
- Установите MiniShop3.
- Добавьте провайдер modstore.pro (Система → Управление пакетами → Провайдеры). URL:
https://modstore.pro/extras/. Email и API-ключ возьмите в личном кабинете modstore. - Установите пакет msp3BePaid через Управление пакетами (в Show Details выберите провайдер modstore.pro).
- Очистите кэш MODX.
Резолвер создаёт один способ оплаты:
| Название | Класс |
|---|---|
| Оплата через BePaid | Msp3BePaid\Payment\BePaidPayment |
Ключи хранят в msPayment.properties: store_id, secret_key, public_key, webhook_secret. Секрет также читается как secret. Дополнительно из properties: checkout_url, currency, test. Если properties пусты, пакет читает системные настройки msp3bepaid_*.
Способ настроен, когда заполнены Shop ID и секрет. Подробнее: Системные настройки.
Откуда брать Shop ID и секрет: Быстрый старт.
Быстрая настройка уведомлений
В кабинете bePaid укажите адрес уведомлений на магазин:
https://ваш-домен.ru/assets/components/msp3bepaid/webhook.phpПри создании checkout пакет передаёт тот же URL в notification_url. Настройте адрес в кабинете.
Покупатель после оплаты возвращается на return.php. Пакет подставляет эти адреса в токен checkout.
Ядро MiniShop3 принимает уведомления по адресу /api/v1/payment/webhook/{payment_method_id}. Кабинет bePaid обычно ждёт один URL — используйте webhook.php.
Пакет подтверждает неизвестные тела webhook и передаёт их в событие MODX msp3BePaidOnProviderEvent.
Архитектура
Быстрые ссылки
| Нужно | Документ |
|---|---|
| Установить и принять первый платёж | Быстрый старт |
Ключи msp3bepaid_* | Системные настройки |
| Уведомление, возврат, вкладка заказа | Интеграция |
| Возврат до оплаты и страница return | FAQ |
| Оформление заказа MiniShop3 | MiniShop3: заказ |
