Манитон Docs

Payments-RU Service

Шлюз для работы с российскими платежными системами

Payments-RU Service (В разработке)

Статус: Проектирование (Sprint 1). Мост в традиционный фиатный мир РФ.

Payments-RU обеспечивает мост между традиционной банковской системой РФ и платформой Манитон.

Основные функции

  • Интеграция с СБП (Система Быстрых Платежей): Генерация QR-кодов и ссылок для оплаты.
  • Обработка вебхуков: Прием уведомлений от банков об успешных платежах.
  • Вывод средств: Инициация обратных платежей пользователям.
  • Сверка (Reconciliation): Ежедневная проверка соответствия остатков на банковском счету и объема выпущенных CFA-RUB.

Технологический стек

  • Фреймворк: NestJS
  • База данных: PostgreSQL (для логов платежей и идемпотентности)
  • Интеграции: API Банков-партнеров, НСПК.

Модель данных (Protobuf)

message PaymentIntent {
  string payment_id = 1;
  string user_id = 2;
  Money amount = 3;
  PaymentMethod method = 4;  // SBP_C2B / SBP_QR / BANK_TRANSFER
  PaymentStatus status = 5;
  string payment_url = 6;
  string qr_payload = 7;
}

message PaymentWebhook {
  string payment_id = 1;
  PaymentStatus status = 2;
  Money amount = 3;
  string provider_payload = 4;
}

message PayoutRequest {
  string payout_id = 1;
  string user_id = 2;
  Money amount = 3;
  string bank_account = 4;
  PaymentStatus status = 5;
}

message ReconcileReport {
  string report_id = 1;
  Timestamp business_date = 2;
  Money bank_balance = 3;       // Баланс на счёте банка
  Money token_supply = 4;       // Общий supply CFA-RUB
  bool balanced = 5;            // bank_balance == token_supply
}

Бизнес-процесс пополнения

  1. Пользователь создаёт заявку на пополнение через API Gateway.
  2. Payments-RU генерирует QR-код или ссылку (СБП C2B).
  3. Пользователь оплачивает в своем банк-клиенте.
  4. Банк отправляет Webhook в Payments-RU.
  5. Payments-RU проверяет подпись и публикует событие FiatDepositedEvent в Kafka.
  6. CFA-Core получает событие и выпускает (mint) соответствующие CFA-RUB в DLT.

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

  • Идемпотентность: Строгая проверка уникальности каждого входящего платежа.
  • Подпись запросов: Использование криптографических ключей для связи с банками.
  • Тайм-ауты: Настроенные политики ретраев для внешних вызовов.

On this page