Как настроить nfc для оплаты картой тинькофф

Что делать если не работает оплата по nfc

Причин довольно много. Причем появляются они, словно грибы после дождя. Особенно в последнее время, характеризующееся увеличением количества наименований моделей, применяющих данную опцию.

Предлагаю кочующие на форумах ошибки и траблы, из которых был найден выход. Возможно, это кому-то поможет.

  1. Простые косяки. Здесь собраны недочеты и ошибки самого пользователя.
    • Низкий заряд аккумулятора, меньше 5% провести транзакцию не удастся.
    • Баланс на привязанной карте не позволяет расплачиваться.
    • NFC-чип выключен в настройках.
    • На терминале нет искомого логотипа, а вы ломитесь в закрытые ворота.
    • Да и карта вашего банка, того… Не поддерживается.
  2. Программные ошибки.
    • Приложение не хочет устанавливаться? Причин может быть несколько, от геополитических до тривиальных. Как вариант, посмотреть наличие оперативной памяти в устройстве. А также заглянуть в Google, является ли ваша страна ее адептом?
    • Если оплата не проходит по непонятной причине, не классифицируется, есть выход. Попробуйте сделать, так называемый программный ресет. Удалите привязанную карту из своего аккаунта и снова ее туда пропишите. Иногда помогает.
    • Не подключается к системе оплаты. Перезапустите приложение, возможны глюки самой утилиты.
  3. Технические. Известна ошибка 56 в приложении Apple Pay. Указывает на неисправность модуля NFC. Кроме того, известны случаи, когда неверно ориентированное устройство с чипом, отказывается дружить с торговым оборудованием. Попробуйте поменять положение телефона.

На этом заканчиваю, так как статья не резиновая и все вместить сюда не получится. Ищите простое решение, о сложном задумаетесь только в случае неудачи.

Несмотря на то что многие аспекты вопроса, как настроить для оплаты картой, сдублированной телефоном и использовать при этом технологию NFC, освещены довольно подробно, нерешительность остается. Исходя из общего недоверия к новому методу проведения платежа, выказываемое на многих интернет-площадках, хочу подытожить. Время покажет, как любят говорить у нас по телевизору.

Что такое технология nfc и как она работает

Уже много написано о NFC. Причем, одно и то же, копируется и кочует из одной статьи в другую, из видео в аналогичное видео. Википедия дает свой, оригинальный вариант восприятия. Мне он кажется наиболее образным, его и примем за основу.

Представьте себе трансформатор, думаю, ни у кого нет с этим проблем. Чтобы реализовать идею на практике пришлось встроить в «тело» смартфона рамочную антенну, излучающую с помощью специального чипа электромагнитные волны на радиочастоте. Так вот, магнитные поля двух устройств с NFC-модулем, генерируемые с помощью передающих антенн, представляют собой в чистом виде трансформатор, с одной лишь оговоркой, что обмотки (первичная и вторичная) есть, но сердечник отсутствует. Вернее, он является воздушным.

Итак, поднеся на близкое расстояние (менее 20 см) друг к другу, два телефона с NFC чипом, возникающие электромагнитные поля воздействуют друг на друга таким образом, что в одном из них, согласно законам физики, появляется электрический ток, несущий в себе закодированный цифровой сигнал.

Такова суть бесконтактной технологии в ближнем поле (перевод с английского аббревиатуры NFC), если смартфоны развести на большие расстояние, то сердечник «рвется» и связь прерывается. В случае если у вас смартфон супер больших размеров, скорее фаблет, но еще не планшет, то для правильной ориентации модуля в пространстве нужно знать одно единственное правило. Антенну прячут за задней крышкой, иногда помечая ее специальной наклейкой.

Для полноты картины нужно добавить, что если обмен данными происходит с обеих сторон — это означает активный режим связи. Иначе говоря, имеем два телефона, и они воздействуют друг на друга, передавая нужные файлы от инициатора к целевому устройству.

Описываемая в статье бесконтактная оплата, является случаем пассивного режима технологии NFC. Когда целевое устройство (торговый терминал, например) работает простым ретранслятором, или передатчиком неких сигналов, задаваемых смартфоном.

https://www.youtube.com/watch?v=bnFaaPylthI

Получилось не сильно просто в объяснении, но дальше пойдет легче. С помощью описанных алгоритмов передачи данных на близкое расстояние, происходит главное, из-за чего городился огород. А именно: смартфон, вооруженный NFC-инновацией, позволяет в закодированном виде послать цифровые сведения о платежном инструменте (личной дебетовой или кредитной карте).

