- MODX 3
- PHP 8.2
- miniShop3
Быстрый старт
Как принять первый платёж через Prodamus на сайте с MiniShop3.
Требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| MiniShop3 | 1.14.0-beta1 и новее |
| PHP | 8.2+ |
| pdoTools | 3.0.0+ |
| Кабинет | URL страницы payform и секрет со страницы настроек |
| Сайт | HTTPS на webhook без 301 |
В заказе нужен email или телефон. Без телефона Prodamus покажет предварительную форму.
Шаг 1: Провайдер modstore и установка пакета
- Система → Управление пакетами → Провайдеры → добавьте modstore.pro:
- URL:
https://modstore.pro/extras/ - Email и API-ключ из личного кабинета modstore.pro
- URL:
- Убедитесь, что установлен MiniShop3.
- Управление пакетами → установите msp3Prodamus (в Show Details укажите провайдер modstore.pro).
- Управление → Очистить кэш.
Резолвер создаёт способ Оплата через Prodamus, класс Msp3Prodamus\Payment\ProdamusPayment.
Секрет и URL для ссылки можно положить в msPayment.properties. Поля: secret, secret_key, payform_url. При миграции: form_url, webhook_secret. Непустые properties перекрывают системные настройки.
Секрет нужен и для ссылки, и для webhook.php. Достаточно одного места: properties способа или msp3prodamus_secret_key.
Заказ дешевле 1 копейки пакет на оплату не отправляет.
Откуда брать ключи
Демо-страница описана в шаге 3.
| Что | Откуда |
|---|---|
| URL страницы | msp3prodamus_payform_url: адрес страницы, с которой покупатель платит. Скопируйте из адресной строки. Обычно https://имя.payform.ru/. |
| Секрет | Войдите на платёжную страницу как владелец. Нижнее меню: Настройки. Скопируйте ключ в msp3prodamus_secret_key. В properties способа: secret или secret_key. |
sys | msp3prodamus_sys: код интеграции. Согласуют с поддержкой Prodamus. У всех магазинов одной интеграции код один и тот же. |
| URL уведомлений | Настройки, поле Настройка уведомлений. После ввода нажмите сохранить. |
Как войти на страницу: инструкция Prodamus в ссылке ниже. Новый ключ на этой странице не генерируется. Его выдаёт поддержка Prodamus. Поля и кнопка сохранения URL: где найти секрет и URL уведомлений. Описание sys: самостоятельная интеграция.
HMAC считают секретом именно этой страницы. Секрет другой страницы, в том числе демо, к ней не подойдёт.
msp3prodamus_test_mode = Да только добавляет в ссылку demo_mode=1. Секрет HMAC от этого не меняется.
Если на стороне Prodamus у страницы выключен боевой режим, подпись считают другим ключом, с суффиксом demo. Такой webhook не должен проходить как боевой.
Без sys пакет не передаёт urlNotification. Prodamus не примет URL из запроса.
URL уведомлений:
https://ваш-домен.ru/assets/components/msp3prodamus/webhook.phpHTTPS, без Basic Auth и без 301. HTTP на *.test часто отвечает 301, и тело POST пропадает.
Переход покупателя на urlSuccess заказ не оплачивает. Оплату подтверждает только webhook с верным заголовком Sign.
Шаг 2: Куда вписать в MODX
- Настройки → Системные настройки, фильтр
msp3prodamus. - Либо properties способа:
payform_url,secretилиsecret_key, при необходимостиsys. Непустые properties перекрывают системные настройки для ссылки иwebhook.php. - Очистите кэш MODX.
Список полей: Системные настройки.
Шаг 3: Демо-страница
https://demo.payform.ru/. Секрет демо-формы лежит в примере кода в статье про самостоятельную интеграцию. Доступ к демо менеджеры Prodamus выдают по запросу.
В MODX для проверки:
msp3prodamus_payform_url:https://demo.payform.ru/msp3prodamus_secret_key: секрет из той статьиmsp3prodamus_test_mode: Да, если нужна ссылка сdemo_mode=1
Шаг 4: Способ оплаты в MiniShop3
- В админке MiniShop3 откройте Настройки → Оплаты.
- Включите Оплата через Prodamus.
- Привяжите способ к сценарию оформления заказа.
Отдельного двухстадийного способа нет.
Шаг 5: Боевой режим
- Своя страница payform и секрет с её страницы Настройки.
msp3prodamus_test_mode= Нет, если не хотитеdemo_mode=1в ссылке.- Код
sys, если уведомление должно уходить на URL из запроса. - URL в поле Настройка уведомлений сохранён.
- Контрольный платёж. Проверьте HTTP 200 и текст
success, попыткуpaid. - Выключите
msp3prodamus_debug.
