СБП C2B. Снаружи и изнутри
Мы все уже освоились с «переводами по телефону» друг другу, но пришла пора поговорить про оплату через СБП. Тем более что эту функцию реализовали уже больше 60 российских банков, то есть новый инструмент для платежа смартфоном есть теперь у большинства жителей страны.
В этой статье я хочу рассказать, что такое C2B-операции в Системе быстрых платежей:
сценарии со стороны клиента
с точки зрения реализации
и немного — про выгоду
Итак:
C2B-операция — это платеж клиента-физика в пользу бизнес-клиента за товар или услугу.
СБП — Система быстрых платежей, которая переводит деньги со счета на счет за секунды. А не за часы-дни, как в случае карточных платежей.
Принцип такой: данные о предстоящем платеже хранятся в ОПКЦ (Операционно-Процессинговый и Клиринговый Центр) СБП. Для платежа эти данные (назовем это платежной ссылкой) должны попасть в смартфон клиента, чтобы ему осталось нажать «ОК», а потом банк плательщика запустит процесс.
Исторически первым механизмом транспорта этих платежных данных был QR-код. Продавец показывает картинку, покупатель сканирует и «ок, согласен». Поэтому большинство примеров здесь как раз с QR-кодом.
Котик сканирует QR-кодик
Какие сценарии можно реализовать?
QR-наклейка на кассе
Распечатанная наклейка с QR-кодом, наклеенная на кассу, на билборд, на автобус, на колонку АЗС, показанная на большом экране на конференции и т.п. Покупатель сканирует камерой QR-код, у него открывается приложение банка, в котором видны детали платежа:
кому платим — всегда;
за что платим и сумма — опционально, если продавец указал это при генерации QR-кода;
если сумма не указана — её придется ввести вручную.
Этот вариант подходит тем, кто не может генерировать QR«ы под каждый платеж, но клиенты готовы вводить сумму. Если вы читаете эту статью с настольного компьютера, вот пример: на сайте благотворительного фонда Хабенского есть QR-код, который вы можете отсканировать телефоном и при желании пожертвовать сотню. https://bfkh.ru/help/qr-kod.php
Фото из facebook Андрея Ковригина
Динамический QR на экране.
Если у продавца есть под рукой экран (смартфон или настольный компьютер), то он может генерировать одноразовые QR«ы под каждый платеж, и тогда в каждом коде уже точно будет сумма. Покупателю остается только проверить, кому платит, и нажать «ОК».
QR-наклейка на кассе, но с индивидуальной суммой.
Что делать, если экрана рядом с кассой нет, но хочется упростить каждому покупателю UX на пару нажатий? Можно к долговременному QR-коду на наклейке прикрутить одноразовые кассовые ссылки под конкретную покупку, чтобы покупатель не вводил сумму. Сложнее реализовать, но проще платить. И экономия на наклейках и экранах.
Привязка счета (подписка).
Это долговременное разрешение конкретному продавцу отправлять беакцептные запросы на списание денег с моего счета. Например, такси: я один раз дал разрешение списывать оператору такси плату с моего счета, и по окончании поездки просто выхожу из машины, не доставая кошелек или телефон, ничего не подтверждая. Вариант посложнее — кофейня, где я идентифицируюсь по карте лояльности, по лицу или еще как-то. То есть я не достаю смартфон вообще — меня каждое утро дают кофе и при этом еще называют по имени. Или пункт выдачи заказа, где я назвал код заказа, примерил заказ и всё. Деньги спишутся, когда я сказал сотруднику «мне подошло, беру».
Однако платежная ссылка (данные о платеже) может попадать в смартфон покупателя не только по воздуху через QR-коды. Ссылку можно зашить в самую дешевую NFC-метку, которую тоже приклеить где-то на кассе. А в остальном UX такой же.
Что кроме QR-кода?
А какие сценарии оплаты есть для онлайн-платежей, когда нет физической кассы и нет QR-кода? Все просто — платежная ссылка может быть на мобильном сайте или в мобильном приложении. Например, я набрал товары в корзину на сайте, нажал «перейти к оплате» и вижу варианты: ввести номер карты; кто-то-Pay; СБП. Кнопка «СБП» — это ссылка, которая откроет на смартфоне мобильный банк и все как описано раньше — я увижу сумму, назначение платежа, получателя и нажму «ОК». Если вы читаете эту статью с мобильного, то вот пример реализации: на сайте того же Фонда Хабенского https://bfkh.ru/help пользователь может кликнуть по плашке «Оплатить по QR-коду СБП» и пожертвовать фонду Хабенского еще сотню.
Абсолютно то же самое — в мобильном приложении интернет-магазина. При этом покупатель при платеже не выходит из доверенной зоны: за пределы приложения магазина и приложения банка. Есть еще пара дополнительных сценариев:
Возврат платежа. Он тоже быстрый, почти мгновенный.
Диспут, когда полюбовно о возврате договориться не удалось и покупатель жалуется в свой банк на недобросовестного продавца или некачественный товар.
Вот теперь с пользовательскими сценариями все, и можно поговорить про реализацию.
Реализация
Быстро сказка сказывается, да долго дело делается.
Давайте сначала напомню про участников операции:
Плательщик — физическое лицо, покупатель, который хочет за что-то заплатить. Владеет счетом в Банке Плательщика. У него есть телефон, на котором установлен банк-клиент (приложение) Банка Плательщика и какой-то сканер QR-кодов.
ТСП, продавец — торгово-сервисное предприятие; лицо, которое продает товар или оказывает услугу и ждет за это оплату. Получатель платежа. Держит счет в Банке Получателя.
Агент ТСП — организация, оказывающая Продавцу информационно-технические услуги. Например, взаимодействие по API с ОПКЦ СБП. Как правило, роль Агента ТСП исполняет Банк Получателя.
ОПКЦ СБП — Операционно-процессинговый и клиринговый центр Системы быстрых платежей — организатор информационного обмена между Банком Плательщика, Банком Получателя, Банком России и ТСП. ОПКЦ СБП выступает Национальная система платежных карт (НСПК).
Банк России — Центральный банк РФ, который управляет корреспондентскими счетами банков.
C2B-платеж состоит из трех фаз, две из которых подготовительные, а третья — сам платеж покупателем. Регистрация продавца в системе Генерация платежной ссылки и/или генерация QR-кода Сам платеж.
1. Регистрация ТСП
Ничего сложного, к тому же это единовременная операция. Используя REST API, в базе ОПКЦ СБП регистрируется юридическое лицо, ИП или самозанятый. Сохраняются ИНН, ОГРН, название, адреса и другие реквизиты, необходимые для дальнейших платежей. Если у продавца больше одной точки продаж, то можно зарегистрировать все эти точки в связке с организацией, указав про них:
название, «имя на вывеске»
адрес
телефон
тип деятельности (mcc)
Опустим подробности и будем считать, что у нас есть просто «продавец». После регистрации Продавец получает идентификатор, на который будут завязаны все дальнейшие действия.
2. Создание платежной ссылки
Продавец опять дергает наш API для создания платежной ссылки (многоразовой, которую можно распечатать в виде QR-кода и наклеить на кассе; или одноразовой, под конкретную покупку), записывая в базу следующее:
id продавца,
номер счета и банк, где он ведется,
тип запрашиваемой ссылки — одноразовая или многоразовая,
сумму, назначение платежа (опционально),
TTL, время жизни ссылки (опционально),
redirect URL — ссылку для возврата из приложения банка обратно в приложение продавца (опционально).
В ответ ему возвращается платежная ссылка, главное в которой — идентификатор. Можно получить картинку QR-кода, хотя обычно саму картинку генерируют на стороне продавца, банка или агента.
Кстати, регистрация ТСП и платежной ссылки — это один из механизмов защиты от мошенника. Если мошенник сам сгенерирует QR и подсунет его покупателю, то совершить транзакцию по такой ссылке не получится: СБП «не знает» эту ссылку и подложного получателя денег.
Итак, у продавца есть ссылка или QR на экране или QR на наклейке не кассе. Кажется, все готово к приему покупателя!
3. Сам платеж
Шаг 1. Покупатель сканирует QR-код (или NFC-метку) телефоном (камерой в приложении банка, обычным приложением «камера» или специальным «сканер штрих-кодов»). Смартфон покупателя, разобрав QR-код (NFC-метку), получает ссылку вот такого вида:
https://qr.nspk.ru/AS100001ORTF4GAF80KPJ53K186D9A3G?type=01&bank=100000000007&crc=0C8A
Если смартфон получил ссылку из браузера или из приложения, еще проще. Смартфон знает, что ссылки, начинающиеся на qr.nspk.ru, нужно открывать в приложении банка, и перекидывает ссылку ему. Банк плательщика из этой строки получает:
идентификатор ссылки
тип ссылки, в данном случае — долговременный типа «наклейка на кассе»
id банка получателя (продавца)
контрольная сумма.
По большому счету, здесь играет роль только идентификатор.
Шаг 2. Банк плательщика обращается к ОПКЦ СБП (используя тот же REST API), просит дать всю информацию о ссылке с этим идентификатором и получает детали:
идентификаторы продавца и его банка,
наименование продавца и его «название на вывеске»,
адрес и телефон,
при наличии — сумму и назначение платежа.
Шаг 3. Банк плательщика перекидывает эту информацию на смартфон покупателя, покупатель читает и принимает решение — платить или нет (если не было суммы — то еще вводит сумму).
Шаги 1–3
Шаг 4. Банк плательщика отправляет в ОПКЦ распоряжение на перевод, в котором есть информация о продавце и о покупке, и в ответ получает квитанцию: ОПКЦ готов обрабатывать это распоряжение (или не готов — нарушена структура, не пройдены проверки, у банка отозвана лицензия, это одноразовая ссылка и она уже была оплачена раньше и т.д.). Когда распоряжение отправлено в ОПКЦ СБП — обратной дороги нет и от банка плательщика больше ничего не зависит.
Шаг 5. ОПКЦ СБП обогащает полученное поручение дополнительными данными и перенаправляет запрос в банк получателя для проверки: готов ли он принять это платеж? Банк получателя говорит «готов, высылайте».
Шаг 6. ОПКЦ СБП формирует поручение в Банк России на перевод: перевести с кор.счета банка плательщика на кор.счет банка получателя указанную сумму.
Шаг 7. Осталось немного, но самое приятное. ОПКЦ СБП отправляет банкам плательщика и получателя уведомления об успешной операции. Банки должны увеличить и, соответственно, уменьшить баланс на счетах продавца и покупателя. Банковское приложение покупателя показывает ему, что платеж прошел.
Шаг 7.1 Если клиент начинал оплату в мобильном приложении интернет-магазина и был переброшен в банковское приложение — его нужно вернуть обратно в приложение магазина. Если он сканировал QR-код камерой — то он так и останется в приложении банка.
Шаг 8. Покупатель видит, что оплата прошла, а продавец? ОПКЦ СБП отправляет продавцу callback с подтверждением операции, чтобы он отпустил покупателя с товаром.
Кажется, всё.
Шаги 4–8
Шаг 9, опциональный. Если доставить уведомление об успешной операции в банк не получилось (даже с учетом переповторов), банк может запросить статус операции, дернув ОПКЦ СБП с помощью того же API.
Бенефиты
Продавец с каждого полученного стольника тратит немного на работу с этими деньгами. Если наличные — платит за инкассацию. Если карточный платеж — платит эквайринговую комиссию (грубо говоря — 1,5–2,5%). Если СБП — тоже комиссию. Но в СБП она 0,4% — 0,7%. И малому и среднему бизнесу до конца года ее возвращают — то есть сейчас вообще ноль. Если продавец считает свои косты, то он будет поддерживать все виды приема денег, но также продвигать низкозатратный. А если поймет, что при использовании оплаты СБП он на рубль меньше тратит (то есть на рубль больше зарабатывает) — он будет давать бонус или скидку. Кешбэк может быть не только со стороны банка, но и со стороны магазина.
Это Система БЫСТРЫХ платежей — то есть деньги переводятся на счет продавца раньше, чем покупатель залочил и убрал телефон.
Можно оплачивать смартфоном без NFC (таких сейчас у населения примерно половина), и есть множество людей, кто очень хотел бы платить смартфоном –, но позволить NFC себе не могут. Можно платить в случае, если кассы нет рядом от слова совсем — не выходя из машины на АЗС, прямо через стекло; стоя в пробке рядом с билбордом, на котором напечатан QR-код.
Если платите на сайте, не нужно вводить данные карты и опасаться её компрометации.
А если сделали привязку счета для рекуррентных платежей (подписку) — то управлять этой подпиской (и вообще посмотреть, какие у меня есть подписки) можно в приложении своего банка. С картами такой опции нет и не было — «где карту привязывали, туда и идите».