В нужный момент, банковская карта появится на экране девайса, будто она самая настоящая. Никакого волшебства здесь нет и в дальнейшем мы в этом убедимся. Нужно лишь создать для этого все условия, о чем пойдет речь в следующей части статьи.

Что делать, если бесконтактная оплата не работает

На разных этапах работы у пользователя могут возникнуть трудности.

Неудачи с подключением могут иметь место из-за:

  1. Телефона. Важно, чтобы ОС была Андроид и не старее версии 4.4. Обязательное условие — поддержка устройством НФС. Если гаджет не подходит, воспользоваться бесконтактной оплатой не получится.
  2. Неправильной настройке. Всегда проверяйте введенные данные по карте. 
  3. Технического сбоя. Тут ничего не остается, как немного подождать. Спустя время попробуйте повторить настройку.
  4. Скачивания устаревшей версии приложения Тинькофф банка. Скачивайте обновленную версию.

С настройкой может помочь техподдержка Тинькофф банка.

Ошибку во время NFC payment (оплаты) Тинькофф часто выбивает, в связи с:

  1. Недостаточным балансом по карте. Проверяйте, есть ли средства на счету.
  2. Терминалом, который не поддерживает НФС или его устаревшей модели (есть те, которые рассчитаны лишь на оплату картами). Уточняйте этот момент у продавца.
  3. Отключенным модулем НФС. Проверьте этот момент в настройках.
  4. Сбоем времени и даты в телефоне. Подобное тоже может стать причиной неудач во время проведения платежей.
  5. Устаревшим мобильным приложением банка. Нужно обновить его до последней версии.

Несмотря на достигнутый высокий уровень онлайн-сервиса, периодически возникают системные проблемы. Они решаются с помощью техподдержки, а также самостоятельно:

  • В приложении Тинькофф пропала кнопка бесконтактной оплаты

Переустановить программу.

  • Платежный терминал не считывает информацию

Устройство устарело и принимает оплату только картой. Необходимо найти современный терминал.

Неподходящая версия гаджета (ниже 4.4). Приобрести правильный гаджет.

  • Мобильный банк не работает

Нет денег на счете. Пополнить карту.

Мошенническая атака или ошибочное списание. Заблокировать счет, провести ревизию.

Если самостоятельные усилия не восстановили платежеспособность, нужно обратиться в техподдержку банка.

‎nfc tools

NFC Tools, позволит вам считывать и создавать собственные NFC-теги.

NFC Tools считывает и записывает Ваши NFC-метки через простой и удобный интерфейс.
Поднося своё устройства к NFC-метке, Вы можете считывать её содержимое и взаимодействовать с этими данными.

функция “Чтение” предоставляет Вам следующую информацию:

– производитель метки
– тип метки (например: Mifare Ultralight, NTAG213)
– стандарт метки (например: NFC Forum Type 2)
– технология (например: NFC A)
– серийный номер (например: 04:85:c8:5a:40:2b:80)
– размер метки и данные на ней
– возможны ли запись на метку
– все данные на метке (формат NDEF)

NFC Tools может записывать стандартную информацию, совместимую с любым NFC-устройством, на Ваши теги.
К примеру, Вы можете хранить запись VCARD и легко делиться своими контактами, открывать ссылки, передавать телефонные номера или местоположение.

функция “Запись” позволяет Вам записать стандартизированные данные, такие как:
– простой текст
– ссылка на веб-сайт
– адрес электронной почты
– контакт
– номер телефона
– заготовка текстового сообщения
– адрес или местоположение
– конфигурация Wi-Fi или Bluetooth
– персонализированные данные

Функция записи позволяет Вам добавлять любые данные, какие Вы только пожелаете.
Таким образом, Вы можете записывать самую разнообразную информацию на Вашу метку.

Также это приложение позволяет Вам сохранить содержимое Вашей метки для последующего доступа.

NFC Tools был протестирован со следующими NFC-метками:
– NTAG 203, 210, 210u, 212, 213, 213TT, 215, 216, 413 DNA, 424 DNA
– Ultralight, Ultralight C, Ultralight EV1
– ICODE SLI, SLI-S, SLIX, SLIX-S, SLIX-L, SLIX2, DNA
– DESFire EV1, EV2, EV3
– ST25TV, ST25TA
– Felica

Если у Вас возникли какие-либо проблемы, не стесняйтесь обращаться ко мне.

