Комментарии 35
Спасибо, всё очень подробно расписано, пойду, пожалуй, писать свой клиринг. Так, для галочки, вопрос: как считаете копейки? Сразу все суммы считаете в копейках/центах, где вместо 200 рублей поступает 20000 копеек или используете какой-то тип с десятичными знаками?
Меня интересует один вопрос: какого лешего функцию клиринга не берёт на себя ЦБ? Почему нельзя расширить функциональность и производительность того же СПФС, дабы банки просто проксировали запросы пользователей напрямую. Вместо этого плодятся разные системы частично дублирующие друг друга, да ещё и тащащие кучу легаси в придачу.
какого лешего функцию клиринга не берёт на себя ЦБ
Я не автор, но предположу.
Сломается тогда ЦБ, не выдержит нагрузки :). Кроме того, мне кажется, что на этапе агрегирования платежей на уровне банка общее количество транзакций уменьшается. Допустим, купил в магазине человек колбасы и водки, оплатил картой. А потом сразу передумал - "возьму лучше коньяка с лимоном". На терминале оформляется возврат и потом новая покупка. Соотв., через межбанк в итоге пойдет не три операции (первая покупка, ее возврат, вторая покупка), а только одна (вторая покупка).
Т.е. "Мир" и им подобные нагрузку выдерживают, а ЦБ не смогёт? Напоминаю, что "Мир" это НСПК, 100% владельцем которого является ЦБ. Как транзакции агрегировать на уровне банка это дело банка (в идеальном для банка случае транзакция вообще пройдёт полностью внутри банка), к клирингу это не имеет никакого отношения.
Т.е. "Мир" и им подобные нагрузку выдерживают, а ЦБ не смогёт?
Ударюсь еще глубже в предположения. ИТ-обеспечение банков и банковских систем не вчера создавалось и ЦБ вынужден поддерживать обратную совместимость. Что не лучшим образом сказывается на производительности обработки. А "МИР" относительно свеженаписанная штука, ее сразу можно было сделать красиво :)
Но, повторюсь, лучше на этот вопрос попросить ответить топикстартера...
Задача ПС Мир, как и любой другой платежной системы, обеспечить функционирование платежей по банковским картам. Клиринг - одна из функций платежной системы.
Нельзя свалить в кучу любые финансовые потоки в один котел, в вашем примере ЦБ, и говорить - посчитайте пожалуйста.
В конечном итоге расчеты будут проведены в ЦБ, тк платежная система не отвечает за движение денег. Об этом, кстати, рассказывается в другой нашей статье.
Нельзя свалить в кучу любые финансовые потоки в один котел, в вашем примере ЦБ, и говорить - посчитайте пожалуйста.
Почему это нельзя? С подробностями, пожалуйста. Зачем нужны посредники в виде "Мира" если банки могут вести взаиморасчёты используя корреспондентские счета в ЦБ используя нечто вроде СПФС (разумеется, масштабированную на необходимую нагрузку)? Т.к. "Миром" по сути владеет ЦБ, то все технические возможности у него для этого есть. Если забыть о наличных деньгах, то настоящими рублями являются только циферки на корсчетах ЦБ, всё остальное это наслоение (зачастую просящих своих комиссий) абстракций.
По сути, задачей банковской карты является подпись сообщения "переведи N тугриков с моего счёта в банке А на вот этот счёт в банке Б". Как это сообщение обрабатывается дальше может выглядеть как угодно.
а что по авторизации,мастерданнным по банковским продуктам, электронным кошелькам, токенизации, прямые/непрямые участники? Тоже в СПФС передать?) клиринг это основополагающая, но не самодостаточная часть функционала платежной системы.
Возможно потому что думали как раз и о других вариантах.
- не всегда соответствие карты и счета взаимно однозназначное (несколько карт к счету, карты третьих лиц)
- кредитки тоже существуют и как берутся комиссии в этом случае — это достаточно запутанная процедура (вот кстати подозреваю что именно по этой причине совсем не все банки дают возможность использовать счета кредиток для СБПэй)
- платежные системы — штука международная, да, даже МИР сейчас. При кроссбордере все равно нужен промежуточный этап потому что один из банков задействованных в расчетах по карте может не иметь счета в ЦБ РФ а все должно работать. И работает. Ну и конвертация валют тоже нужна.
- как минимум для Visa/MC существует разная экзотика вроде предоплаченных и непополняемых карт — зачем для них счета заводить?
Ну и внезапно — https://www.cbr.ru/fintech/dr/
не всегда соответствие карты и счета взаимно однозназначное
Карта по сути является носителем приватного ключа. Несколько ключевых пар могут обеспечивать доступ к одному счёту. Это сугубо вопрос обработки сообщений банком и принятия им решений считать транзакцию валидной или нет. ЦБ видны только транзакции между корсчтами банков.
кредитки тоже существуют и как берутся комиссии в этом случае — это достаточно запутанная процедура
Опять же, это сугубо дело банка как начислять комиссии пользователям внутри своей системы, нет? Внешнему наблюдателю (ЦБ) нет никакой разницы перевод осуществлялся с кредитной или дебетной карты. В обоих случаях он видит только перевод с корсчёта одного банка на корсчёт другого.
как минимум для Visa/MC существует разная экзотика вроде предоплаченных и непополняемых карт — зачем для них счета заводить?
Баланс таких карт всё-равно является liability какого-то банка, нет? При осуществлении перевода ЦБ снова без разницы с какого типа карты производился перевод.
платежные системы — штука международная, да, даже МИР сейчас
Тут согласен, для нахождения цепочки банков-корреспондентов нужна отдельная система. Хотя конечно в идеале должен быть протокол между ЦБ стран, дабы они всегда выступали банками-корреспондентами, вместо того что бы полагаться на частные конторы. Но согласовывать подобные вещи между странами конечно на порядки тяжелее...
Ну и внезапно — https://www.cbr.ru/fintech/dr/
Да, "цифровой рубль" это (большой) шаг в нужном направлении. Но мне непонятно зачем вводить его когда уже существует безналичный рубль. В чём принципиальные отличия между ними? Только в протоколах работы с ними?
Карта по сути является носителем приватного ключа. Несколько ключевых пар могут обеспечивать доступ к одному счёту. Это сугубо вопрос обработки сообщений банком и принятия им решений считать транзакцию валидной или нет.
А кто будет решать если с банком внезапно нет связи, или у терминала оплаты нет связи (и при этом банк-эквайр и ПС в курсе что такое бывает)? Автоматический отказ? Клиенты будут рады. (Реально насколько знаю там система лимитов хитрая + операции ниже определенного лимита можно полностью в оффлайне и банк(любой) может узнать сильно потом. И потом клиент улетит в теховердрафт если много потратил).
Пример где с МИРом используется часто используется оффлайн для терминала — оплата проезда в общественном транспорте.
ЦБ видны только транзакции между корсчтами банков.
Так, а речь про то чтобы клиринг заменить на переводы между корсчетами или все же чисто убрать НСПК?
Баланс таких карт всё-равно является liability какого-то банка, нет
Насколько я знаю — не обязательно.
Также, насколько я знаю — в России сейчас — за любой официально выпущенной картой — банк стоит и любая компания (если она сама не банк) должна предоставлять эту информацию клиентам (пример — Мегафон и Банк Раунд)
Ну и случаи когда баланс "обычной" карты привязан еще к чему то не забываем (пример — ТиньковМобайл и Мегафон которые могут вам карту выпустить где баланс карты = баланс сотового телефона за вычетом бонусного)
Опять же, это сугубо дело банка как начислять комиссии пользователям внутри своей системы, нет?
Для этого им нужно знать что за операции, от кого и так далее.
Вот все сложные случаи учитывать — проще оставить отдельно карты и отдельно — счета.
Ну и не забываем про 3D Secure и прочий фродчек — может платежная система заблокиоровать операцию, может один из банков. Это тоже на ЦБ?
Вот и выходит что с картами должна работать отдельная структура. Пусть даже принадлежащая ЦБ.
но мне непонятно зачем вводить его когда уже существует безналичный рубль. В чём принципиальные отличия между ними? Только в протоколах работы с ними?
Насколько я понимаю основные отличия следующие:
- "счет" в ЦБ (а НЕ в банке)
- это "немного" криптовалюта (есть некоторые элементы)
- есть оффлайн. В смысле можно с одного кошелька на другой перевести если ни у одного из кошельков в данный момент нет доступа в интернет
- можно вешать метки, вполне себе можно например перевести человеку рубли которые он не сможет потратить на пиво и на пожертвования медузе (в теории -:), возможно что реально он вместо пива купит сок, ну точнее это будет сок по документам)
На первой диаграмме слово "эквайер" написано с ошибкой (эквайрер) :). Это довольно распространенный косяк (одно время даже двойное написание практиковалось), т.к. acquirer можно по-разному произносить.
А по какому курсу проходит конвертиция если клиент с рублевой картой оплачивает 100 тенге в кафе?
В клиринге конвертация происходит по так называемому «авторизационному курсу», который был актуальным в момент совершения платежа.
авторизационному курсу какого банка?
По курсу ПС Мир
Как платёжная система понимает, что ей нужно конвертировать валюту? Допустим, мастеркардом я оплачиваю (оплачивал) долларовый счёт рублёвой картой, при этом конвертация рублей в доллары выполняется по курсу банка, выпустившего мою карту.
В каких случаях конвертация выполняется платёжной системой? Если можно, хотелось бы подробнее узнать как это работает в ПС Мир.
У каждой платежной системы есть собственная валюта расчётов, то есть валюта к которой все в итоге сводится и в какой валюте производятся расчеты. Соответственно, если валюта покупки отличается от валюты расчетов платежной системы, то происходит конвертация. Ваш банк вправе производить конвертацию по своим правилам, совпадающим или нет с правилами ПС.
Клиринг - похоже на древнюю систему расчета "Хавала" https://habr.com/ru/post/684594/
Взаиморасчеты по Мир всегда делаются через корсчета в ЦБ? Прямые коротношения между банками не могут использоваться?
Под расчеты по Мир на корсчете эмитента резервируется лимит?
Как насчёт расчетов картой Мир за границей, с кем идут взаиморасчеты?
Ваши вопросы уже за пределами функции клиринговой системы. За движения денег система уже не отвечает. Попытались отразить это в другой нашей статье.
Ограничения на общую сумму переводов в месяц - это технические ограничения возможностей системы клиринга или ЦБ?
И ещё вопрос: банки узнают, сколько я потратил, после ваших выгрузок файлов в банки. Тогда как банки узнают о моей оплате и сразу оповещают по смс?
А внутрибанковские платежи тоже проходят через вашу клиринговую систему? Есть ли смысл?
Какие конкретно ограничения вы имеете ввиду? У клиринговой системы как таковой нет ограничений, при условии конечно, что вы не купите по карте Луну. Тут могут закончиться разряды в протоколе :)
Банки знают, сколько вы потратили не после клиринга, а сразу, так как ПС это не только клиринг, а еще авторизация. Про это должна быть отдельная статья... ?
Нет, внутрибанковские операции проходят внутри банков, о которых они лишь информируют ПС.
У меня другой вопрос.
Зачем городить ВСЁ ЭТО ☝? на старых стандартах? Столько вариантов потери данных. Столько ошибок. Время и ресурсы.
Почему не взять стандартизированные смартконтракты блокчейна? Это быстрее и надежнее.
:-) А откуда вдруг "тайные знания" что "быстрее и надежнее"? "Бесплатно" ничего не бывает... Если надежнее (а блокчейн надежности реально добавляет), то точно не "быстрее"... Ну и JSON с его парсингом и хранением в БД (причем зачастую парсингом и на "входе" и на "выходе") скорости и производительности точно не добавляет (кроме удобства программистам). :-)
Так что "новые стандарты" = это дополнительные вычислительные ресурсы для обработки. Микросервисы = это дополнительные вычислительные ресурсы для обработки и синхронизации данных + затраты и проблемы эксплуатации (с ростом объема оборудования и сложности организации всей системы).
"Модно-молодежно" не всегда эффективно.... :-)
Не готова рассуждать о преимуществах смартконтрактов блокчейна, тк не разбираюсь в этой технологии. Но готова порассуждать с вами вместе о другом... Представим, что мы с вами находимся в условном 2014-2015 году и нам нужно запустить свою платежную систему.
При этом нужно учесть:
выбрать доступный и понятный интерфейс для обычного, как мы с вами или как наши бабушки, пользователя;
выбрать технологию и девайсы, принимающие этот интерфейс;
наша технология должна работать как минимум на территории всей страны, даже там, где нет интернета или он очень слабый. В перспективе и в других странах тоже.
трудозатраты всех участников рынка на поддержание нашей технологии: банков, компаний-разработчиков процессингового и терминального ПО, итд;
Как бы вы решали такую задачу, используя ваше предложение?
Вообще на данную, специфичную тему есть много тех документации. Некоторые личности, при должном упрямстве, смогли даже глянуть под капот работы visa, которая, как и несколько отдельных банков и фин учреждений, обкатывают блокчейн для своей прежде всего выгоды аж с 19 года, а разработками еще дольше. Я продолжаю следить.
Интерфейс никак не меняется, если мы используем блокчейн «под капотом», а не заставляем «бабушек» ставить криптокошельки с тотемными фразами. Базовые понятия фронтед и бэкэнд? Нет?
Опять же не понимаю этот вопрос. Люди, знакомые с технологией и принципом, этим не задаются. Вы понимаете же, что все происходит грубо говоря на серверах банка?! Вы работаете по принципу криптобиржи. Это очень поверхностное сравнение, но крайне точное. Вы как бы владеете моим криптокошельком. На этом всё. Бабушка заходя в апп банка не управляет криптовалютами. Она делают заявку. Так же, как в случае классического банка.
Никакой банк без интернета тоже не работает. Не припоминаю, чтобы в России чеки выписывали или сканировали кредитки, чтобы позже списать в точке доступа к интернету. Это не про нас. А технологию можно выбрать любую на вкус. Все известные мне фин учреждения сша выбрали разные технологии (протоколы), некоторые даже свою. Их в сумме более 400. Что касается межбанковского сотрудничества то это еще проще, особенно со странами использующие криптовалюты для расчетов под санкциями.
Трудозатраты и капитальные вложения куда меньше, чем при вашем исполнении. Я больше скажу. Даже энергозатраты уменьшаются. Повторюсь. Сама технология просто подразумевает развертывание вами узлов передачи/подтверждения хэшей блоков. И в отличии от ваших джисонов, парсеров и таблиц эхеля, как правило, каждый блок имеет четыре поля: размер блока, заголовки блоков, счетчик транзакций и транзакции. И отменить или изменить блок нельзя. Можно только добавить новую информацию в цепочку блоков. И тут крайне сложно ошибиться. Сторицей также вернутся невозможность подделать цепочки блоков, бессмысленность ddos, отказоустойчивость за счет взаимозаменяемости узлов, минимальный человеческий фактор. А главное! Это вечный (пока есть хоть один узел) БЭКАП. Скорость (особенно важно при межгалактических расчетах). И много всего другого, защищающего от потерь данных и их утечек. В первую очередь защита от сотрудников банков и системных администраторов. Первые продаются. Вторые рукожопы.
За сим всё. Тут можно говорить вечно. Я закончил никому не нужный комментарий.
в котором применяется кодировка ASCII... а для нелатинских символов используются символы Unicode в кодировке UTF-8
А чем это отличается от "применяется кодировка UTF-8"? Возможно, тем, что для некоторых полей допускаются только символы ASCII?
Что такое клиринг, как он работает и реализован на примере платёжной системы «Мир»