Logo

5. Платёжные методы

RUSTCMS поддерживает множество популярных платежных систем. Все настройки производятся через панель администратора в разделе Платежи.

Общая настройка

  1. Перейдите в админ-панель: /admin/payments.
  2. Выберите нужного провайдера из списка (нажмите на карточку).
  3. Заполните необходимые ключи (Merchant ID, Secret Key и др.).
  4. Нажмите кнопку Сохранить настройки.
  5. После сохранения включите галочку Включить приём платежей и убедитесь, что индикатор "Провайдер" активен.

Примечание: Ключи сохраняются в файл config/local.php. Не передавайте этот файл третьим лицам.

Включение провайдеров и флаги

Отображение методов оплаты на страницах Checkout и Order зависит от флагов включения:

Флаги задаются автоматически при сохранении формы в /admin/payments и попадают в config/local.php. По умолчанию (в config/config.php) они равны false.

На странице Checkout предусмотрен резервный режим: если флаги выключены, но ключи провайдера заполнены, метод может отобразиться. На странице Order список методов формируется строго по флагам включения.


Логика оплаты ("Сначала деньги")

Система работает по принципу гарантированной оплаты перед выдачей:

  1. Оформление заказа: Пользователь собирает корзину и переходит к оформлению.
  2. Оплата:
    • Если выбран внешний шлюз (UnitPay, FreeKassa и др.), создается платеж на стороне провайдера.
    • Если выбрана оплата с баланса, средства списываются мгновенно (транзакционно).
  3. Ожидание: Если ссылка на оплату не может быть сгенерирована мгновенно, пользователь перенаправляется на страницу заказа со статусом pending, где может повторить попытку или выбрать другой метод.
  4. Безопасность: Все платежные шлюзы используют унифицированную проверку цифровой подписи (Signature/Hash). Это гарантирует, что уведомления об оплате (callbacks) приходят действительно от платежной системы, а не от злоумышленников.
  5. Выдача: Только после получения подтверждения (статус paid) товары отправляются в очередь выдачи (Delivery Queue).

Инструкции по подключению

1. UnitPay

Популярная система для приема платежей (карты, СБП, крипта).

2. FreeKassa

Агрегатор с большим количеством методов оплаты (карты, крипта, FKWallet).

3. ENOT.io

Удобный агрегатор для приема платежей.

4. ЮMoney (YooMoney)

Прием платежей на кошелек ЮMoney (для физлиц).

5. Баланс пользователя

Встроенная система баланса является основным и единственным способом оплаты товаров.


Проверка работы

  1. После настройки создайте тестовый товар стоимостью 1-10 рублей.
  2. Попробуйте купить его через внешний шлюз. Статус заказа должен измениться на paid.
  3. Пополните баланс своего аккаунта через Профиль.
  4. Попробуйте купить товар, выбрав "Списать с баланса". Заказ должен мгновенно получить статус paid, а товар — попасть в очередь выдачи.
  5. Если статус не меняется, проверьте логи веб-сервера и файл /admin/logs.