Тема
BackOffice: транзакции, мерчанты, гейты, банки, счета
Внутренняя админка (superpos-admin-frontend, в меню — логотип NETCO) — то место, где вручную создаются тестовые сущности и просматриваются транзакции. Раздел «Потрогать систему» просит создать мерчанта, гейт и счета руками — здесь то же самое, но с объяснением, где что искать. Адрес на вашем тестовом стенде — https://backoffice.<стенд>.smartstaging.xyz (подставьте адрес вашего тестового стенда).
Транзакции
Первый пункт меню — самый частый. Открывается сразу большая панель фильтров: по умолчанию задан период «последние сутки», дальше есть отдельные поля почти под любой идентификатор, который встречается в транзакции — ID, ID заказа, ID процессинга, RRN, ARN (Acquirer Reference Number банка, не путать с AWS ARN секрета гейта — про него ниже), номер карты и её последние четыре цифры, Token ID, Email, диапазон сумм и так далее. Отдельно можно отфильтровать по мерчанту, гейту, банку, балансировщику, типу транзакции и статусу.
Результат — таблица с типом операции, датой, ID транзакции, мерчантом, счётом, гейтом, страной, суммой, статусом и причиной. Кликом по строке открывается карточка транзакции — там вся история: какие стадии она прошла, что вернул банк, запросы и ответы драйвера, связанные операции (например, возврат для платежа). Это первое место, куда стоит идти при разборе конкретного платежа.
Мерчанты
Раздел «Мерчанты» — список мерчантов с фильтром по ключу и дескриптору, плюс вкладки «Архив», «Группы мерчантов», «Группы IP» (последнее — те самые merchant_ip_groups, см. Аутентификация и подписи).
Создание мерчанта — кнопка «+» в правом верхнем углу списка. Форма минимальная: Название мерчанта (Мерчант Key), Пароль — legacy-поле, сейчас не используется, можно сгенерировать любое значение, и Ключ — генерируется автоматически, это тот самый merchant-ключ для Sign-based Auth (описан в Аутентификация и подписи).
Открыв конкретного мерчанта, попадаете на его карточку с вкладками:
- Счета — открывается по умолчанию, про неё ниже.
- Аналитика — графики конверсии.
- Информация — общие настройки мерчанта.
- История изменений — кто и что менял.
- Источники — источники трафика.
- Return Domains — домены для редиректов после хостед-формы.
Счета
Счёт — это привязка мерчанта к конкретному гейту и валюте, на которой копится баланс (подробно — Модель денег). Управляются на вкладке «Счета» карточки мерчанта, кнопка «Добавить» открывает форму:
- Тип аккаунта — обычно
Billing. - Гейт — через какой гейт счёт будет проводить операции. Для оплат и выплат делайте отдельные счета, даже если гейт один и тот же.
- Балансировщик — альтернатива одиночному гейту, если счёт должен работать через каскад.
- Валюта — валюта счёта; должна совпадать с валютой выбранного гейта.
- Название аккаунта, комиссии (
минимальная,максимальная,фи,проценты) — по умолчанию можно оставить нули для тестового счёта. - Переключатель «Оплата» — включает приём платежей на счёт; для выплатного счёта его стоит выключить и завести отдельный счёт под выплаты.
Для чек-листа «Потрогать систему» нужно завести два счёта на одном мерчанте и гейте — один платёжный, один выплатной.
Гейты
Раздел «Гейты» — список всех связок «банк + валюта» в системе (что такое гейт и чем он отличается от банка — Как выбирается банк). Таблица показывает валюту и название гейта, MCC, банк, комиссию банка и внутренний Id.
Создание гейта — кнопка «+» открывает форму: Название гейта, MCC код, Банк (выбор из уже заведённых банков, см. ниже), Валюта, банковские комиссии, Дескриптор, Счётчик номера транзакции, Драйвер банка (конкретная реализация из слоя драйверов), лимиты и округление. Для sandbox-гейта из чек-листа достаточно названия, банка sandbox, валюты EUR и драйвера sandbox — остальное можно оставить пустым.
Ниже формы, в карточке уже созданного гейта, есть блок «Системные поля» — произвольные пары «название/значение», которые видит драйвер банка через gate.system. Здесь и указывается конфигурация конкретного банка, в частности:
ARN секрета гейта. Реальные (не sandbox) драйверы получают ключи и пароли провайдера не из полей формы гейта, а из AWS Secrets Manager — драйвер запрашивает секрет по ARN, который лежит в системном поле с названием secretId. Чтобы подключить гейт к боевому провайдеру, добавьте в «Системные поля» запись secretId → ARN секрета (секрет предварительно создаётся через пункт меню «Создание секретов», разово или пакетно через xlsx-загрузку).
Для sandbox-гейта secretId не нужен — sandbox-драйвер ни к какому внешнему провайдеру не ходит и секретов не читает. Это же верно для чек-листа «Потрогать систему»: sandbox-гейта с пустыми системными полями достаточно.
Банки
Раздел «Банки» — справочник банков-эквайеров: название, внутренний Id, Драйвера (какие драйверы могут работать через этот банк — их может быть несколько, например sandbox,CryptoSandbox) и статус (Активен/выключен). Банк — это верхнеуровневая сущность в паре «банк → гейт»: один банк может стоять за несколькими гейтами в разных валютах (так и устроен sandbox — от него заведены гейты и в EUR, и в ETH). Создание нового банка — редкая операция, обычно она идёт вместе с интеграцией нового драйвера, см. Как написать драйвер.