Skip to content
msp3Prodamus
Приём оплаты через Prodamus для MiniShop3: ссылка payform, webhook Sign, чеки 54-ФЗ
  • MODX 3
  • PHP 8.2
  • miniShop3
  1. Компоненты
  2. msp3Prodamus
  3. Быстрый старт

Быстрый старт

Как принять первый платёж через Prodamus на сайте с MiniShop3.

Требования

ТребованиеВерсия
MODX Revolution3.0+
MiniShop31.14.0-beta1 и новее
PHP8.2+
КабинетURL страницы payform и секрет со страницы настроек
СайтHTTPS на webhook без 301

В заказе нужен email или телефон. Без телефона Prodamus покажет предварительную форму.

Шаг 1: Провайдер modstore и установка пакета

  1. Система → Управление пакетами → Провайдеры → добавьте modstore.pro:
    • URL: https://modstore.pro/extras/
    • Email и API-ключ из личного кабинета modstore.pro
  2. Убедитесь, что установлен MiniShop3.
  3. Управление пакетами → установите msp3ProdamusShow Details укажите провайдер modstore.pro).
  4. Управление → Очистить кэш.

Резолвер создаёт способ Оплата через Prodamus, класс Msp3Prodamus\Payment\ProdamusPayment.

Секрет и URL страницы положите в msPayment.properties (secret или secret_key, payform_url). Если properties пусты, пакет читает системные настройки.

Заказ дешевле 1 копейки пакет на оплату не отправляет.

Откуда брать ключи

Демо-страница описана в шаге 3. Ниже путь для своей платёжной страницы.

URL страницы

msp3prodamus_payform_url это адрес страницы, с которой покупатель платит. Скопируйте его из адресной строки. Обычно это https://имя.payform.ru/.

HMAC считается секретом именно этой страницы. Секрет другой страницы, в том числе демо, к ней не подойдёт.

Секретный ключ

  1. Войдите на платёжную страницу как владелец. Как войти, Prodamus описывает в инструкции к шагу ниже.
  2. Нижнее меню: Настройки.
  3. Скопируйте секретный ключ в msp3prodamus_secret_key. В properties способа то же значение можно положить в secret или secret_key.

Новый ключ на этой странице не генерируется. Его выдаёт поддержка Prodamus. Поля и кнопка сохранения URL: где найти секрет и URL уведомлений.

msp3prodamus_test_mode = Да только добавляет в ссылку demo_mode=1. Секрет HMAC от этого не меняется.

Если на стороне Prodamus у страницы выключен боевой режим, подпись считают другим ключом, с суффиксом demo. Такой webhook не должен проходить как боевой.

Код sys

msp3prodamus_sys это код вашей интеграции. Его согласуют с поддержкой Prodamus. У всех магазинов одной интеграции код один и тот же.

Без sys пакет не передаёт urlNotification, и Prodamus не примет URL из запроса. Описание параметра: самостоятельная интеграция.

URL уведомлений

На странице Настройки, поле Настройка уведомлений:

text
https://ваш-домен.ru/assets/components/msp3prodamus/webhook.php

Нажмите сохранить. HTTPS, без Basic Auth и без 301. HTTP на *.test часто отвечает 301, и тело POST пропадает.

Переход покупателя на urlSuccess заказ не оплачивает. Оплату подтверждает только webhook с верным заголовком Sign.

Шаг 2: Куда вписать в MODX

  1. Настройки → Системные настройки, фильтр msp3prodamus.
  2. Либо properties способа: payform_url, secret или secret_key, при необходимости sys. Непустые properties перекрывают системные настройки.
  3. Очистите кеш 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

  1. В админке MiniShop3 откройте Настройки → Оплаты.
  2. Включите Оплата через Prodamus.
  3. Привяжите способ к сценарию оформления заказа.

Отдельного двухстадийного способа нет.

Шаг 5: Боевой режим

  1. Своя страница payform и секрет с её страницы Настройки.
  2. msp3prodamus_test_mode = Нет, если не хотите demo_mode=1 в ссылке.
  3. Код sys, если уведомление должно уходить на URL из запроса.
  4. URL в поле Настройка уведомлений сохранён.
  5. Контрольный платёж. Проверьте HTTP 200 и текст success, попытку paid.
  6. Выключите msp3prodamus_debug.