Примечания:
– Совместимо с iPhone 7 (и выше) и iOS 13.

Бесконтактный платеж на xiaomi mi5 тинькофф

Хотелось бы подытожить информацию о проблеме оплаты через NFC, чтобы больше не поднимать эту тему. В принципе, для того, чтобы оплата через NFC работала, в телефоне обязательно должна быть реализована поддержка технологии HCE, что расшифровывается как Host-based Card Emulation (есть альтернативный способ оплаты через NFC на телефонах не имеющих HCE, но о нем чуть ниже).

К счастью наш телефон HCE поддерживает.К несчастью, в процессе обновлений стабильных прошивок, разработчики толи случайно толи специально эту технологию выключили, что привело к неработоспособности оплаты через NFC приложениями, которые основываются на технологии HCE.

https://www.youtube.com/watch?v=Dwl2QVnm8jU

Как удалось выяснить, в последних девелоперских прошивках, в том числе и глобальной девелоперской, есть пункт меню в разделе NFC, который называется «Расположение элемента безопасности», в котором есть две опции: «Встроенный элемент безопасности» и «Элемент безопасности на SIM карте».

Задаемся вопросом, каким боком наш NFC HCE связан с такой настройкой в нашем телефоне, ведь на сим-карте у нас нет никакого элемента безопасности, а технология HCE не нуждается в сим-карте, где бы он был расположен. Сим-карта со встроенным элементом безопасности это немного другая, более старая ветвь развития бесконтактных платежей с помощью NFC.

Что же в итоге имеем?Оригинальные пункты меню на английском:«Select Wallet» / «use xiaomi wallet, could use MI Pay and transit card» / «using HCE wallet»

Пункты меню при выставлении в настроках русского языка:«Расположение элемента безопасности» / «Встроенный элемент безопасности» / «Элемент безопасности на SIM карте»

Как видим ошибка перевода на лицо, причем логика перевода не ясна.Итого, пользуемся NFC HCE оплатой на любой новой девелоперке, предварительно выставив правильную настройку («using HCE wallet») и ждем когда эта чудо настройка появится на стабильных прошивках.

Android Pay – современная технология представленная в 2021 году компанией Google и постепенно набирающая популярность по всему миру. Основная ее задача – совершение покупок в магазинах без традиционного использования пластиковых карт. Как же все это работает и как настроить Android Pay на Xiaomi?

Немного истории

В целом, технология бесконтактных платежей не нова. У Visa есть payWave, а у MasterCard – payPass. В том случае, если ваша пластиковая карта поддерживает бесконтактную оплату, а терминал в магазине настроен на ее прием, все что вам нужно – в момент ожидания карты терминалом приложить ее к считывающему модулю на несколько секунд и дождаться авторизации с сервером платежной системы. В некоторых случаях, в зависимости от настроек терминала, может потребоваться ввод пин-кода.

Именно так все и работало, пока не появилась технология Androd Pay. По сути, она лишь берет данные вашей карты (даже если та не оснащена модулем бесконтактной оплаты) и передает их в терминал своими средствами. Основное требование от смартфона – наличие NFC-модуля. Именно благодаря ему и происходим обмен данными между устройствами.

Как настроить Android Pay

https://www.youtube.com/watch?v=1XfHRKmUmgo

Стоит отметить, что Android Pay не поддерживается на Xiaomi бюджетного (а иногда и среднего) сегмента, которые не отвечают определенным правилам:

  • операционная система Android 4.4 и выше;
  • присутствует модуль беспроводной связи NFC;
  • у вас должен быть заведен аккаунт Google;
  • на смартфоне не должно быть выдано root-прав (прав администратора);
  • вы живете в стране, в которой работает данный сервис.

Например, на Xiaomi 4x Android Pay настроить не получится именно из-за отсутствия NFC модуля, хотя смартфон достаточно хорош и очень популярен в России. Это же относится и к популярным моделям Xiaomi Mi 5x и Xiaomi Mi A1. Но если все пункты выполняются, заходим в Google Play и скачиваем приложение Android Pay.

После этого необходимо настроить устройство для корректной работы программы.Первым делом заходим в настройки смартфона и в разделе «Дополнительные настройки активируем переключатель возле пункта NFC.

После этого станет доступным элемент «Расположение элемента безопасности» . Убеждаемся, что в нем выбран пункт «Кошелек HCE».

