Схемы Что нового

Платёжные системы

Приём оплаты от клиентов: подключение платёжных систем, проверка и безопасность уведомлений.

Содержание раздела

Платёжные системы

Настройка приёма онлайн-платежей: через что клиент платит из личного кабинета и мобильного приложения, какая берётся комиссия и с каких адресов принимается webhook.

Обучающее видео 3:03

Как настроить приём онлайн-оплат: общие настройки и кассы организаций, активная система и комиссия, секретные ключи, проверка подключения, безопасность вебхука и работа с телефона.

1920×1080 с озвучкой Скачать

Наборы настроек: общие и кассы организаций

Страница правит два разных набора, между ними переключает полоса в шапке:

Касса организации
Касса организации

Если хотя бы у одной организации настроена своя касса, в общем режиме показывается предупреждение со ссылками на эти кассы: правки в общих настройках на их клиентов не влияют. Тумблер «Использовать свою кассу» выключает переопределение — клиенты организации возвращаются на общие ключи.

Что остаётся общим для всех организаций

Активная платёжная система, комиссия, валюта W1, секрет подписи Generic/UCS и белый список IP. На уровне организации переопределяются только реквизиты кассы, адреса возврата клиента и расчётный счёт приёма оплат.

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

Секреты в браузер не отдаются: в поле показывается только маска с опознавательным хвостом (••••••••2bc9). Пустое поле при сохранении означает «не менять» — чтобы заменить ключ, введите новый.

Маска секретного ключа
Маска секретного ключа

Проверка подключения

Кнопка «Проверить подключение» различает три исхода, а не два:

СтатусЧто значит
✓ зелёный Ключ подтверждён сервером платёжной системы (ЮKassa REST API v3, запрос /v3/me).
⚠ жёлтый Конфигурация заполнена, но протокол не позволяет проверить ключ запросом — старый HTTP-протокол ЮKassa и Wallet One. Работоспособность подтверждается только тестовым платежом.
✕ красный Отказ: неверные учётные данные, недоступен узел, не заполнены обязательные поля.
Честный статус проверки подключения
Честный статус проверки подключения

Проверку можно выполнить для любой системы, в том числе неактивной — переключать боевой приём платежей для этого не нужно. Неактивная система помечается пунктирной рамкой и бейджем «не активна», её поля остаются читаемыми и доступными для правки.

Провайдеры

Комиссия

Задаётся в процентах (например, 4,5), максимум 20 %; значение проверяется на сервере. Комиссия добавляется клиенту сверху: при пополнении на 500 ₽ и ставке 4,5 % платёжная система спишет 522,50 ₽, а на счёт зачислится ровно 500 ₽. Карточка справа пересчитывает пример при вводе.

Безопасность webhook

Аудит и сохранение

Каждое изменение пишется в журнал аудита (PAYMENT_SETTINGS) с автором и перечнем изменённых параметров: для обычных полей — старое и новое значение, для секретов — только факт замены. Кнопка «Сохранить настройки» закреплена внизу формы, не исчезает после сохранения и снова гаснет, когда изменений нет. Перезапуск сервера вынесен отдельной кнопкой и требует подтверждения.

Подробное описание API — на отдельной странице

Endpoints, схемы платежей, REST API v3 / HTTP, Wallet One, Mobile API — в разделе API, секция Платёжные API.

Маппа платёжных систем → FinTypes

При успешном платеже webhook (lk/services/payment.py::_credit_abonent) создаёт FinanceOperations с типом операции, выбираемым по pay_system. Маппа настраивается через /admin/dictionary/FinTypes/ + ключи SystemSettings:

pay_systemSystemSettings ключFinTypes по умолчанию
YooKassaLK_PAYMENT_OPTYPE_YOOKASSA«ЮKassa» (приход +1)
W1LK_PAYMENT_OPTYPE_W1«Wallet One (W1)» (приход +1)
cardLK_PAYMENT_OPTYPE_CARDtype_id=40 «Платёж с карты»
generic / fallbackLK_PAYMENT_OPTYPE_GENERICtype_id=23 «Оплата через платежные системы»

Зачем это нужно: у каждой платёжной системы свой FinTypes, и бухгалтерия разделяет источники — отчёты «итого через ЮKassa за месяц» работают через простой фильтр по op_type_id без парсинга поля descr.

Как изменить:

  1. Создать новый тип в Справочники → Типы фин. операций (например, «СБП» или «T-Bank»).
  2. Установить SystemSettings.value для соответствующего ключа = type_id нового типа. Через /admin/settings/system/ или management-команду set_system_setting LK_PAYMENT_OPTYPE_YOOKASSA 51.
  3. Webhook автоматически подхватит новое значение при следующем платеже (без рестарта).

Старые операции (под type_id=23) не переразмечаются — они остаются в истории под прежним типом. Только платежи, начисленные после миграции 0115, получают новые типы. Это безопасно: отчёты с интервалом «после 2026-05-08» получат правильную разбивку, ранние периоды останутся как есть.