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
}Бизнес-процесс пополнения
- Пользователь создаёт заявку на пополнение через API Gateway.
- Payments-RU генерирует QR-код или ссылку (СБП C2B).
- Пользователь оплачивает в своем банк-клиенте.
- Банк отправляет Webhook в Payments-RU.
- Payments-RU проверяет подпись и публикует событие
FiatDepositedEventв Kafka. - CFA-Core получает событие и выпускает (mint) соответствующие
CFA-RUBв DLT.
Безопасность
- Идемпотентность: Строгая проверка уникальности каждого входящего платежа.
- Подпись запросов: Использование криптографических ключей для связи с банками.
- Тайм-ауты: Настроенные политики ретраев для внешних вызовов.