Следующим этапом будет выдача всех доступов и максимальных разрешений приложению.Для этого заходим в настройки смартфона и в разделе «Разрешения» нажимаем на пункт «Автозапуск». Среди доступных приложений ищем Android Pay и активируем переключатель возле него.

Там же, в разделе «Разрешения», нажимаем на пункт «Другие разрешения» и в нем выбираем приложение Android Pay.

Откроется список всех необходимых для программы разрешений. Нажимаем на каждое из них и даем полный доступ.

Последнее, что осталось сделать по настройкам смартфона – внести некоторые изменения в раздел питания.Ищем пункт «Батарея и производительность» и выбираем в нем на «Активность приложений».

Далее нажимаем на «Выбор приложений» и выбираем программу Android Pay.

В открывшемся списке необходимо выбрать «Нет ограничений». Это позволит не экономить энергию используемую данной программой в фоновом режиме, а следовательно – держать ее всегда наготове.

На этом настройку смартфона можно считать завершенной.Теперь запускаем программу Android Pay, авторизируемся под своим Google-аккаунтом, принимаем соглашение и добавляем данные своих пластиковых карт. Если их несколько – выбираем одну из них в качестве основной.

После этого можно начинать пробовать оплачивать покупки в магазинах и других заведениях. Для этого необходимо просто включить экран смартфона (вывести из спящего режима без необходимости разблокировки) и приложить его на несколько секунд к терминалу оплаты.

Если все прошло как надо – запуститься процесс авторизации и с подвязанной карты будут списаны деньги.

  1. Запустите утилиту «Безопасность» и откройте «Активность приложений«.
  2. Затем найдите «Андроид Пей» и кликните на «Нет ограничений«.
  3. После этого подтвердите ваши действия и выйдете на рабочий стол.
  4. Теперь запустите «Настройки» и откройте «Дополнительные функции«.
  5. В «Бесконтактной оплате» необходимо выбрать нужное средство.

Достоинства и недостатки бесконтактной оплаты для банковских клиентов

NFC Тинькофф имеет как свои плюсы, так и минусы.

К преимуществам относят:

  1. Существенную экономию времени. На кассе не нужно отсчитывать наличные, ждать сдачи или искать в кошельке карту и вводить пин-код от нее. НФС сигнал улавливается моментально и происходит исчисление средств. Только в случае покупки свыше 1000 рублей, придется обременять себя введением паролей.
  2. Безопасность платежей. Во время транзакции никто из посторонних не увидит данные по карте, так как банковский инструмент не участвует во время транзакции — только телефон. Кассир или кто-либо другой не получит номер договора платежной карты (payment cardtocard agreement number).
  3. Исключение потери пластикового носителя. Привязка карточки к смартфону дает возможность исключить ее ношение в кошельке или в кармане.

Есть и минусы, это:

  1. Есть риск потери денег. Суммы, не превышающие 1000 рублей, списываются без пин-кода. Этим могут воспользоваться мошенники, если получат доступ к телефону или карте с НФС. Разработчики исключают подобное, но нужно быть на чеку.
  2. Отсутствие терминалов в торговых точках. Не каждый магазин оснащен устройствами, которые поддерживают NFC. Это затрудняет бесконтактную оплату, а точнее делает ее невозможной. Особенно подвержены такой проблеме маленькие населенные пункты.
  3. Не все устройства поддерживают Тинькофф Пей. Если у клиента банка старая модель, в которой нет модуля НФС, то подключить бесконтактную оплату не выйдет.

https://www.youtube.com/watch?v=PcP2RiRD9vI

Если у клиента Тинькофф Банка нет соответствующей модели телефона или имеются другие причины, по которым бесконтактную оплату от Тинькофф подключить не удается, есть альтернатива. Можно воспользоваться сервисами Apple Pay, Google Pay или Samsung Pay.

Как настроить оплату

