Система Быстрых Платежей как альтернатива ApplePay и GPay в онлайне
Привет! Я продакт в сервисе ParkPass. Наш сервис ускоряет и упрощает взаимодействие с парковкой, в том числе и её оплату.
Как выглядит стандартный процесс оплаты парковки?
- Вы берёте на въезде парковочный носитель (карту/билет);
- До выезда вам надо оплатить парковку в терминале оплаты парковки;
- Вы его ищите;
- Находите;
- Разбираетесь в устройстве паркомата: куда и что вставлять, сколько платить, как платить и так далее;
- И наконец оплачиваете;
Если всё идёт так как надо, вы потратите 5-7 минут на весь процесс оплаты. А может быть так, что терминал не работает, он далеко от вашей машины, нет оплаты банковской картой, нет сдачи, терминал один, а людей много(очередь), вы суперзвезда и не хотите быть среди простых смертных. Или вы просто не можете найти паркомат...
Тогда время оплаты увеличивается просто в разы. И это ужасно. Именно поэтому существует наш сервис. Людям не хочется тратить своё время на всё вышеперечисленное. Они хотят оплатить парковку, пока идут к машине, сесть и уехать.
Как выглядит процесс оплаты парковки через наш сервис?
Вместо поиска и похода в терминал оплаты парковки, мы предлагаем оплатить парковку по QR-коду на парковочном носителе.
- Пользователь сканирует QR-код;
- Ему открывается AppClip (микроприложение для iOS) или Web-приложение/InstantApp (Android);
- Он подтверждает, что это его парковочная сессия;
- Оплачивает через ApplePay и GooglePay;
- Можно выезжать.
Весь процесс занимает до 2 минут. Всегда. Еще и чек на email отправим. В паркомате чеки могут не выдавать. Доказывай как хочешь, что ты оплатил, если что-то пошло не так.
И тут случилось , то что случилось...
После того как ApplePay и GooglePay по факту перестали работать в России, оплата в нашем сервисе тоже отвалилась. Мы знали, что есть Система Быстрых Платежей. Но принцип работы нужно было изучать. Изучили, решили, что можно использовать, но есть одно но... Процесс инициализации платежа и оплаты через СБП в корне отличается от ApplePay/GooglePay.
Проблема
За что мы так любим ApplePay и GooglePay? Ты нажимаешь кнопку оплатить, светишь лицом или прикладываешь палец и... вуаля. Оплата прошла. С СБП это не так. СБП с точки зрения простого обывателя — это ссылка. Ссылка, которая содержит в себе набор параметров для оплаты. Если вы сканируете QR-код с СБП ссылкой через приложение банка, то всё ок. Приложение банка умеет работать с такими ссылками. Но как сделать так, чтобы по ссылке проходила оплата аналогичная AP и GP?
Решение
Мы начали искать инфу по СБП, примеры. Оказалось, что нигде нет нормальной документации по СБП для разработчиков. Нет виджетов для установки на сайт или в приложение. В итоге нашли ответ для себя в коде сайта Системы Быстрых Платежей. Суть решения заключается в том, что с помощью специальной ссылки можно вызвать конкретное приложение банка и там уже всё будет готово для оплаты
А вот пример как выглядит ссылки для оплаты в Сбере Android: intent://qr.nspk.ru/BD100047PN1IF5JO8QKAPK0B0TDLIESG?type=02&bank=100000000004&sum=291600&cur=RUB&crc=FAED#Intent;scheme=bank100000000111;package=ru.sberbankmobile;end;
Вот, например, как выглядит ссылка для оплаты в Альфа-банке для iOS:
bank100000000008://qr.nspk.ru/BD100001O6S8CBS49LFONAU5164BQ5B4?type=02&bank=100000000004&sum=2700&cur=RUB&crc=D37D
Честно, я так нигде и не нашёл почему ссылки выглядят именно так, что это такое. Я понимаю, что это что-то вроде DeepLink. Раз они кем-то сделаны, значит, кто-то знает их принцип работы. Если вы знаете, где можно почитать, оставьте ссылку в комментарии.
В результате мы решили написать свой виджет для оплаты через СБП для Web и iOS. Схема логики работы выглядит как-то так. Не стремился воспроизвести сверхточную схему работу. Надеюсь из того что есть, в целом принцип вам понятен :)
Как в итоге стал выглядеть процесс оплаты после подключения СБП.
- Пользователь сканирует QR-код и переходит поссылке;
- Ему открывается AppClip (iOS) или Web-приложение/InstantApp (Android);
- Он подтверждает, что это его парковочная сессия;
- Нажимает Оплатить через СБП;
- Выбирает свой банк — иконка каждого банка это ссылка на приложение банка;
- Оплачивает в приложении банк;
- Можно выезжать.
Что в итоге
В текущей ситуации СБП для нас оказалось нормальное альтернативное решение.
- Наш банк поддерживает генерацию ссылок для СБП через АПИ;
- Скорость оплаты осталось почти такой же, как и через ApplePay и GooglePay;
- Оплату по СБП поддерживает порядка 100 банков и их приложения;
- Комиссия за оплату 0%, Карл! У MasterCard, Visa, ApplePay, GooglePay; комиссия > 2.5%
- Наш сервис продолжает работать.
Пожелания
На мой взгляд СБП может стать нормальной альтернативой для ApplePay и GooglePay в онлайне. При этом, со стороны СБП и Банков партнёров нужны шаги, по улучшению и упрощению процедуры оплаты. В нашем случае нам самим пришлось реализовывать желаемое поведение, а хотелось, чтобы подобное шло из коробки от разработчиков СБП. И судя по новостям развитие будет, но как скоро https://www.rbc.ru/finances/31/03/2022/624592ec9a7947d36dfa4bc3?from=newsfeed
Бонусные ссылки тем кто дочитал до конца
- Пощупать как это работает можно по ссылке: https://pay.parkpass.ru/#/?P=107&C=3270385573
- Мы выложили наш проект на GitHub. Вполне вероятно у вас такая же ситуация, как и у нас, и наше решение вам поможет. Сейчас там только версия для Веба, но постараемся в ближайшее время выложить и для iOS. Ссылка на репозиторий: https://github.com/ParkPassApp/ParkPass-SBP
Спасибо моим коллегам, которые помогли разобраться и вернуть в работу сервис. 💪