mirror of
https://github.com/bpmbpm/doc.git
synced 2026-05-03 05:50:48 +00:00
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>
This commit is contained in:
parent
395b3d021d
commit
b47d1138ab
1 changed files with 431 additions and 0 deletions
431
IT/reliability_risk/risk/850P/flow/base/tp2sys_q.md
Normal file
431
IT/reliability_risk/risk/850P/flow/base/tp2sys_q.md
Normal file
|
|
@ -0,0 +1,431 @@
|
|||
# Схема взаимодействия ИТ-систем банка: операции с вкладами ФЛ
|
||||
|
||||
## Используемые системы
|
||||
|
||||
| Аббревиатура | Полное название | Роль |
|
||||
|---|---|---|
|
||||
| **АБС 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. Открытие вклада через ДБО ФЛ
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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Б — источник средств: перевод из стороннего банка через СБП
|
||||
```mermaid
|
||||
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. Открытие вклада через банкомат
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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. Пополнение вклада через банкомат картой своего банка
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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. Пополнение вклада через банкомат картой чужого банка
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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. Закрытие вклада через ДБО с зачислением на карту
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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В — закрытие с выводом через СБП на счёт в другом банке
|
||||
```mermaid
|
||||
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. Частичное снятие со вклада через банкомат с зачислением на карту
|
||||
|
||||
### Схема взаимодействия
|
||||
|
||||
```mermaid
|
||||
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Б — выдача наличными через банкомат (если вклад позволяет наличные выплаты)
|
||||
```mermaid
|
||||
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-канал обслуживания.
|
||||
Loading…
Add table
Add a link
Reference in a new issue