Важный момент. Чтобы не иметь бледный вид перед фыркающей толпой сзади вас и не переминаться с ноги на ногу во время оформления транзакции, необходимо заранее проделать кое-какие манипуляции с девайсом. Чтобы платить телефоном, следуйте следующим правилам.

  1. Проверьте устройство на наличие в нем искомого модуля и включите его. Обычно сведения о NFC находятся в разделе настроек под названием беспроводные сети — еще (дополнительные функции) — NFC. Сделайте активной опцию, если она у вас есть.
  2. Убедитесь, что программа Android Beam включена в работу, системное приложение «подхватывает» дремавшую изначально опцию, и поможет вам осуществить платежи.
  3. Кроме того, понадобится утилита-эмулятор банковской карты, их на Play Маркете немыслимое количество. Не теряйтесь, выбираем самые надежные, опробованные временем, исходя из названия модели вашего телефона. О каждой из них пойдет речь в дальнейшем.
  4. На данном этапе отметим, что после скачивания приложения с Google Play и первого запуска в телефоне, предстоит привязать банковскую карту для повседневного использования. Здесь уже пути реализации алгоритма разнятся, поэтому описание будем проводить для каждой конкретной программы.
  5. Не забывайте о заряде аккумулятора, не стоит даже пытаться провести платеж на нулевом уровне, зависание транзакции в самый неподходящий момент вам ни к чему.
  6. Следующий важный шаг, заключается в настройке уже установленного приложения. Для экономии времени в самый ответственный момент, установите требуемое приложение, как действующее по умолчанию. Один единственный раз и навсегда. Для этого заходим по пути: настройки — приложения — дополнительные настройки, затем приложения по умолчанию (системные). Укажите уже установленную утилиту, как отвечающую за бесконтактную оплату, в следующий раз платеж пройдет гладко, без лишних вопросов.
  7. Если ни в настройках беспроводной связи, ни в приложениях не отыщется словосочетание: бесконтактная оплата, то у вас в телефоне эта возможность отсутствует.

Как подключить apple pay?

Чтобы воспользоваться картой Тинькофф с Apple Pay следует использовать одно из следующих устройств: iPhone от SE и версии 6 или Apple Watch. На более ранних устройствах отсутствовал NFC-чип, необходимый для бесконтактной оплаты телефоном.Устройства, поддерживающие Apple Pay

На устройстве должен быть настроен Touch ID, произведен вход в iCloud, а также установлены приложения Тинькофф Банка и Apple Wallet.

Чтобы прикрепить карту к Apple Wallet, сделайте следующее:

  1. В мобильном банке Тинькофф найдите карту, которую собираетесь использовать с Apple Pay, далее «Услуги» и «Добавить в Apple Wallet».Добавление Apple Wallet в приложении Тинькофф
  2. Вы автоматически перейдете в Apple Wallet. Согласитесь с условиями использования. Теперь сведения о вашей карте сохранены, и вы можете совершать платежи при помощи вашего iPhone или Apple Watch.Добавление карты Тинькофф в Apple WalletApple и Android PAY: пошаговая инструкция по настройке бесконтактной (NFC) оплаты картами Тинькофф Банка
  3. В приложении банка около вашей карты будет отметка Apple Pay, а в программе Wallet — карта Тинькофф Банка.Иконка Apple Pay в мобильном банке Тинькофф

Чтобы провести платеж, приложите смартфон к устройству оплаты и подтвердите личность при помощи Touch ID. Также вы можете использовать Face ID или пин-код. При использовании Apple Watch, два раза надавите на боковую клавишу и приложите устройство экраном к терминалу.

Кейс 1. привязываем карту клиента к бэкенду для регулярных списаний или платежей в 1 клик.

Тут важно понимать, что если ваш бэкенд не сертифицирован по PCI DSS, то номер карты и ее срок действия вы не можете хранить в своей базе данных. Поэтому, прежде чем привязать идентификатор карты к аккаунту клиента, необходимо сначала карту токенизировать.

Для этого вам необходимо осуществить через мобильное приложение первый платеж с участием клиента, и желательно с 3D-Secure, заблокировав на карте небольшую сумму, например 1 единицу валюты. 3D-secure в данном случае необходим в первую очередь, чтобы обезопасить себя, как торговую точку, от финансовых претензий (чарджбеков) по будущим рекурентным списаниям, а во вторую очередь — чтобы улучшить конверсию, так как например по картам Сбербанка в России и Приватбанка в Украине в большинстве случаев транзакция без 3D-Secure не пройдет.

Итак, чтобы получить токен карты, необходимо передать параметры

requiredRecTokenverification

(более подробно как создать мобильное приложение смотрите в статье, ссылку на которую я указал в начале, а также в коде

на github):

order.setRequiredRecToken(true)
order.setVerification(true)


Параметр

requiredRecToken

требует возвратить токен карты при успешной авторизации карты, а

verification

— что средства с карты списывать не нужно, а достаточно их заблокировать, а потом вернуть (платежный шлюз возвращает их автоматически).


В ответ платежный шлюз вернет параметры

recToken

— токен карты,

recTokenLifeTime

— срок действия токена (по сути срок действия карты) и maskedCard — маскированный номер карты, который необходимо привязать в бекенде к токену для дальнейшего отображения клиенту при выборе способа оплаты.


