Перейти к содержанию

Карта сервисов OneWallet

Актуально: PM v2 с TigerBeetle (ветка move-to-tigerbeetle).
blnkfinance удалён — заменён на Payment Manager (Node.js) + TigerBeetle.
Диаграммы: Архитектура · Полный flow


Синхронные вызовы

От К Протокол Что
Flutter App nginx HTTPS + JWT Все запросы пользователя
nginx Auth Center HTTP (internal) /api/* — auth, KYC, профиль
nginx Payment Manager HTTP + HMAC /api/pm/* — баланс, история (после JWT check)
Auth Center Payment Manager HTTP + HMAC POST /intents — создание платежа (X-User-Id обязателен)
Mini-App Backend Payment Manager HTTP + HMAC POST /intents — только из внутренней сети
Admin Panel Auth Center HTTPS + JWT Управление пользователями, KYC
Payment Manager TigerBeetle TB SDK (TCP) Все финансовые операции (pending/post/void)
Payment Manager IPPS PPXC HTTPS /wallet-transfer/query + /wallet-transfer/confirm (Phase 1 — direct HTTP)

INTERNAL_P2P (operationType=P2P_TRANSFER) выполняется синхронно внутри PM — TigerBeetle PENDING + POST_PENDING в одном HTTP-запросе. Адаптер не нужен.

Асинхронные вызовы (Redis pub/sub + Streams)

Канал / Stream Продюсер Потребитель Назначение
intent.{id} (pub/sub) OutboxWorker (PM) Auth Center (Serverpod) Финальный статус SETTLED/FAILED → Flutter
stream.ipps.jobs Payment Manager IPPS Adapter Задания Fund-Out — Phase 2B
stream.ipps.results IPPS Adapter Payment Manager Результаты IPPS — Phase 2B
stream.qp.jobs Payment Manager QP Adapter Задания Fund-In (СБП) — Phase 2B
stream.qp.results QP Adapter Payment Manager Результаты QP — Phase 2B
stream.webhook.ipps Webhook Gateway Payment Manager Входящие IPPS refund — Phase 2B
stream.notifications.jobs PM / Auth Center / KYC Notifications Service Push FCM/APNs

Матрица доступа к TigerBeetle

Сервис Доступ Что может
Payment Manager ✅ единственный клиент Все операции: createAccounts, createTransfers (pending/post/void), lookupAccounts
Auth Center (Serverpod) ❌ нет Баланс только через nginx → PM (GET /api/pm/accounts/balance)
PSP Adapters ❌ нет Только через Redis Streams → PM
Admin Panel ❌ нет Только через API Auth Center / PM
Reconciliation Service ✅ READ (Phase 2C) Только lookupAccounts / lookupTransfers для сверки

Матрица доступа к PostgreSQL

Схема Кто пишет Кто читает
public.* Serverpod (через serverpod generate) Serverpod, PM read-only (search_path=pm,public)
pm.* Payment Manager (через drizzle-kit) PM, Admin Panel read-only

Инвариант: Serverpod не пишет в pm.*. PM не пишет в public.*.

Внешние зависимости

Сервис Внешний провайдер Назначение
IPPS PPXC Adapter IPPS PPXC API (BOT network) PromptPay Tag 29 (P2P), Tag 30 (Bill Payment)
QP API Adapter QP Processing API СБП Top Up — Phase 2B
kyc-service Google Gemini API OCR паспорта
kyc-service CompreFace Face matching
Auth Center SendGrid SMTP Email OTP
Auth Center FCM / APNs Push уведомления
Auth Center Garage S3 KYC документы (encrypted)