doc/IT/reliability_risk/risk/850P/flow/base/tp2sys_q.md
konard b47d1138ab Add tp2sys_q.md: detailed IT system interaction schemes for deposit operations
Resolves bpmbpm/doc#2. Covers all 6 deposit processes with Mermaid UML
sequence diagrams and information flow tables:
1. Open deposit via digital banking (ДБО ФЛ)
2. Open deposit via ATM
3. Top up deposit via ATM with own bank card
4. Top up deposit via ATM with another bank card (via НСПК/МИР)
5. Close deposit via digital banking with card credit
6. Partial withdrawal from deposit via ATM to card

Includes additional IT systems: HSM/Auth, AML/Scoring, Notify service.
Multiple implementation variants covered where applicable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-19 21:33:22 +00:00

34 KiB
Raw Blame History

Схема взаимодействия ИТ-систем банка: операции с вкладами ФЛ

Используемые системы

Аббревиатура Полное название Роль
АБС main Автоматизированная банковская система (главная книга) Ведение счетов вклада 423, бухгалтерский учёт, договоры вклада
АБС card Карточный бэк-офис Ведение карточных счетов 40817, авторизационные лимиты
Процессинг Lekton Classic (https://lekton.io/classic/) Авторизация карточных операций, маршрутизация транзакций ATM/POS
Anyway Anyway (https://finstream.ru/reshenija-dlja-bankov/anyway.html) Front-end процессинг ATM: управление сценариями, интерфейс банкоматов
ДБО ФЛ Интернет/мобильный банк (BSS, https://bssys.com/) Клиентский канал для дистанционного обслуживания физлиц
РМ НСПК Рабочее место НСПК Обмен клиринговыми реестрами с НСПК (MasterCard/Visa/МИР)
HSM/Auth Сервер авторизации / HSM Криптографическая защита PIN, генерация сессионных ключей
Notify Сервис уведомлений (SMS/Push) Информирование клиента о транзакциях
AML/Scoring Система ПОД/ФТ и скоринга Проверка клиента при открытии вклада

Процесс 1. Открытие вклада через ДБО ФЛ

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ДБО as ДБО ФЛ (BSS)
    participant АБС_М as АБС main
    participant АМЛ as AML/Scoring
    participant Notify as Сервис уведомлений

    Клиент->>ДБО: Выбор продукта «Открыть вклад»,\nввод суммы и срока
    ДБО->>АБС_М: Запрос условий (тарифы, ставки,\nдоступные продукты)
    АБС_М-->>ДБО: Список продуктов: наименование,\nставка, мин/макс сумма, срок, условия пролонгации
    ДБО->>АМЛ: Проверка клиента (ФИО, ИНН/паспорт,\nсумма, признак ПОД/ФТ)
    АМЛ-->>ДБО: Результат проверки: ОК / блокировка / запрос документов
    ДБО->>АБС_М: Команда открыть вклад:\n clientId, productCode, amount, currency,\n termDays, autoRenew, interestAccount (40817 или 423)
    АБС_М->>АБС_М: Создание договора вклада,\nоткрытие счёта 423хх,\nпроводка дебет источника / кредит 423хх
    АБС_М-->>ДБО: depositId, accountNo (423хх),\nrate, maturityDate, status=OPEN
    ДБО->>Notify: Событие: вклад открыт,\ndepositId, сумма, ставка, дата окончания
    Notify-->>Клиент: SMS/Push: «Вклад открыт. Счёт 423хх,\nсумма X руб., ставка Y%, срок до DD.MM.YYYY»
    ДБО-->>Клиент: Экран подтверждения:\nномер счёта, ставка, срок, условия

Вариант 1А — источник средств: текущий счёт / карта внутри банка

(описан выше — списание с карточного счёта 40817 или текущего счёта клиента в АБС main)

Вариант 1Б — источник средств: перевод из стороннего банка через СБП

sequenceDiagram
    actor Клиент
    participant ДБО as ДБО ФЛ (BSS)
    participant АБС_М as АБС main
    participant СБП as Шлюз СБП

    Клиент->>ДБО: Выбор источника пополнения «Другой банк (СБП)»
    ДБО->>СБП: Запрос на входящий C2C/C2B перевод:\nphone, amount, depositAccount (423хх), paymentPurpose
    СБП-->>ДБО: paymentId, статус «В обработке»
    Note over СБП,АБС_М: Деньги от стороннего банка поступают\nна корсчёт, зачисляются на транзитный счёт
    СБП->>АБС_М: Коллбэк: зачисление средств,\nsbpTxId, amount, depositAccount
    АБС_М->>АБС_М: Проводка транзитный счёт → 423хх
    АБС_М-->>ДБО: Уведомление: баланс вклада пополнен

Таблица информационных потоков — Процесс 1

Направление Данные Цель
1.1 Клиент → ДБО Параметры вклада: тип продукта, сумма, срок, счёт списания Инициирование заявки
1.2 ДБО → АБС main Запрос условий: clientId, productCode Получение актуальных тарифов
1.3 АБС main → ДБО Список продуктов: name, rate, minAmount, maxAmount, termDays, autoRenew Отображение предложений клиенту
1.4 ДБО → AML clientId, docSeries/docNo, INN, amount, operationType=DEPOSIT_OPEN Проверка ПОД/ФТ
1.5 AML → ДБО verdict: OK/BLOCK/REQUEST_DOCS, riskScore Разрешение или блокировка операции
1.6 ДБО → АБС main clientId, productCode, amount, currency, termDays, sourceAccount, interestAccount, autoRenew Команда открытия вклада
1.7 АБС main → АБС main Внутренние проводки: Дт sourceAccount — Кт 423хх Бухгалтерское отражение
1.8 АБС main → ДБО depositId, accountNo(423хх), rate, maturityDate, status=OPEN Подтверждение открытия
1.9 ДБО → Notify depositId, clientPhone, amount, rate, maturityDate Триггер уведомления
1.10 Notify → Клиент SMS/Push: реквизиты вклада Информирование клиента

Процесс 2. Открытие вклада через банкомат

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ATM as Банкомат
    participant Anyway as Anyway (ATM front-end)
    participant Proc as Процессинг (Lekton)
    participant HSM as HSM/Auth
    participant АБС_К as АБС card
    participant АБС_М as АБС main
    participant Notify as Сервис уведомлений

    Клиент->>ATM: Вставка карты + ввод PIN
    ATM->>Anyway: PIN-блок (зашифрован), cardNo (track2), terminalId
    Anyway->>Proc: ISO 8583 Authorization Request:\npan, track2, pinBlock, terminalId, txnType=BALANCE
    Proc->>HSM: Запрос верификации PIN:\npinBlock, PVK, cardNo
    HSM-->>Proc: Результат проверки PIN: ОК / FAIL
    Proc->>АБС_К: Проверка статуса карты: active/blocked,\nдоступный баланс, cardHolderId
    АБС_К-->>Proc: cardStatus, availableBalance, accountNo(40817)
    Proc-->>Anyway: Авторизация ОК, доступные операции
    Anyway-->>ATM: Меню: список доступных операций
    Клиент->>ATM: Выбор «Открыть вклад», ввод суммы и срока
    ATM->>Anyway: txnType=DEPOSIT_OPEN, cardNo, amount, termCode
    Anyway->>Proc: Запрос на открытие вклада:\npan, amount, termCode, merchantId
    Proc->>АБС_К: Проверка и резервирование суммы\nна карточном счёте 40817
    АБС_К-->>Proc: reserveId, availableAfter
    Proc->>АБС_М: Команда открытия вклада:\nclientId (по cardHolderId), productCode, amount,\ncurrency, termDays, sourceAccount(40817)
    АБС_М->>АБС_М: Открытие счёта 423хх, договор вклада,\nпроводка Дт 40817 — Кт 423хх
    АБС_М-->>Proc: depositId, accountNo(423хх), rate, maturityDate
    Proc-->>Anyway: Операция выполнена: depositId, accountNo, rate
    Anyway-->>ATM: Экран успеха: счёт вклада, ставка, срок
    ATM-->>Клиент: Чек: depositId, accountNo(423хх),\nсумма, ставка, дата окончания
    Proc->>Notify: Событие: вклад открыт через ATM,\ndepositId, amount, maturityDate
    Notify-->>Клиент: SMS: «Открыт вклад, счёт 423хх, сумма X руб

Таблица информационных потоков — Процесс 2

Направление Данные Цель
2.1 ATM → Anyway track2, pinBlock (зашифр. DES/3DES), terminalId, txnType=AUTH Передача данных карты и PIN для авторизации
2.2 Anyway → Процессинг ISO 8583: pan, track2, pinBlock, stan, terminalId, txnType Маршрутизация авторизационного запроса
2.3 Процессинг → HSM pinBlock, PVK (PIN Verification Key), cardNo Верификация PIN без раскрытия значения
2.4 HSM → Процессинг verifyResult: OK/FAIL Результат криптопроверки
2.5 Процессинг → АБС card cardNo, requestType=STATUS_BALANCE Проверка карты и баланса
2.6 АБС card → Процессинг cardStatus, availableBalance, accountNo(40817), cardHolderId Данные для решения об авторизации
2.7 ATM → Anyway txnType=DEPOSIT_OPEN, amount, termCode, cardNo Параметры открытия вклада от клиента
2.8 Процессинг → АБС card cardNo, amount, action=RESERVE Блокировка средств под операцию
2.9 Процессинг → АБС main clientId, productCode, amount, currency, termDays, sourceAccount(40817) Создание договора вклада
2.10 АБС main → Процессинг depositId, accountNo(423хх), rate, maturityDate, status=OPEN Подтверждение открытия
2.11 Процессинг → Notify clientPhone, depositId, amount, rate, maturityDate Отправка уведомления
2.12 ATM → Клиент Чековая лента: depositId, accountNo, сумма, ставка, дата окончания Документальное подтверждение для клиента

Процесс 3. Пополнение вклада через банкомат картой своего банка

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ATM as Банкомат
    participant Anyway as Anyway (ATM front-end)
    participant Proc as Процессинг (Lekton)
    participant HSM as HSM/Auth
    participant АБС_К as АБС card
    participant АБС_М as АБС main
    participant Notify as Сервис уведомлений

    Клиент->>ATM: Карта + PIN
    ATM->>Anyway: track2, pinBlock, terminalId
    Anyway->>Proc: ISO 8583 Auth Request
    Proc->>HSM: Верификация PIN
    HSM-->>Proc: OK
    Proc->>АБС_К: Проверка карты и баланса
    АБС_К-->>Proc: cardStatus=ACTIVE, availableBalance, accountNo(40817)
    Proc-->>Anyway: Авторизация ОК
    Клиент->>ATM: «Пополнить вклад», ввод номера счёта\nвклада 423хх и суммы
    ATM->>Anyway: txnType=DEPOSIT_TOPUP, srcCard, depositAccountNo(423хх), amount
    Anyway->>Proc: Запрос пополнения:\npan, depositAccountNo, amount, terminalId
    Proc->>АБС_К: Проверка достаточности средств\nна карточном счёте 40817
    АБС_К-->>Proc: sufficiencyResult: OK, newAvailableBalance
    Proc->>АБС_М: Команда пополнения вклада:\ntxnType=DEPOSIT_TOPUP, depositAccountNo(423хх),\namount, srcAccount(40817), authCode
    АБС_М->>АБС_М: Проводка: Дт 40817 — Кт 423хх,\nувеличение тела вклада
    АБС_М-->>Proc: txnId, depositBalance (новый), status=SUCCESS
    Proc->>АБС_К: Списание суммы с карточного счёта\n(финальное урегулирование)
    Proc-->>Anyway: txnId, newDepositBalance, status=SUCCESS
    Anyway-->>ATM: Экран успеха
    ATM-->>Клиент: Чек: списано X руб. с карты, зачислено на 423хх,\nновый остаток вклада
    Proc->>Notify: Событие DEPOSIT_TOPUP, amount, depositBalance
    Notify-->>Клиент: SMS/Push об операции

Таблица информационных потоков — Процесс 3

Направление Данные Цель
3.1 ATM → Anyway track2, pinBlock, terminalId Авторизация держателя карты
3.2 Процессинг → HSM pinBlock, PVK Верификация PIN
3.3 Процессинг → АБС card cardNo, requestType=BALANCE Проверка баланса источника
3.4 ATM → Anyway txnType=DEPOSIT_TOPUP, srcCardNo, depositAccountNo(423хх), amount Параметры пополнения
3.5 Процессинг → АБС card cardNo, amount, action=CHECK_SUFFICIENCY Проверка достаточности средств
3.6 Процессинг → АБС main txnType=DEPOSIT_TOPUP, depositAccountNo(423хх), amount, srcAccount(40817), authCode, txnRef Команда зачисления на вклад
3.7 АБС main → Процессинг txnId, newDepositBalance, valueDate, status=SUCCESS Подтверждение зачисления
3.8 Процессинг → АБС card authCode, amount, action=DEBIT_FINAL Окончательное списание с карты
3.9 ATM → Клиент Чек: сумма списания с карты, новый остаток вклада, txnId Подтверждение операции

Процесс 4. Пополнение вклада через банкомат картой чужого банка

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ATM as Банкомат
    participant Anyway as Anyway (ATM front-end)
    participant Proc as Процессинг (Lekton)
    participant HSM as HSM/Auth
    participant НСПК as РМ НСПК / Платёжная система\n(МИР/Visa/MC)
    participant БанкЭ as Банк-эмитент (чужой)
    participant АБС_М as АБС main
    participant Notify as Сервис уведомлений

    Клиент->>ATM: Карта чужого банка + PIN
    ATM->>Anyway: track2, pinBlock, terminalId, BIN чужого банка
    Anyway->>Proc: ISO 8583 Auth Request:\npan, track2, pinBlock, terminalId, txnType=CASH_IN
    Note over Proc: BIN анализ: карта стороннего банка —\nзапрос уходит во внешнюю сеть
    Proc->>HSM: Генерация сеансового ключа для\nшифрования PIN в межбанковском запросе
    HSM-->>Proc: sessionKey (ZPK)
    Proc->>НСПК: ISO 8583 Authorization Request (межбанк):\npan, pinBlock (перешифрован ZPK), amount,\nterminalId, acqBankId, txnType=PURCHASE/CASH
    НСПК->>БанкЭ: Авторизационный запрос:\npan, amount, txnType
    БанкЭ-->>НСПК: Авторизационный ответ:\nauthCode или rejectCode (недостаток средств, блок и т.д.)
    НСПК-->>Proc: authCode, responseCode
    Proc-->>Anyway: Авторизация ОК / отказ
    Anyway-->>ATM: Разрешение операции или сообщение об ошибке

    alt Авторизация прошла успешно
        Клиент->>ATM: «Пополнить вклад», depositAccountNo(423хх), amount
        ATM->>Anyway: txnType=DEPOSIT_TOPUP_INTERBANK, depositAccountNo, amount, authCode
        Anyway->>Proc: Команда пополнения: depositAccountNo(423хх), amount, authCode, srcBankBIN
        Proc->>АБС_М: Зачисление на вклад:\ndepositAccountNo(423хх), amount, authCode,\nsrcType=INTERBANK_CARD, interimAccount
        АБС_М->>АБС_М: Проводка: Дт межбанковский транзитный счёт — Кт 423хх
        АБС_М-->>Proc: txnId, newDepositBalance, status=SUCCESS
        Proc-->>Anyway: SUCCESS
        Anyway-->>ATM: Экран успеха
        ATM-->>Клиент: Чек: списано с карты стороннего банка X руб.,\nзачислено на вклад 423хх, баланс вклада
        Proc->>НСПК: Financial Advice (финансовое подтверждение):\nauthCode, amount, stan
        Note over НСПК,БанкЭ: Клиринговый реестр формируется\nдля расчётов между банками
        Notify->>Клиент: SMS/Push: «Вклад пополнен на X руб.»
    end

Вариант 4А — международная карта (Visa/MasterCard)

Аналогично, но вместо НСПК используется международная сеть. После санкций 2022 года для клиентов с картами Visa/MC иностранных банков — операция недоступна в большинстве российских банков. Актуально для карт МИР или UnionPay.

Вариант 4Б — карта МИР стороннего банка

(отображён на основной схеме — наиболее актуальный вариант)

Таблица информационных потоков — Процесс 4

Направление Данные Цель
4.1 ATM → Anyway track2, pinBlock, terminalId, BIN эмитента Идентификация карты стороннего банка
4.2 Процессинг → HSM pinBlock, ZPK Перешифрование PIN для межбанковской передачи
4.3 Процессинг → НСПК ISO 8583: pan, pinBlock(ZPK), amount, terminalId, acqBankId, txnType Запрос авторизации в банке-эмитенте
4.4 НСПК → Банк-эмитент pan, amount, txnType, acqBankId Маршрутизация авторизации
4.5 Банк-эмитент → НСПК authCode / rejectCode, availableBalance Решение по авторизации
4.6 НСПК → Процессинг authCode, responseCode Результат межбанковской авторизации
4.7 Процессинг → АБС main depositAccountNo(423хх), amount, authCode, srcType=INTERBANK_CARD, interimTransitAccount Зачисление средств на вклад
4.8 АБС main → Процессинг txnId, newDepositBalance, status=SUCCESS Подтверждение зачисления
4.9 Процессинг → НСПК Financial Advice: authCode, stan, amount Финансовое подтверждение (клиринг)
4.10 НСПК → РМ НСПК (реестры) Клиринговый реестр: список транзакций за день, суммы, банки Межбанковские расчёты
4.11 ATM → Клиент Чек: сумма, счёт вклада 423хх, баланс, txnId Документальное подтверждение

Процесс 5. Закрытие вклада через ДБО с зачислением на карту

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ДБО as ДБО ФЛ (BSS)
    participant АБС_М as АБС main
    participant АБС_К as АБС card
    participant Proc as Процессинг (Lekton)
    participant Notify as Сервис уведомлений

    Клиент->>ДБО: «Закрыть вклад», выбор вклада,\nуказание карты для зачисления
    ДБО->>АБС_М: Запрос данных вклада:\ndepositId → depositBalance, accruedInterest,\nmaturityDate, penaltyConditions
    АБС_М-->>ДБО: depositBalance, accruedInterest,\nearlyClosurePenalty (если досрочно),\nnetAmount (к выплате), status
    ДБО-->>Клиент: Предварительный расчёт:\nосновной долг, начисленные проценты,\nштраф за досрочное закрытие, итого к выдаче
    Клиент->>ДБО: Подтверждение закрытия (ПЭП / SMS-OTP)
    ДБО->>АБС_М: Команда закрытия вклада:\ndepositId, targetAccount(40817), confirmCode
    АБС_М->>АБС_М: Расчёт итоговых процентов (в т.ч. доначисление\nза последний период), применение штрафа\nза досрочное закрытие (если применимо)
    АБС_М->>АБС_М: Проводки:\nДт 423хх (основной долг) — Кт 40817\nДт Счёт начисл. процентов — Кт 40817\nДт 40817 (штраф, если есть) — Кт Доходы банка\nЗакрытие счёта 423хх
    АБС_М->>АБС_К: Запрос на зачисление суммы на карточный счёт:\ntargetAccount(40817), netAmount, txnRef
    АБС_К-->>АБС_М: Подтверждение зачисления: txnId, newCardBalance
    АБС_М-->>ДБО: depositStatus=CLOSED, netAmount,\ntxnId, newCardBalance
    ДБО->>Notify: Событие: вклад закрыт, netAmount, cardAccount
    Notify-->>Клиент: SMS/Push: «Вклад закрыт. Зачислено X руб. на карту *1234»
    ДБО-->>Клиент: Экран: вклад закрыт, сумма зачисления,\nновый баланс карты

Вариант 5А — закрытие в срок (maturityDate = сегодня)

Штраф за досрочное закрытие не применяется. Проценты начислены в полном объёме.

Вариант 5Б — досрочное закрытие

Применяется пересчёт процентов по ставке «до востребования» или по условиям договора. Разница вычитается (штраф).

Вариант 5В — закрытие с выводом через СБП на счёт в другом банке

sequenceDiagram
    participant АБС_М as АБС main
    participant ДБО as ДБО ФЛ (BSS)
    participant СБП as Шлюз СБП

    АБС_М-->>ДБО: netAmount подтверждён
    ДБО->>СБП: P2P-запрос: phone (получатель),\nextBankId, netAmount, purpose=«Закрытие вклада»
    СБП-->>ДБО: transferId, status=IN_PROGRESS
    СБП-->>ДБО: Коллбэк: status=SUCCESS, sbpTxId
    ДБО-->>АБС_М: Вклад закрыт, средства выведены через СБП

Таблица информационных потоков — Процесс 5

Направление Данные Цель
5.1 Клиент → ДБО depositId, targetCardAccount(40817), confirmType Инициирование закрытия
5.2 ДБО → АБС main depositId, requestType=CLOSE_PREVIEW Предварительный расчёт суммы к выплате
5.3 АБС main → ДБО depositBalance, accruedInterest, earlyClosurePenalty, netAmount Данные для согласования с клиентом
5.4 Клиент → ДБО OTP-код подтверждения (SMS/Push) Верификация намерения клиента
5.5 ДБО → АБС main depositId, action=CLOSE, targetAccount(40817), confirmCode Команда закрытия
5.6 АБС main → АБС main Внутренние проводки: закрытие 423хх, начисление % Бухгалтерское урегулирование
5.7 АБС main → АБС card targetAccount(40817), netAmount, txnRef=depositClosure Зачисление средств на карту
5.8 АБС card → АБС main txnId, newCardBalance Подтверждение зачисления
5.9 АБС main → ДБО depositStatus=CLOSED, netAmount, txnId, newCardBalance Итоговый статус операции
5.10 ДБО → Notify clientPhone, netAmount, cardLastDigits, closureDate Триггер уведомления
5.11 Notify → Клиент SMS/Push: сумма зачисления, карта, дата Информирование

Процесс 6. Частичное снятие со вклада через банкомат с зачислением на карту

Схема взаимодействия

sequenceDiagram
    actor Клиент
    participant ATM as Банкомат
    participant Anyway as Anyway (ATM front-end)
    participant Proc as Процессинг (Lekton)
    participant HSM as HSM/Auth
    participant АБС_К as АБС card
    participant АБС_М as АБС main
    participant Notify as Сервис уведомлений

    Клиент->>ATM: Карта + PIN
    ATM->>Anyway: track2, pinBlock, terminalId
    Anyway->>Proc: ISO 8583 Auth Request
    Proc->>HSM: Верификация PIN
    HSM-->>Proc: OK
    Proc->>АБС_К: Проверка статуса карты
    АБС_К-->>Proc: cardStatus=ACTIVE, accountNo(40817)
    Proc-->>Anyway: Авторизация ОК
    Anyway-->>ATM: Главное меню
    Клиент->>ATM: «Операции с вкладом» → «Частичное снятие»,\nввод номера вклада 423хх и суммы снятия
    ATM->>Anyway: txnType=DEPOSIT_PARTIAL_WITHDRAW,\ndepositAccountNo(423хх), withdrawAmount, targetCard(40817)
    Anyway->>Proc: Запрос частичного снятия:\ndepositAccountNo, withdrawAmount, targetCardAccount
    Proc->>АБС_М: Проверка условий частичного снятия:\ndepositAccountNo(423хх), withdrawAmount
    АБС_М-->>Proc: isPartialAllowed: true/false,\nminRemainBalance (неснижаемый остаток),\ncurrentBalance, maxWithdrawAmount
    alt Снятие разрешено условиями вклада
        Proc->>АБС_М: Команда частичного снятия:\ndepositAccountNo(423хх), withdrawAmount,\ntargetAccount(40817), authCode
        АБС_М->>АБС_М: Проверка: остаток после снятия ≥ minRemainBalance\nПересчёт процентов (если условия меняются)\nПроводка: Дт 423хх — Кт 40817
        АБС_М->>АБС_К: Зачисление на карточный счёт:\ntargetAccount(40817), withdrawAmount, txnRef
        АБС_К-->>АБС_М: Подтверждение: txnId, newCardBalance
        АБС_М-->>Proc: txnId, newDepositBalance, newCardBalance, status=SUCCESS
        Proc-->>Anyway: SUCCESS
        Anyway-->>ATM: Экран успеха
        ATM-->>Клиент: Чек: снято X руб. с вклада 423хх,\nзачислено на карту *1234,\nостаток вклада после операции
        Proc->>Notify: DEPOSIT_PARTIAL_WITHDRAW: withdrawAmount,\nnewDepositBalance, cardLastDigits
        Notify-->>Клиент: SMS/Push: «Снято X руб. со вклада. Новый остаток Y руб.»
    else Снятие запрещено (неснижаемый остаток, нет частичного снятия)
        Proc-->>Anyway: ERROR: WITHDRAWAL_NOT_ALLOWED, reason
        Anyway-->>ATM: Экран отказа с причиной
        ATM-->>Клиент: «Операция недоступна. [Причина]»
    end

Вариант 6А — вклад с возможностью частичного снятия

(описан выше — стандартный вклад типа «Накопительный» с неснижаемым остатком)

Вариант 6Б — выдача наличными через банкомат (если вклад позволяет наличные выплаты)

sequenceDiagram
    participant ATM as Банкомат
    participant Anyway as Anyway (ATM front-end)
    participant Proc as Процессинг (Lekton)
    participant АБС_М as АБС main

    ATM->>Anyway: txnType=DEPOSIT_CASH_WITHDRAW,\ndepositAccountNo(423хх), amount
    Anyway->>Proc: Запрос наличной выдачи с вклада
    Proc->>АБС_М: Списание с 423хх, проводка на счёт кассы ATM
    АБС_М-->>Proc: txnId, newDepositBalance
    Proc-->>Anyway: Команда диспенсеру выдать купюры
    Anyway-->>ATM: Выдача наличных
    Note over ATM: Диспенсер выдаёт купюры клиенту

Таблица информационных потоков — Процесс 6

Направление Данные Цель
6.1 ATM → Anyway track2, pinBlock, terminalId Авторизация держателя карты
6.2 Процессинг → HSM pinBlock, PVK Верификация PIN
6.3 Процессинг → АБС card cardNo, requestType=STATUS Проверка статуса карты
6.4 ATM → Anyway txnType=DEPOSIT_PARTIAL_WITHDRAW, depositAccountNo(423хх), withdrawAmount, targetCardAccount(40817) Параметры частичного снятия
6.5 Процессинг → АБС main depositAccountNo(423хх), requestType=CHECK_PARTIAL_WITHDRAW, withdrawAmount Проверка допустимости операции
6.6 АБС main → Процессинг isPartialAllowed, minRemainBalance, currentBalance, maxWithdrawAmount Условия частичного снятия по договору
6.7 Процессинг → АБС main txnType=DEPOSIT_PARTIAL_WITHDRAW, depositAccountNo(423хх), withdrawAmount, targetAccount(40817), authCode Команда списания с вклада
6.8 АБС main → АБС card targetAccount(40817), withdrawAmount, txnRef Зачисление на карту
6.9 АБС card → АБС main txnId, newCardBalance Подтверждение зачисления
6.10 АБС main → Процессинг txnId, newDepositBalance, newCardBalance, status=SUCCESS Итоговый статус операции
6.11 ATM → Клиент Чек: снятая сумма, остаток вклада, новый баланс карты Документальное подтверждение
6.12 Процессинг → Notify withdrawAmount, newDepositBalance, cardLastDigits Триггер уведомления

Сводная таблица систем и их роли в процессах

Система П1 (откр. ДБО) П2 (откр. ATM) П3 (попол. ATM своя карта) П4 (попол. ATM чужая карта) П5 (закр. ДБО) П6 (снят. ATM)
ДБО ФЛ (BSS)
АБС main
АБС card
Процессинг (Lekton)
Anyway
HSM/Auth
РМ НСПК
Сервис уведомлений
AML/Scoring
Шлюз СБП опц. опц.

Примечание. В процессах с банкоматом система Anyway выступает как front-end процессор (управляет сценариями ATM и диспенсером), а Процессинг (Lekton) — как авторизационный движок, выполняющий маршрутизацию ISO 8583 запросов и взаимодействие с банками-корреспондентами. Оба компонента вместе образуют ATM-канал обслуживания.