Теперь, имея токен карты вы можете в любой момент по требованию клиента или при наступлении срока оплаты, вызвать метод

через server-to-server API и списать необходимую сумму.

Подводные камни:

По нашей статистике у довольно значимой части картодержателей не получается оплатить через 3DSecure на мобильном устройстве по ряду причин, от него и шлюза не зависящих:

— может не приходить SMS, или пользователь переключаясь между SMS-приложением и вашим, потерял форму с вводом пароля 3D-Secure, так как она открывается в WebView или системном браузере

— полезла верстка 3D-Secure страницы банка на смартфоне или планшете (банки очень редко адаптируют такие страницы)

— веб-сервер банка отключил поддержку небезопасного протокола TSL 1.0, что делает 3D-Secure недоступным для Android версии <4.1

Лайфхак:


Мы на платежном шлюзе умеем включать/отключать налету 3D-Secure, и если все-таки у клиента не получается оплатить, мы под него подстраиваемся, и пытаемся сделать оплату без 3D-Secure пароля.

Также стоит помнить, что если вы сохраняете токены одного платежного провайдера в своей системе, то использовать их на другом провайдере уже не получится, разве что если провайдеры не договорятся между собой о миграции токенов, что в принципе в нашей практике уже было несколько раз.

Кейс 2. кастомизируем верстку формы ввода номера карты.

Часто возникает необходимость разместить поля для ввода номера карты, срока действия и cvv2 в другой последовательности, чем это предусмотрено стандартным layout в SDK. Но из-за требований PCI DSS вы не можете просто взять, и заменить поле ввода номера карты на стандартный компонент EditText.

Для этих целей мы разработали flexible layout. Flexible layout наследует стили вашего мобильного приложения и позволяет располагать элементы формы в любой последовательности и в любом дизайне и при этом предотвращает случайную передачу карточных данных на сторону вашего бекэнда.

Для организации ввода карты в SDK есть два механизма:CardInputView — готовый view для использования;CardInputLayout — лишь layout wrapper для потроение view в собственном стиле разметки.

По сути CardInputView = CardInputLayout CardNumberEdit CardExpMmEdit CardExpYyEdit CardCvvEdit.Упрощенную структуру CardInputView в XML можно запиться так:

Следовательно можно абсолютно свободно кастомизировать и располагать элементы ввода на сколько хватит фантазии. Есть лишь одно правило которое нужно соблюдать — каждый из элементов ввода (CardNumberEdit,CardExpMmEdit,CardExpYyEdit,CardCvvEdit) должен быть в CardInputLayout один раз, при этом не играет роли уровень вложенности View.
Вот как это может выглядеть:
Как настроить nfc для оплаты картой тинькофф
Подводные камни:
Кастомизируя поля ввода стоит помнить:
— cvv2 может быть длиной как 3, так и 4 символа
— номер карты может быть от 14 до 19 символов
— можно добиться максимально точной кастомизации к вашему дизайну, сделав форк SDK и внеся изменения уже в своей реализации layout (это не запрещено делать, если вы не начинаете пропускать реквизиты карты через свой бэкенд). Но сделав форк вы теряете поддержку обновлений SDK со стороны шлюза и интеграцию новых фич
Лайфхак:
Часто можно встретить на форме ввода реквизитов карты инпуты для ввода имени и фамилии картодержателя и его ZIP кода. Для платежей по СНГ нет практической необходимости это делать в 99% случаев — только некоторые банки США, Канады и Великобритании поддерживают эту технологию, которая называется Address Verification System, при этом чтобы проверка сработала, ее должны поддерживать как банк-эквайер, так и банк-эмитент
Как настроить nfc для оплаты картой тинькофф

Кейс 3. подключаем возможность сканирования карты через камеру и nfc

Функция оптического сканирования карты реализована для Android в библиотеке

, для iOS в библиотеке

с использованием


NFC сканирование реализовано при помощи библиотек

и доступно только для Android. Хотя Apple и

сторонним разработчикам возможность читать RFID метки, но чтение EMV тегов с банковских карт по прежнему остается недоступным.

Пример демо-приложения для использования NFC


package com.cloudipsp.nfcexample;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Patterns;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import com.cloudipsp.android.Card;
import com.cloudipsp.android.CardInputView;
import com.cloudipsp.android.Cloudipsp;
import com.cloudipsp.android.CloudipspWebView;
import com.cloudipsp.android.Currency;
import com.cloudipsp.android.Order;
import com.cloudipsp.android.Receipt;
import com.cloudipsp.nfc.NfcCardBridge;

