NFC метка - Блог Санька
,

Создание NFC-метки для быстрого перевода по СБП (через NDEF-сообщение)

Чтобы NFC-метка автоматически открывала банковское приложение и вставляла номер телефона и сумму перевода по Системе Быстрых Платежей (СБП), нужно сформировать специальный URI-запрос.


1. Формат URI для СБП

Банковские приложения поддерживают deep links (специальные ссылки) для быстрого перевода.
Формат URI для СБП:

sbp://<номер_телефона>?amount=<сумма>&currency=RUB

Пример:

sbp://+79123456789?amount=1000&currency=RUB

(откроет приложение СБП с заполненными полями номера и суммы).


2. Запись NDEF-сообщения через NFC Tools

Шаг 1: Установите NFC Tools

Шаг 2: Создайте URI-запрос

  1. Откройте NFC Tools → вкладка “Запись”.
  2. Нажмите “Добавить запись” → выберите “URI”.
  3. В поле “URI” введите:
  1. sbp://+79123456789?amount=1000&currency=RUB(замените номер и сумму на свои).
  2. Нажмите “OK”.

Шаг 3: Запишите метку

  • Поднесите NFC-метку к телефону → дождитесь сигнала.

Шаг 4: Проверка

  • Поднесите метку → должно открыться банковское приложение с заполненными полями.

3. Альтернативный способ (если sbp:// не работает)

Некоторые банки используют кастомные схемы URI, например:

  • СберБанк: sberpay://transfer?phone=+79123456789&sum=1000
  • Тинькофф: tinkoff://transfer/to_phone?phone=+79123456789&amount=1000

Как узнать правильный deep link?

  1. Откройте настройки перевода по СБП в приложении банка.
  2. Найдите “Поделиться” или “Создать ссылку”.
  3. Скопируйте ссылку и используйте её в NFC Tools.

4. Автоматизация через Tasker (если URI не поддерживается)

Если банк не поддерживает deep links, можно использовать Tasker + AutoInput для автоматического заполнения полей.

Шаг 1: Настройка Tasker

  1. Установите Tasker + AutoInput.
  2. Создайте новый профиль“NFC” (метка).
  3. В задаче добавьте действия:
    • “Приложение” → Открыть банковское приложение.
    • “AutoInput → Action” → Нажать на поле “Номер телефона”.
    • “AutoInput → Text” → Ввести +79123456789.
    • “AutoInput → Action” → Нажать на поле “Сумма”.
    • “AutoInput → Text” → Ввести 1000.

Шаг 2: Привязка к NFC-метке

  1. В NFC Tools запишите пустую метку (или с текстом tasker:sbp_transfer).
  2. В Tasker настройте триггер по этой метке.

5. Генерация NDEF в Python (для кастомных решений)

Если нужно записать метку через ПК, можно сгенерировать NDEF-сообщение:

python

import ndef

# Создаём запись с URI для СБП
sbp_uri = "sbp://+79123456789?amount=1000&currency=RUB"
record = ndef.UriRecord(sbp_uri)

# Сохраняем в файл (для записи через NFC-ридер)
with open('sbp_payment.ndef', 'wb') as f:
f.write(ndef.message_encoder([record]))

Записать на метку можно через:

  • NFC-ридер ACR122U + libnfc (Linux)
  • Приложение “NXP TagWriter” (Android)

Итог

NFC - Блог Санька

Простой способ:

  • Используйте sbp:// или банковский deep link в NFC Tools.

Продвинутый способ:

  • Если deep link не работает → Tasker + AutoInput.
  • Для массовой записи → Python + NDEF.

Если ваш банк не поддерживает sbp://, уточните его название – помогу найти правильный URI! 🚀