Всем привет! Меня зовут Татьяна, я Android-разработчик в НСПК. С 2023 года я стала частью команды Мир Plat.Form, где с головой погрузилась в мир платежных ссылок и их многогранное применение. В этой статье я хочу подробно рассказать о том, как работают платежные ссылки, поделиться своим опытом и развеять возможные мифы, связанные с ними.
Вступление
Ссылки — это нечто, что мы часто воспринимаем как обыденное: мы кликаем на них каждый день, не задумываясь о том, как они работают. Но в контексте платежных систем они приобретают особое значение.
Когда речь заходит о платежных ссылках, они становятся ключевым элементом Системы быстрых платежей. Эти ссылки позволяют пользователям легко и безопасно совершать платежи напрямую из браузера или мобильного приложения, без необходимости вводить данные карты или проходить авторизацию.
Также, платежные ссылки представляют важную роль в мобильных приложениях – это глубокие ссылки. Они позволяют пользователям с легкостью и точностью обеспечивать быстрый доступ к конкретным экранам или функциям приложений.
В этой статье рассмотрим:
1. Пользовательский взгляд: Почему платежные ссылки так важны и каким образом происходит оплата с точки зрения пользователя при использовании различных сценариев оплаты через СБП;
2. Платежные ссылки под капотом: виды ссылок и их особенности. Рассмотрим работу платежных ссылок с технической точки зрения, что будет полезно для разработчиков, желающих интегрировать наши решения для оплаты через СБП;
3. Что может пойти не так: подчеркиваем важность нюансов о ссылках.
1. Пользовательский взгляд
Почему платежные ссылки так важны?
Что такое платежные ссылки? Платежные ссылки – это уникальные адреса, которые содержат в себе информацию о платеже, включая сумму, получателя и другие необходимые данные. Пользователь, перейдя по такой ссылке, может легко и быстро совершить оплату с помощью своего смартфона или компьютера.
Платежные ссылки – это не просто инструмент для оплаты, а важный элемент современной электронной коммерции. Они делают процесс совершения покупок более удобным, быстрым и безопасным, что способствует развитию онлайн и оффлайн-платежей и стимулирует рост экономики.
Преимущества использования платежных ссылок:
Удобство: Оплата по ссылке не требует ввода данных банковской карты, что значительно экономит время и усилия пользователя;
Быстрота: Оплата осуществляется практически мгновенно, без задержек и дополнительных подтверждений;
Универсальность: Платежные ссылки можно использовать в различных сферах, от интернет-магазинов до онлайн-сервисов и благотворительных организаций;
Безопасность: Все платежи по ссылкам проходят через защищенные каналы, что гарантирует безопасность информации.
Где используются платежные ссылки?
Платежные ссылки нашли широкое применение в различных областях электронной коммерции:
Мобильные приложения: интеграция ссылок в приложения позволяет пользователям совершать покупки или оплачивать услуги непосредственно из приложения, без необходимости перехода на сторонние сайты;
Интернет-магазины: ссылки могут быть размещены на страницах с товарами или в корзине, упрощая процесс оформления заказа и оплаты;
Сервисы онлайн-бронирования: оплата билетов, отелей или других услуг может быть осуществлена по ссылке, полученной после бронирования;
Благотворительность: ссылки позволяют людям легко и быстро сделать пожертвование в пользу выбранной ими организации;
Оффлайн-оплаты: позволяют производить платежи без использования физических карточек или наличных денег.
Способы оплаты от СБП
Команда СБП c 2019 года активно работает над развитием новых сценариев и способов оплаты, используя возможности платежных ссылок. С каждым годом на рынке появляется все больше новых вариантов использования этой технологии.
Взглянем на мир платежных ссылок с точки зрения пользователя и рассмотрим какие способы оплаты сейчас существуют в СБП.
1. Оплата по QR и NFC
Возможно, вы видели таблички с QR-кодами или NFC-метками на кассах магазинов. Сейчас они активно распространяются. С их помощью можно мгновенно оплатить, считав QR-код или прикоснувшись смартфоном к NFC-метке. Это работает даже на iPhone!
2. Оплата по кнопке
Еще один способ — это оплата по кнопке. При покупке билетов онлайн или в мобильных приложениях, таких как маркетплейсы, вы наверняка видели в корзине опцию «Оплата по СБП».
3. Оплата через мобильное приложение СБПэй
Еще один способ — это оплата через мобильное приложение СБПэй. СБПэй — это приложение-кошелек ваших банковских счетов. Заранее добавив в него свои любимые банковские счета вам не придется открывать конкретное банковское приложение при оплате по QR-коду. В СБПэе необходимо будет лишь подтвердить оплату с него.
4. Виджет СБП
Наш виджет СБП – это универсальный инструмент, который позволяет внедрить быструю и удобную оплату товаров и услуг прямо в ваше приложение. Он поддерживает различные методы оплаты: QR-код, NFC-метка, кнопка «Оплата по СБП». В нем отображается список банков для выбора чтобы оплатить покупку.
Включая в себя SDK и список из более чем 200 банков-участников СБП, он позволяет легко находить и сохранять предпочтительный банк пользователя. Важно отметить, что виджет поддерживает функцию возврата пользователя обратно в приложение через глубокую ссылку. Для активации этой функции необходимо в параметре redirectUrl указать глубокую ссылку на ваше приложение и при регистрации ссылки в системе СБП, после оплаты пользователь автоматически возвратится по этой ссылке из приложения банка обратно в ваше приложение или на ваш сайт. Дополнительные параметры и описание доступны по ссылке.
Варианты виджета SDK СБП:
1. Веб-виджет: идеальное решение для сайтов и приложений, представляющее собой веб-страницу со списком банков. Он адаптивен и поддерживает два режима работы: на мобильных устройствах и на компьютере. При использовании с компьютера, виджет отображает QR-код для сканирования с мобильного телефона, что приводит к открытию списка банков для завершения оплаты.
2. Нативный виджет Android/iOS: предлагает гибкие настройки интерфейса и готовое решение для отображения списка банков.
3. API (в разработке): предоставляет полную свободу для создания пользовательского интерфейса на веб-сайтах и мобильных платформах, минуя необходимость интеграции стандартного SDK. Описание тут.
Преимущества виджета СБП:
Улучшение онлайн и оффлайн продаж: инструмент для интеграции платежных ссылок в ваш веб-сайт или приложение;
Удобство для клиентов: осуществление перехода в банковское приложение одним кликом с автоматической передачей платежных данных.
Для дополнительной информации о преимуществах СБП для вашего бизнеса и инструкциях по подключению на сайте СБП.
2. Платежные ссылки под капотом: виды ссылок и их особенности
Структура ссылки в мобильных платформах
Ссылка (гиперссылка) – это последовательность символов, которая:
Идентифицирует ресурс (сайт, файл, изображение);
Позволяет перейти к этому ресурсу.
Формат гиперссылки описан в стандарте Uniform Resource Identifier (URI) (RFC 3986). В данной статье мы рассмотрим ссылки с точки зрения использования их в мобильных платформах с углублением в Android.
Структура ссылки включает следующие компоненты:
1. Схема (Scheme) — это обязательный компонент ссылки, который играет важную роль в ее функционировании. Cхема делится на два типа:
Общеизвестные схемы: Эти схемы зарегистрированы в адресном пространстве интернета (IANA) и широко используются. Думаю, вы знаете такие примеры — это общеизвестные схемы http/https и другие. Они позволяют переходить к веб-страницам или в мобильные приложения, если они доверенны;
Кастомные схемы: Вы также можете создать свою собственную схему, определив ее контекст. Например, для мобильного приложения, вы можете использовать кастомную схему типа myapp://. При переходе по такой ссылке пользователь будет направлен непосредственно в ваше приложение.
2. Authority — это не обязательный компонент. Это обычно доменное имя и/или IP-адрес, указывающий на сервер или расположение. Например, «myapp.com». В контексте глубоких ссылок, authority может быть опущен, если схемы и пути уже достаточно для идентификации ресурса внутри приложения.
3. Путь (Path) — это обязательный компонент. Конкретный путь к ресурсу внутри приложения (например, «/product/details» для страницы с подробной информацией о продукте).
4. Параметры (Query Parameters) — не обязательный компонент, передаваемый данные приложению (например, «product_id=123» для указания на конкретный продукт).
Например, в ссылке вида myapp://myhost то, что идет после :// — это authority, то есть, myhost это имя хоста, myapp:// — это кастомная схема. Так как хост не является обязательным компонентом, то его можно опустить, в этом случае ссылка будет выглядеть так: myapp://. Если указаны только схема и путь: myapp:myPath.
Примеры структуры ссылок в системе быстрых платежей
Рассмотрим структуру ссылок, используемых в СБП:
-
Схема (Scheme): используется общеизвестная схема https. И кастомные схемы:
bankID — для С2B (Customer to Business) платежей
bankb2bID — для B2B (Business to Business) платежей
где ID — идентификатор банка-партнера (их более 200).
-
Authority: в СБП есть несколько хостов в зависимости от типа платежа:
qr.nspk.ru и b2b.cbrpay используются для статических QR-кодов (QR-Static) и динамических однократных QR-кодов (QR-Dynamic)
sub.nspk.ru используется для подписочных QR-кодов (QR-Subscription)
Query: идентификатор платежной ссылки, в котором указана вся подробная информация для платежа
Виды ссылок
После рассмотрения основных компонентов ссылки, поговорим о ее видах, изучив особенности работы каждой. Важно отметить, что каждый тип ссылки является частным случаем другого, что создает их иерархию и взаимосвязь.
На вершине иерархии находятся гиперссылки – основа для всех других видов ссылок. Затем идут глубокие ссылки, которые обеспечивают направление пользователя на конкретный контент в приложении или на сайте. Далее следуют веб-ссылки, являющиеся стандартными ссылками на веб-ресурсы. И, наконец, ссылки на мобильные приложения, такие как Android или iOS, которые направляют пользователя на конкретные функции мобильных приложений.
Deep Link
Глубокая ссылка (deep link) — это специальная форма гиперссылки, которая направляет пользователя на конкретную страницу сайта или функциональность мобильного приложения. В отличие от обычных ссылок, которые просто перенаправляют на главную страницу сайта, глубокие ссылки позволяют пользователю сразу перейти к нужному контенту на сайте или в приложении. У глубокой ссылки схема может любая.
Такой вид ссылок используется в нашем виджете СБП. При отображении списка банков при нажатии на него используется глубокая ссылка для банковского приложения, по которой оно открывается. Банки-партнеры должны поддержать переход по ссылке в своем банковском приложении. Примеры:
bankID://qr.nspk.ru/AD1001.. (c кастомной схемой bankID)
https://bank_concrete_host/AD1001.. (с общеизвестной схемой https)
Особенности работы глубоких ссылок:
Если мобильное приложение не установлено, то переход по ссылке приведет к сбою
Безопасность: нет централизованного реестра владельцев, поэтому любое приложение может поддержать обработку любого диплинка
Web link
Веб-ссылки — это глубокие ссылки, которые используют схему HTTP/HTTPS. Веб-ссылки всегда ведут на веб-страницы.
Особенности работы веб-ссылок:
В версиях Android: начиная с Android 12, при нажатии на веб-ссылку (которая не является Android App Link), ссылка всегда открывается в веб-браузере. Однако, на устройствах с предыдущими версиями до Android 12, если ваше приложение или другие установленные на устройстве приложения также могут обрабатывать веб-ссылку, пользователи могут не переходить непосредственно в браузер. Вместо этого они увидят диалог с выбором где открыть эту ссылку: в браузере или в приложении, которое может обработать веб-ссылку
Если приложение не установлено на мобильном устройстве, система откроет веб-ссылку в браузере
Как управлять поддерживаемыми ссылками в Android-приложениях: Android позволяет добавлять пользователям поддерживаемые приложением веб-ссылки. Это означает, что при нажатии на веб-ссылку в браузере или другом приложении она будет автоматически открываться в выбранном приложении. Для этого необходимо выполнить следующие шаги:
Скрытый текст
Открыть меню приложения и перейти в раздел «О приложении».
Далее выбрать пункт «Открывать по умолчанию».
На экране «Открывать по умолчанию» нажать «Добавить ссылку» и увидеть поддерживаемые приложением ссылки.
Здесь можно добавить или удалить поддержку всех или конкретных ссылок.
Важно: при добавлении ссылки, которая поддерживается несколькими приложениями, она будет перенаправлена на выбранное вами приложение, которое станет приложением по умолчанию для открытия этой ссылки. На рисунке выше показано, что при добавлении ссылки qr.nspk.ru в СБПэй, в приложении Яндекс Пэй при попытке добавить ту же ссылку появляется информация о том, в каком приложении она открывается в данный момент. Вы можете изменить это приложение по умолчанию, выбрав Яндекс Пэй.
App Android link / Apple Universal link (ссылки на приложения)
Ссылка на приложение — это ссылка, которая строго использует схему HTTPS. Веб-ссылку можно превратить в ссылку на приложение с помощью ассоциации ее с хостом при помощи протокола Digital Asset Links. Digital Asset Links (DAL) — протокол, разработанный Google, позволяющий безопасно связывать различные цифровые активы, такие как веб-сайты и мобильные приложения. Он помогает гарантировать, что пользователи открывают ссылки в предназначенном мобильном приложении, и защищает их от потенциальных фишинговых атак. Также он может быть интегрирован в магазины приложений. В отличие от Android, система iOS не использует протокол Digital Asset Links (DAL) напрямую. Однако Apple предлагает собственную технологию для достижения схожих целей – Apple App Site Association (AASA).
В Android ссылка на приложение называется как — App Android link, в iOS - Apple Universal link. Ассоциация работает следующим образом:
Сайт заявляет о связи: владелец веб-сайта публикует файл Digital Asset Links (по адресу для Android: https://{domain}/.well-known/assetlinks.json, для iOS: https://{domain}/.well-known/apple-app-site-association). В этом файле декларируется, что веб-сайт имеет связь с определенным мобильным приложением
Во время установки или обновлении мобильного приложения в файле конфигурации системы прописывается/обновляется список ссылок, по которым приложение будет открываться
Особенности работы ссылок на приложения:
Соблюдение протокола DAL: ошибки сервера (кроме HTTP 200) и отсутствие доступа к https://digitalassetlinks.googleapis.com приведут к не успеху и ссылка не будет ассоциирована;
HTTPS с доверенным сертификатом: соединения без цепочки сертификатов, проверяемой доверенными центрами, не будут работать;
Связывание приложения и хоста происходит при установке/обновлении. Для удаления ассоциации требуется обновление мобильного приложения
Как управлять поддерживаемыми ссылками в Android-приложениях: чтобы в Android увидеть проверенные ссылки на приложение, необходимо:
Скрытый текст
Открыть меню приложения и перейти в раздел «О приложении».
Далее выбрать пункт «Открывать по умолчанию».
На экране «Открывать по умолчанию» нажать «Проверенные ссылки», откроется диалог со списком ссылок, которые будут открываться автоматически в этом приложении.
Можно отключить открытие ссылок переключив настройку «Открывать поддерживаемые ссылки».
3. Что может пойти не так
1. Ситуация с несколькими приложениями и одной ссылкой на приложение: в практике DAL возможна ситуация, когда несколько приложений заявляют права на одну и ту же ссылку. В таком случае система не гарантирует, какое приложение будет открыто при нажатии на ссылку.
Факторы, влияющие на выбор приложения:
Обновление: обычно открывается приложение, которое последним обновилось или было установлено, но это не всегда так работает, так как зависит от версии операционной системы, модели телефона и множества других факторов;
Ручные настройки: если пользователь отключил функцию «Открывать поддерживаемые ссылки», то откроется предпоследнее установленное/обновленное приложение.
Пример: на телефоне установлены 3 приложения: Банк1, Банк2 и Банк3 и все они поддерживают ссылку app.link.ru. При переходе по ссылке откроется самое последнее установленное/обновленное приложение.
Последствия:
Неопределенность: пользователь не может предсказать, какое приложение откроется;
Нежелательное поведение: одно из трех приложений может перехватывать весь трафик по данной ссылке, что не всегда желательно для пользователя и бизнеса.
2. Конфликты ссылок в DAL: приложения с одинаковым пакетом, но разной подписью. В iOS и Android возможны конфликты ссылок, если у двух приложений одинаковый идентификатор пакета, но разные подписи.
Актуальность проблемы в условиях санкций: в условиях санкций компании могут быть вынуждены перевыпускать свои приложения. Это может привести к появлению двух приложений с одинаковым пакетом, но разными подписями из-за использования разных сертификатов.
Пример:
Представим, что на телефоне установлены два приложения Банка1: старое и новое. При переходе по ссылке система не гарантирует, какое из этих приложений будет открыто.
-
Причины конфликта:
Использование одного пакета: оба приложения используют одинаковый идентификатор пакета, что приводит к конфликту при обработке ссылок;
Разные подписи: хотя пакеты одинаковы, приложения подписаны разными сертификатами, что не позволяет системе однозначно определить, какое из них открыть;
Одинаковая ссылка для двух приложений: оба приложения заявляют права на одну и ту же ссылку. В этом случае система не может определить, какое приложение должно быть открыто при нажатии на эту ссылку.
Последствия те же, что и в пункте 1 (ситуация с несколькими приложениями и одной ссылкой), дополнительно стоит отметить что в некоторых случаях конфликты ссылок могут привести к некорректной работе приложений или даже к потере данных. В каких-то случаях это может привести к снижению безопасности: злоумышленники могут использовать конфликты ссылок для перенаправления пользователей на фишинговые сайты или распространения вредоносного ПО.
3. HTTPS с доверенным сертификатом для DAL: использование HTTPS с доверенным сертификатом является обязательным условием для корректной работы DAL. Однако в условиях санкций возникают трудности, связанные с просрочкой и невозможностью выпуска новых сертификатов для некоторых приложений. Если поставщик DAL использует сертификат, подписанный локальным удостоверяющим центром, то верификация ссылки по HTTPS не будет работать, а это значит что не получится использовать ссылки на ваше приложение.
4. Открытие ссылок из браузера: не все браузеры поддерживают схемы.
Важно учитывать:
Старые версии браузеров: например, Opera версии 66 и ниже не поддерживает схему типа intent://
Браузеры на китайских моделях телефонов: некоторые браузеры на этих моделях также могут не поддерживать такие схемы.
5. Открытие в вебвью и перехваты редиректа: некоторые разработчики переопределяют стандартный метод перехвата редиректов у WebView, чтобы загружать перехваченные глубокие ссылки как веб-страницы. Это некорректное поведение для виджета СБП SDK, поскольку он поддерживает как глубокие ссылки, так и ссылки на приложения.
Последствия:
Неправильная обработка ссылок на приложения: при загрузке ссылки на приложение (содержащей схему https) в WebView будет отображаться веб-страница этой ссылки, что не приведет к запуску мобильного приложения;
Ошибки при загрузке глубоких ссылок: при загрузке глубокой ссылки (без схемы https) в WebView будет выводиться ошибка, так как по этой ссылке не найдется веб-страница.
Рекомендации:
Избегайте переопределения метода перехвата редиректов у WebView: это позволит обеспечить корректную работу как встроенных функций WebView, так и виджета СБП SDK;
Обрабатывайте ссылки корректно: если необходимо перехватить ссылку и обработать ее иначе, делайте это не в контексте WebView, а на уровне системы (ниже пример).
webView.loadUrl("https://qr.nspk.ruQRCID")
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView,
request: WebResourceRequest
): Boolean {
try {
//отдаем диплинку на выполнение системе
startActivity(Intent(Intent.ACTION_VIEW, request.url))
} catch (e: Exception) {
Toast.makeText(
context,
"Приложение не поддерживает переход",
Toast.LENGTH_SHORT
).show()
}
return true
}
}
6. Проверка установленных приложений на Android: ограничения и обходные пути
Проверка установленных приложений на Android является важной задачей для многих разработчиков. Это может быть необходимо, например, для:
Улучшения пользовательского опыта: например, для СБП SDK можно в начале списка показать установленные банковские приложения для быстрого перехода в них;
Выполнения требований: некоторые функции могут требовать наличия определенных приложений.
Начиная с Android 11, Google ввела более строгие ограничения на проверку установленных приложений. Теперь стандартные методы, такие как queryIntentActivities(), getPackageInfo(), и getInstalledApplications(), могут возвращать неверные результаты или генерировать исключения.
Существует несколько способов обойти эти ограничения:
а) Открытие приложения без проверки
Используйте try/catch: попробуйте открыть приложение напрямую. Если возникнет ActivityNotFoundException, вы можете сообщить пользователю об отсутствии приложения.
б) Отображение списка установленных приложений:
Объявление пакетов в <queries> манифеста приложения:
Плюсы: простой и понятный метод.
Минусы: не подходит для динамических списков, так как требует обновления манифеста приложения.
QUERY_ALL_PACKAGES в манифесте:
Плюсы: позволяет получить доступ ко всем установленным приложениям.
Минусы: требует тщательного обоснования в Google Play из-за проблем с конфиденциальностью.
Проверка по глубокой ссылке:
Плюсы: легальный и надежный метод. Не требует дополнительных разрешений. Подходит для динамических списков.
Минусы: необходимо знать глубокую ссылку каждого приложения.
Пример проверки по глубокой ссылке для СБП SDK: в разделе манифеста укажите глубокую ссылку для проверки установленных приложений с поддержкой хоста qr.nspk.ru:
<queries>
<intent>
<data
android:scheme="*"
android:host="qr.nspk.ru" />
<action android:name="android.intent.action.VIEW" />
</intent>
</queries>
Далее, проверить стандартным способом наличие приложения на устройстве по данному диплинку, например bankID://qr.nspk.ru/QRCID:
val deepLink = Uri.parse("bankid://qr.nspk.ru/QRCID")
fun isSbpAppInstalled(deepLink: Uri): Boolean {
val intent = Intent(Intent.ACTION_VIEW).apply {
setDataAndNormalize(deepLink)
}
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
packageManager.queryIntentActivities(
intent,
PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_DEFAULT_ONLY.toLong())
).isNotEmpty()
} else {
packageManager.queryIntentActivities(
intent,
PackageManager.MATCH_DEFAULT_ONLY
).isNotEmpty()
}
}
7. Оплата через NFC СБПэй: избегайте этих ошибок, чтобы получить кешбэк! Шутка про терминал не сработает!
Многие владельцы смартфонов с NFC ошибочно полагают, что для оплаты через СБПэй достаточно просто приложить телефон к терминалу.
Это не так! СБПэй работает не с терминалами, а с NFC-метками.
Как не ошибиться:
-
Устройства с NFC могут работать в 3 режимах:
Чтение/запись: считывает и записывает данные с NFC-меток;
P2P: обмен данными с другими устройствами NFC (Android Beam);
Эмуляция карты: устройство само становится картой NFC;
Pay-приложения (MirPay, SberPay, TinkoffPay) используют эмуляцию карты;
СБПэй работает в режиме чтения NFC-меток.
Поэтому:
Ищите на кассе специальные таблички СБП. Они отмечены логотипом СБП;
Прикладывайте телефон к табличке, а не к терминалу;
Следуйте инструкциям на экране телефона.
Соблюдая эти простые правила, вы сможете быстро и без проблем оплачивать покупки с помощью СБПэй и получать заветный кешбэк!
P.S.
Если вы не уверены, где находится NFC-метка, спросите продавца;
В некоторых магазинах NFC-метки интегрированы в терминалы. В таких случаях оплата может проходить при касании телефона к терминалу, но для верности лучше уточнить у продавца.
Итоги
В этой статье мы подробно рассмотрели платежные ссылки и их роль в методах оплаты через Систему быстрых платежей. Мы узнали о различных типах ссылок и их особенностях работы на мобильных платформах, что является важным при выборе реализации ваших решений и обеспечении лучшего пользовательского опыта.
Работа с платежными ссылками имеет особую важность, так как она напрямую влияет на:
Необратимость решений: перевыпуск приложений может быть невозможным или затратным, а существующие ссылки не всегда можно изменить;
-
Масштабные последствия: неправильная настройка DAL (Deep Link Activation) может привести к нежелательному поведению приложений и негативному пользовательскому опыту для многих пользователей.
В связи с этим, мы рекомендуем:
Тщательно планировать: перед реализацией и выбором типа ссылки, особенно с DAL, тщательно продумайте схему открытия ссылок и учитывайте возможные конфликты;
Проводить тестирование: обязательно проводите тщательное тестирование на различных устройствах и с разными версиями операционных систем;
Быть готовым к изменениям: в некоторых случаях может потребоваться изменение существующих ссылок или приложений для обеспечения корректной работы DAL.
Помните: платежные ссылки — это мощный инструмент, но он требует ответственного и вдумчивого подхода к использованию. Понимание возможных проблем и способов их решения помогает обеспечить бесперебойную работу ссылок на приложения и положительный опыт пользователей.
Используя эти рекомендации, вы сможете:
Снизить риски ошибок и непредвиденных последствий;
Обеспечить бесперебойную работу платежных ссылок;
Предложить вашим пользователям удобный и безопасный способ оплаты через СБП.
Надеемся, эта информация была вам полезна!
Комментарии (59)
helmm
27.05.2024 12:00+2Удобнее банковских NFC карт ничего не придумано - не нужно ни сканировать коды, ни смартфон.
Быстро и удобно.exTvr
27.05.2024 12:00+4Удобнее банковских NFC карт ничего не придумано - не нужно ни сканировать коды, ни смартфон.
А ещё она не разрядится в самый неподходящий момент, не боится падений, etc.
Balling
27.05.2024 12:00СБПей поддерживает NFC. Осталось только без инета сделать. Ну для хотя бы онлайн операций. Я уж не прошу оффлан, когда POS терминал не подключен к инету, что доступно на дебетовках.
По банковским картам не удобно вводить ПИН код. По CDCVM это не нужно. Кроме того, у меня нет кошелька, так что карты трутся, если брать с собой.
И вообще у меня вообще нет физических карт в Тинькофф, например. Только электронные. Недавно открыл. И что бы я делал без телефона? Даже в банкомат не зайти!
Wallhead
27.05.2024 12:00+2Ну фиг знает. Её надо ещё откуда-то достать, а телефон всегда в кармане. Им удобнее платить, имхо.
zhogar
27.05.2024 12:00+5Спасибо, на самом деле очень полезно!
Но из всего прочитанного, я так и не понял: каким образом реализовать QR-код системы быстрых платежей (с NFC-меткой), для маршрутных такси?
Чтобы когда я ехал стоя, в забитой до отказа маршрутной газели, и полусогнувшись.., водитель Ашот, не кричал мне в конец газели свой номер телефона с водительского места.. А, я отсканировал Ваш QR-код (или приложил телефон к NFC-метке), меня моментально перенаправило в приложение на Activity оплаты 33 рублей конкретному водителю..
В другой газели, понятным образом должны быть другие платежные данные, как я понимаю..
Благодарю..ValeryGL
27.05.2024 12:00+1Банк, в котором водитель держит счёт, генерирует в ОПКЦ СБП платежную ссылку (указав реквизиты водителя и сумму платежа), из ссылки делает QR-код, распечатывать его и наклетвает на стенки и потолок маршрутки.
Всё, профит.
Пассажиры сканируют ближайшую наклейку, нажимают "оплатить", а водитель может как минимум сверить количество уведомлений в своём телефоне с количеством пассажиров.Когда цена поездки изменится - генерируют новую ссылку и распечатают новые наклейки.
exTvr
27.05.2024 12:00+2а водитель может как минимум сверить количество уведомлений в своём телефоне с количеством пассажиров.
Ага, которые заходят и выходят на каждой остановке. А рулить он когда будет?
Боюсь, что при такой реализации, маршрутка или будет оочень медленно стартовать с каждой остановки или, когда и если водитель будет заниматься этим на ходу, пассажиры приедут не туда куда планировалось, а в больничку.
Шаловливый пассажир делает QR-код, распечатывает его и наклеивает на стенки и потолок маршрутки.
Всё, профит.
zhogar
27.05.2024 12:00+1На пол еще можно.. Можно вообще на стекло с внешней стороны, оплатил, прошел.. Можно проектором платежный код в маршрутке проецировать..
Можно много чего.. в конечном счете, так и не понял.. какие телодвижения (желательно без похода в банк) нужно совершить, чтобы "тебе" выдали такую красивую табличку.. ну или в конечном счете ты получил ее в виде pdf-файла, распечатал, ну сам оформил как хочется.. (из последнего, не относится к комментарию пользователя @ValeryGL , - тут то более менее понятно стало)..
exTvr
27.05.2024 12:00Можно проектором платежный код в маршрутке проецировать..
На лобовое, хотя не - туда тянуться неудобно. Лучше водителю на затылок - всё равно ж мимо него в салон проходишь.
zhogar
27.05.2024 12:00Прическа?.. Хм..
exTvr
27.05.2024 12:00Прическа?.. Хм..
Решаемо - см. Хитмэн.
О, кстати - и на проекторе можно сэкономить, и qr-код незаметно не подменят :))
zhogar
27.05.2024 12:00+1Предлагаю тогда на входе в маршрутку NFC-рамки ставить, просто прошел.. деньги сами списались.. и водителю удобнее считать количество пассажиров.. с другой стороны, если в маршрутке кресла убрать, и полки сделать над друг-другом, как можно меньшем расстоянии, то и пассажиров больше влезет.. и водитель довольный, и выспаться можно..
Картинка (с) pinterest.com
exTvr
27.05.2024 12:00Предлагаю тогда на входе в маршрутку NFC-рамки ставить, просто прошел.. деньги сами списались.. и водителю удобнее считать количество пассажиров..
Не взлетит - на то оно и NFC, а ещё если пара карт в кармане/кардхолдере - то они мешают друг другу и оплата не проходит.
с другой стороны, если в маршрутке кресла убрать, и полки сделать над друг-другом, как можно меньшем расстоянии, то и пассажиров больше влезет.. и водитель довольный, и выспаться можно..
А вот это очень здравая мысль - оптимизация - это наше всё.
Проверьте почту, там уже должен быть оффер от Первой Оптимизационной Компании .
inkelyad
27.05.2024 12:00Звуком надо (особенно внимательно смотрим на массовый плетеж в ~30s
zhogar
27.05.2024 12:00Скорее всего FSK, могу ошибаться.. что самое странное, что когда они это сделали, мы тоже это делали.. ну не оплата, но тем не менее..
zhogar
27.05.2024 12:00Просмотрел другие видео, тоже весьма интересные.. Но достойно, достойно! Снимаю шляпу.. Пока мы продаем свои осциллографы, люди делают по истине интересные и полезные технологии!!! Мой поклон!..
ValeryGL
27.05.2024 12:00Самостоятельно простой человек дома валидный QR не сможет сделать. А вот банки своим клиентам (самозанятым, ИП и тд.) такую услугу предоставляют. Спросите в своём банке. Ногами в банк ходить, конечно, не нужно :)
Двое из троих работающих сейчас у меня строителей генерят мне QRки/ссылки, тыкая пальцем в свой смартфон.Если с технической стороны, то для генерации ссылки нужно отправить API-запрос в ОПКЦ СБП с указанием суммы и т.п. Запрос от имени банка.
Balling
27.05.2024 12:00+1"Шаловливый пассажир ходит с POS терминалом на имя ООО "Тень" и крадет деньги, приложив." Примерно тот же сценарий. Нет, так как пара жалоб и юр. лицо прижмет банк.
exTvr
27.05.2024 12:00Сомнительную возможность тереться о карманы с картами в метро с POS терминалом на имя ООО "Тень" и красть деньги, давно уже развенчали
В исходном комментарии было
Банк, в котором водитель держит счёт, генерирует в ОПКЦ СБП платежную ссылку (указав реквизиты водителя и сумму платежа), из ссылки делает QR-код,
Т.е. речь шла о переводе одного честного частного лица другому честному частному лицу.
ValeryGL
27.05.2024 12:00Водитель - не простое физлицо; он ИП или самозанятый. У него с банком немного другие отношения
zhogar
27.05.2024 12:00+1Спасибо большое!
Для профита еще хотелось бы получить ответ от пользователя @kamaltatyanaСмысл в том, что нет четкой инструкции и понимания, что и как нужно делать (какие шаги выполнить), чтобы сгенерировать (получить) такой QR-код, NFC-метку и ссылку в конечном счете, для размещения блока JS-кода, для кнопки оплаты..
Вот если бы даже в банк не ходить не нужно было.. А где-то в ЛК приложения банка получить этот код (данные), вот это тоже был бы профит!
p.s. ну из последнего, что хотелось бы отметить, очень удобно на сомом деля для самозанятых, ИП и т.д.. По сути можно платежную-визитку делать с этими данными, и после оказания услуг, просто передаешь клиенту код или метку, и он оплачивает.. И не нужно вот этих всех.. а дайте номер телефона, я переведу.. а куда Вам перевести?.. В платеже указаны Ф.И.О., все верно?.. и т.д..
kamaltatyana Автор
27.05.2024 12:00Для бизнеса вся инструкция по подключению описана на нашем сайте СБП.
samponet
27.05.2024 12:00В итоге в справке сказано, что по этому коду могут переводить только клиенты того банка, в котором сгенерировали код. Это как бы совсем не то, что хотелось (Тинькофф)
andrey_27
27.05.2024 12:00Какой перевод? Переводом вы просто дарите деньги водителю. Оплачивайте строго через терминал, это будет подтверждением оплаты вашего проезда.
moscowman
27.05.2024 12:00Зачем мне СБП, где, в отличии от карт нет КБ? Я тогда лучше наличкой заплачу и получу анонимность.
Да, я параноик, готовый продавать свою анонимность за нормальный КБ. Сейчас это минимум 6%.Balling
27.05.2024 12:00+1За прикладывание (по NFC) СБПпей был кешбек 10% в перекрестке. Я с двух аккаунтов. В размере 1000 рублей максимиум.
ValeryGL
27.05.2024 12:00Нет кешбэка, говорили они...
DaemonGloom
27.05.2024 12:00А теперь можно такой же скриншот - на не в ноябре, когда были акции в каких-то конкретных местах, а сейчас?
ValeryGL
27.05.2024 12:00+1Скриншот со вчерашней оплатой и кешбэком я могу выложить, но убедить вас - не могу
PS кстати тема статьи - ссылки; а кешбэк - в другой статье
DaemonGloom
27.05.2024 12:00Судя по иконке - Яндекс Пей и обязательно подключенный Яндекс Плюс? Погуглил, да, у них ещё остался кешбек при СБП. Большинство остальных сервисов - кешбека не дают. В конце прошлого года просто многие магазины пытались убедить людей заплатить по QR с акционным кешбеком, но от этой практики они уже ушли - потому и засомневался.
moscowman
27.05.2024 12:00Вот когда будет что-то на постоянку, а не вот это акционное, тогда и будем смотреть в сторону QR.
А то телефон возьми, что-то отсканируй, приложение банка открой (возможно, не знаю), интернет чтобы был, столько лишних движений и ради чего?
inkelyad
27.05.2024 12:00Многие владельцы смартфонов с NFC ошибочно полагают, что для оплаты через СБПэй достаточно просто приложить телефон к терминалу.
Это не так! СБПэй работает не с терминалами, а с NFC-метками.
И это плохо. Научить терминалы нужному протоколу - совсем нельзя? Показывать QR-код удалось же научить (по крайней мере некоторые)
Потому что правильный сценарий(если я решил пользоваться телефоном, а не банковской картой) выглядит как:
1) Кассовая машинка показывает мне "продавец хочет такую-то сумму"
2) Я прикладывают свой телефон и произвожу нужные действия, чтобы оплата прошла.
3) Кассовая машинка отдает моему приложению весь это чек, что по QR-коду доступен. Не через пол-страны посредников и пересылкой по почте/SMS-ками, а прямо по NFC. Опционально (если у меня в приложении галочка стоит) - бумажный чек после этого можно не печатать.
zhogar
27.05.2024 12:00+1Пожалуй, крайний комментарий.. Обратил внимание.. Смотрите..
Со всеми этими технологиями, это очень конечно хорошо! Но..Стоишь на кассе, кассир пробивает штрих коды продуктов, приложение кассира иногда подвисает - но это не всегда и не везде.. Можно предположить связь с БД, репликации и все остальное..
Потом кассир озвучивает цену, и спрашивает: оплата картой или наличкой?.. Ты говоришь, - картой..
Кассир берет мышь терминала, и что-то там выбирает - нажимает..
Любопытно,.. вижу какое-то окно на мониторе кассы, которое там куда-то что-то "звонит"/связывается..
Одупляется терминал, что-то думает секунды 3..
Появляется явное сообщение на терминале, поднесите карту (ну иногда еще QR-код высвечивает)..
Оплачиваешь (хорошо если карту посетитель достал раньше, или раньше открыл приложение для оплаты).. Подносишь карту, терминал издает звук.. что-то там куда-то отправляет.. опять время.. ну не знаю, точно не замерял, но секунды 2-3..
Начинает печать кассового чека.. А это тоже определенное время.. причем не всегда можешь уйти (освободить кассу) не забрав чек..
Хорошо, если еще кто-то за это время продукты успевает по пакетам разложить.. а не только после оплаты..
Бывает и такое, что у клиента (посетителя магазина), не достаточно средств на счете, для оплаты своей корзины.. Так вот, тогда начинается трэш..
Кассир кому-то кричит: Позовите Машу! Где сторно? (что за сторно, для меня до сих пор остается загадкой)..
Где-то, кто-то там ищет эту машу (хорошо если рядом)..
Маша приходит, снимает с шеи какой-то бейдж с штрих кодом, передает кассиру..
Кассир пробивает этот штрих код, и начинает в программе удалять продукты, чтобы клиенту-посетителю было достаточно средств для оплаты части покупки..
В программе товары скорректированы, начинается вся таже самая указанная по пунктам выше процедура, со связью с банком, оплатой клиентом, печатью чека и т.д...
Так бывают ситуации еще когда этот клиент-посетитель, начинает кому-то звонить.. или переводить с карты на карту.. ну и т.д..
А бывает еще когда не 3-4 человека на кассе, а реально толпа..
А теперь вспомните раньше.. Пришел на кассу, переложил продукты из корзины в пакет, а в это время тебя считает кассир..
Отдал деньги, - ушел..
Ну ладно, иногда еще задачу давали.. Все, Карл!!!
Так вот, я в конечном счете так и не определился, вся эта автоматизация магазинов, она помогает сократить социальное время посещения (этого самого магазина), или все же нет?..
С другой стороны, так зачем тогда эти все терминалы и толпы на кассах, если клиент при посещении магазина, прям на полке по СПБ может оплатить единичный товар который он выбрал.. Сформировать свою корзину, и выйти спокойно из магазина..
Как-то так, не знаю, может я не прав..
Спасибо
inkelyad
27.05.2024 12:00А теперь вспомните раньше.. Пришел на кассу, переложил продукты из корзины в пакет, а в это время тебя считает кассир..
Это занимало вполне сравнимое время. Потому что считать и перекладывать наличку по ячейкам - долго.
zhogar
27.05.2024 12:00Да, но даже сейчас не исключена оплата наличкой.. т.е. практически также считают и дают сдачу.. Может быть я не прав комментарием выше, но я реально обратил внимание, что как мне кажется, когда платят наличкой, вся процедура проходит быстрее..
exTvr
27.05.2024 12:00+1мне кажется, когда платят наличкой, вся процедура проходит быстрее.
Точно кажется. Приложить карту к считывателю vs отслюнявить отсчитать нужную сумму кассиру, который её пересчитает, затем наморщит лоб и вычислит сдачу, потом попросит посмотреть мелочь и отсчитает сдачу.
inkelyad
27.05.2024 12:00В тех местах, где платят наличкой и используют кассовую машинку? Описанные шаги, замедляющие процесс, ведь те же самые. Если же имеется в виду, что сразу наличкой и без машинки - ну может быть. Но государство сильно не одобряет.
zhogar
27.05.2024 12:00Основной посыл в чем.. Вот эта вся гора улучшений и технологий, которая делается конкретно для оплаты на кассе, в конечном счете.. Приближается (если не равно), ко времени обычной оплаты наличкой.. Т.е. скажем, есть 200 технологий (я не знаю, просто предположил), которые обеспечивают работу бесконтактной системы оплаты (включая работу кассира по занесению товара в БД (таблицу), при сканировании штрих кодов).. И каждая эта технология, чтобы обеспечить этот результат, априори должна иметь время жизненного цикла в системе.. т.е. скажем какой-то срефакториный код, который работает 20 мсек.. и вот эта вся "катавасия" с подключением к банку и транзакции, допустим 5 сек.. и того, общее время Tcommon = t(e1) + t(e2) + ... + t(e200) = 1 мин.. Где: e - это event (событие).. а оплата наличкой (к примеру), Tmany = 1 мин. 20 сек... понятно, что эти 20 сек.. можно разложить на количество посетителей, и увидеть выгоду во времени обслуживания.. Но, тенденция, приближения времени оплаты картой, ко времени оплаты наличкой.. на мой взгляд имеется..
zhogar
27.05.2024 12:00Ну на последок отмечу, вот бывает еще связи с банком, или с их (магазина) базой (тобишь интернета нет к примеру) нет.. так все.. магазин, не работает.. я вот одного не пойму, неужели нельзя ДАМП базы локально, и по ней работать, когда интернета нет.. ну нет и нет.. магазин работает, интернет появился, - среплицировались.. что не так то..
exTvr
27.05.2024 12:00тобишь интернета нет к примеру
А вот это да, засада для избалованного высокими технологиями поколения - лет несколько назад, в преддверии новогодних праздников, я неспешно перемещал тележку по гипермаркету и лениво складывал в неё всякую жизненно необходимую новогоднюю срань под мурлыканье спотифуя в наушниках. Ничто не предвещало облома шопинга для большинства подобных мне.
Но чу! Спотифуй заткнулся - телефон грустно подмигивал "E" в строке состояния. Ладно, пофиг, старый воин - мудрый воин, у него сохранённой музыки есть много разной и лучший плеер всех времён и народов Poweramp, продолжаем курсировать между рядами полок.
Что-то вещают по громкой связи местной.
Приглушил музыку - "Бла, бла, бла, спиртное не продаётся потому что потому интернет закончился". Ладно, пофиг, я его заранее купил, я тут за едой охочусь ваще то.
Катаю тележку дальше и складываю в неё добычу.
Чу! Снова что-то вещают по громкой связи местной. Снова приглушил музыку - "Бла, бла, бла, извините, но только наличный расчёт потому что потому интернет закончился. Ладно, пофиг, старый воин - мудрый воин, у него всегда с собой наличности некоторое количество.
Удивительно - очередей на кассах не было, совсем, невзирая на предновогоднюю ажитацию.
DrZlodberg
27.05.2024 12:00+1По опыту, самый тормозной момент - это вбивание индивидуальных кодов продуктов. Когда человек покупает 20 йогуртов и их все 20 тебе должны просканировать (при этом ещё найдя и расправив эти коды, если упаковка не жесткая(мороженки например)). Купить просто пачкой уже нельзя. И не дай бог какой-то один перемешается с уже отмеченными...
vorphalack
27.05.2024 12:00+1о да... тебе нужно допустим 3-4 пачки напитков в поллитровой таре - и начинается ВЕСЕЛЬЕ. хорошо если чёртознак сверху и хорошо сканируется, а если с боков или лазером на открывашке банки, который даже без упаковки через раз считается? тут по ходу скоро со скотчем ходить надо будет, чтоб упаковки потом до машины донести...
Balling
27.05.2024 12:00Какому нужному протоколу? EVM? Europay, Mastercard, Visa? Да и ещё с CDCVM расширениями? Это шутка?
inkelyad
27.05.2024 12:00Какому нужному протоколу?
Тому, который СБП использует при оплате по NFC. Который "СБПэй работает в режиме чтения NFC-меток.". Если внутри кассовой машинки есть NFC железо - то замена софта должна позволить ей работать той самой NFC меткой, что в виде отдельной железки предлагают ставить?
Balling
27.05.2024 12:00Нет, конечно. HAL в android закрытый, а код что открыт в Android это просто API. И вообще это проприетарщина и trade secret.
inkelyad
27.05.2024 12:00При чем тут Androd? Приложение и сам телефон остаются как есть. И 'СБПэй работает в режиме чтения NFC-меток.' Которое, как я понимаю, вот это и позволяет передавать в 'метку' и читать в нее почти все что угодно (смотрим на методы transceive в интерфесах).
Речь идет про модификацию софта кассовых машинок.
Чтобы вместо вместо 'Прикладывайте телефон к табличке, а не к терминалу' нужно было прикладывать именно к терминалу, как при использовании банковской карты или системы эмуляции карты из телефона.
Смогли же этот софт в кассовых машинках модифицировать, чтобы они QR код для оплаты показывают?
oraclejob
Подскажите пожалуйста, почему для работа спб пей нужен гугл аккаунт? Мы, вроде бы, отвязываемся от западных сервисов.
Balling
В СБПей есть два способа платить. Имплементация NFC возможно зависит от AndroidX, так же как и сканирование QR.
kamaltatyana Автор
Ранее для регистрации в СБПэй нужно было действительно выбирать гугл аккаунт. Сейчас такой необходимости нет.