public class MainActivity extends Activity implements View.OnClickListener {
    private static final int MERCHANT_ID = 1396424;

    private EditText editAmount;
    private Spinner spinnerCcy;
    private EditText editEmail;
    private EditText editDescription;
    private CardInputView cardInput;
    private CloudipspWebView webView;

    private Cloudipsp cloudipsp;
    private NfcCardBridge nfcCardBridge;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        nfcCardBridge = new NfcCardBridge(this);

        findViewById(R.id.btn_amount).setOnClickListener(this);
        editAmount = (EditText) findViewById(R.id.edit_amount);
        spinnerCcy = (Spinner) findViewById(R.id.spinner_ccy);
        editEmail = (EditText) findViewById(R.id.edit_email);
        editDescription = (EditText) findViewById(R.id.edit_description);
        cardInput = (CardInputView) findViewById(R.id.card_input);
        cardInput.setHelpedNeeded(true);
        findViewById(R.id.btn_pay).setOnClickListener(this);

        webView = (CloudipspWebView) findViewById(R.id.web_view);
        cloudipsp = new Cloudipsp(MERCHANT_ID, webView);

        spinnerCcy.setAdapter(new ArrayAdapter<Currency>(this, android.R.layout.simple_spinner_item, Currency.values()));

        if (savedInstanceState == null) {
            processIntent(getIntent());
        }
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_amount:
                fillTest();
                break;
            case R.id.btn_pay:
                processPay();
                break;
        }
    }

    private void fillTest() {
        editAmount.setText("1");
        editEmail.setText("test@test.com");
        editDescription.setText("test payment");
    }

    private void processPay() {
        editAmount.setError(null);
        editEmail.setError(null);
        editDescription.setError(null);

        final int amount;
        try {
            amount = Integer.valueOf(editAmount.getText().toString());
        } catch (Exception e) {
            editAmount.setError(getString(R.string.e_invalid_amount));
            return;
        }

        final String email = editEmail.getText().toString();
        final String description = editDescription.getText().toString();
        if (TextUtils.isEmpty(email) || !Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
            editEmail.setError(getString(R.string.e_invalid_email));
        } else if (TextUtils.isEmpty(description)) {
            editDescription.setError(getString(R.string.e_invalid_description));
        } else {
            final Currency currency = (Currency) spinnerCcy.getSelectedItem();
            final Order order = new Order(amount, currency, "vb_"   System.currentTimeMillis(), description, email);
            order.setLang(Order.Lang.ru);
            final Card card;
            if (nfcCardBridge.hasCard()) {
                card = nfcCardBridge.getCard(order);
                cardInput.display(null);
            } else {
                card = cardInput.confirm();
            }

            cloudipsp.pay(card, order, new Cloudipsp.PayCallback() {
                @Override
                public void onPaidProcessed(Receipt receipt) {
                    Toast.makeText(MainActivity.this, "Paid "   receipt.status.name()   "nPaymentId:"   receipt.paymentId, Toast.LENGTH_LONG).show();
                }

                @Override
                public void onPaidFailure(Cloudipsp.Exception e) {
                    if (e instanceof Cloudipsp.Exception.Failure) {
                        Cloudipsp.Exception.Failure f = (Cloudipsp.Exception.Failure) e;

                        Toast.makeText(MainActivity.this, "FailurenErrorCode: "  
                                f.errorCode   "nMessage: "   f.getMessage()   "nRequestId: "   f.requestId, Toast.LENGTH_LONG).show();
                    } else if (e instanceof Cloudipsp.Exception.NetworkSecurity) {
                        Toast.makeText(MainActivity.this, "Network security error: "   e.getMessage(), Toast.LENGTH_LONG).show();
                    } else if (e instanceof Cloudipsp.Exception.ServerInternalError) {
                        Toast.makeText(MainActivity.this, "Internal server error: "   e.getMessage(), Toast.LENGTH_LONG).show();
                    } else if (e instanceof Cloudipsp.Exception.NetworkAccess) {
                        Toast.makeText(MainActivity.this, "Network error", Toast.LENGTH_LONG).show();
                    } else {
                        Toast.makeText(MainActivity.this, "Payment Failed", Toast.LENGTH_LONG).show();
                    }
                    e.printStackTrace();
                }
            });
        }
    }

    @Override
    public void onBackPressed() {
        if (webView.waitingForConfirm()) {
            webView.skipConfirm();
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public void onNewIntent(Intent intent) {
        super.onNewIntent(intent);

        processIntent(intent);
    }

    private void processIntent(Intent intent) {
        if (nfcCardBridge.readCard(intent)) {
            Toast.makeText(this, "NFC Card read success", Toast.LENGTH_LONG).show();
            nfcCardBridge.displayCard(cardInput);
        }
    }
}


Отличается от обычной реализации наличием NfcCardBridge и навешиванием Intent на него для ожидания события, что карта прочитана (readCard)

Подводные камни:

Хотя считывание карты и выполняется посредством NFC, протоколом финансовой авторизации карты по-прежнему служит обычный card not present. Т.е. для полноценной работы этой функциональности, карта должна быть открыта для платежей в интернет.

Лайфхак:

Написав простое приложение, вы сможете использовать его для перевода средств с чужой карты на свою, поднеся чужую карту к телефону. Например это может быть удобно, если вам необходимо списать небольшую сумму с друга в счет карточного долга. С одной стороны это будет практично и удобно, с другой — вполне эффектно.

Для того, чтобы воспользоваться сервисом переводов с карты на карту, необходимо будет предварительно зарегистрироваться на сайте платежной платформы Fondy и привязать банковскую карту, на которую будут поступать средства, в свои финансовые настройки.

О технологии бесконтактной оплаты от тинькофф банка

Держатели рублевых карт Мастер Кард могут подключить бесконтактную оплату от Тинькофф на свой смартфон. Чтобы это сделать, нужно иметь телефон на Андроиде (ОС 4.4 и более) со встроенным чипом НФС и скаченным мобильным банком.

Оплата покупок наличными практически ушло в историю, их заменили банковские карточки и мобильные устройства. Это значительно упрощает сам процесс оплаты и экономит время. Клиенты Тинькофф банка могут выбрать два современных вида платежа:

  1. При помощи кредитки. Почти все карточки организации выпускаются со специальным RFID чипом и антенной, которые передают информацию на считыватель терминала в пределах маленького радиуса, достаточно поднести пластик к кассовому аппарату на несколько сантиметров. На таких карточках отображается специальный символ в виде расходящихся волн.бесконтактная карта тинькофф
  2. Посредством мобильного устройства. Не обязательно брать с собой в магазин кредитку, ее легко может заменить смартфон, благодаря технологии NFC. В современных моделях телефонов в конструкции оборудован специальный модуль, который имитирует сигнал банковской карточки и передает его на небольшое расстояние приемному устройству — платежному терминалу.бесконтактная оплата тинькофф телефоном

NFC микрочип — это универсальная разработка, которая применяется, в основном, в финансовой сфере и имеет огромный потенциал для дальнейшего развития. Помимо этого, потребители могут запрограммировать его на выполнение любой другой функции. Сейчас можно приобрести браслеты, кольца, брелоки и специальные метки, в конструкцию которых установлен данный чип.

Чтобы бесконтактный платеж удачно прошел, на приемном устройстве должен быть установлен аналогичный модуль для считывания информации. Прогресс быстро распространился по всей стране, почти в каждом магазине можно найти соответствующий терминал оплаты, исключением являются отдаленные поселения, где распространены классические методы расчета. В чем же преимущества такого способа транзакции:

  1. Высокая скорость приема и обработки информации. Бесконтактный платеж значительно экономит время. Процедура считывания происходит за несколько секунд. Не требуется ждать, пока продавец соберет и подготовит сдачу.
  2. Потребителю больше не требуется таскать с собой кошелек, наличные денежные средства и кучу кредиток. Все это компенсирует один смартфон, с которым редко, кто расстается надолго.бесконтактная оплата смартфоном от тинькофф
  3. Большая степень безопасности. Не нужно беспокоиться по поводу сохранности денежных средств. Персональную информацию невозможно считать во время проведения оплаты, ведь обмен данными происходит на минимальном расстоянии и короткий промежуток времени. Любая операция стоимостью выше 1000 рублей требует подтверждения владельца кредитки, путем набора защитного пароля на терминале.

Не стоит сомневаться, пора переходить на новый уровень и шагать в ногу с техническим прогрессом.

Tinkoff Pay стала подарком клиентам банка и теперь люди без труда могут совершать денежные операции в один клик без участия карт. Расплатиться Android Pay Tinkoff можно везде, где есть терминал с NFC (Near field communication).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *