Содержание
- 1 Receive and respond to APDUs
- 2 Приложение от российских банков
- 3 App selection and AID routing
- 4 预配 OOBE UIProvisioning OOBE UI
- 5 Метки NFC
- 6 Conflict resolution for payment AID groups
- 7 Приложение для оплаты в одно касание
- 8 AnyTAG NFC Launcher
- 9 프로비전 OOBE UIProvisioning OOBE UI
- 10 Подготовка пользовательского интерфейса OOBEProvisioning OOBE UI
- 11 Conflict resolution for non-payment AID groups
- 12 Google Pay
- 13 Create and register AID groups
- 14 НФС и ОС Windows
- 15 Lock screen and screen off behavior
- 16 Samsung Pay
- 17 Использование НФС
- 18 Creating an HCE based app
- 19 Android Pay
Receive and respond to APDUs
When there is an APDU targeted for your app, the system will launch your background task. Your background task receives the APDU passed through the SmartCardEmulatorApduReceivedEventArgs object’s CommandApdu property and responds to the APDU using the TryRespondAsync method of the same object. Consider keeping your background task for light operations for performance reasons. For example, respond to the APDUs immediately and exit your background task when all processing is complete. Due to the nature of NFC transactions, users tend to hold their device against the reader for only a very short amount of time. Your background task will continue to receive traffic from the reader until your connection is deactivated, in which case you will receive a SmartCardEmulatorConnectionDeactivatedEventArgs object. Your connection can be deactivated because of the following reasons as indicated in the SmartCardEmulatorConnectionDeactivatedEventArgs.Reason property.
- If the connection is deactivated with the ConnectionLost value, it means that the user pulled their device away from the reader. If your app needs the user to tap to the terminal longer, you might want to consider prompting them with feedback. You should terminate your background task quickly (by completing your deferral) to ensure if they tap again it won’t be delayed waiting for the previous background task to exit.
- If the connection is deactivated with the ConnectionRedirected, it means that the terminal sent a new SELECT AID command APDU directed to a different AID. In this case, your app should exit the background task immediately (by completing your deferral) to allow another background task to run.
The background task should also register for the Canceled event on IBackgroundTaskInstance interface, and likewise quickly exit the background task (by completing your deferral) because this event is fired by the system when it is finished with your background task. Below is code that demonstrates an HCE app background task.
Приложение от российских банков
Как говорилось ранее, что многие крупные банки предоставляют возможность оплачивать покупки в одно касание. Рассмотрим несколько примеров, какие банки позволяют регистрировать карты своих клиентов для использования технологии оплаты в одно касание.
Сбербанк России
Если вы являетесь клиентом Сбербанка, то имеется возможность пользоваться сервисом оплаты в одно касание с помощью приложения Android Pay. Если вы являетесь пользователем Сбербанк онлайн на мобильном устройстве, то можете оплачивать покупки с помощью его. Для этого зайдите в меню и выберите карту, раскройте подробную информацию о ней и выберите ссылку «Добавить Android Pay»
, далее, пользуясь подсказками системы, завершите свои действия.
Оплачивать покупки с помощью смартфона можно следующим образом: сначала разблокируйте дисплей своего мобильного устройства, затем поднесите его к POS-терминалу. Спустя несколько секунд вы получите оповещение о проведение операция.
Альфа-банк
Расплачиваться с помощью мобильного телефона по картам Альфа-банка можно на мобильном устройстве Samsung, с мобильным приложением Samsung Pay. Загрузить можно любую банковскую карту от Альфа-Банка. Чтобы стать пользователем приложения вам достаточно лишь найти в меню мобильного устройства приложение Samsung Pay, затем загрузить в него свою банковскую карточку и выбрать способ авторизации. Что касается способа авторизации, то вы можете выбрать два варианта: либо с помощью отпечатка пальца, или с помощью ПИН-кода. То есть для оплаты покупок вам либо нужно оставить свой отпечаток пальца, либо ввести короткий пароль.
Кстати, нельзя не сказать о том, что Альфа-банк один из немногих, которые предлагает своим клиентам еще один удобный способ оплаты покупок в одно касание – это часы с картой Альфа Pay.
То есть вы заказываете в банке не пластиковую карту, а часы со встроенным микрочипом для проведения расходных операций достаточно принести их к существующему устройству.
ВТБ 24
Здесь Банк предлагает выбор одного из двух приложений Samsung Pay или Android Pay чтобы пользоваться приложением достаточно установить его себе на мобильное устройство затем зарегистрировать там одну или несколько ваших банковских из-за чего вы можете производить оплату на кассе с помощью телефона.
Если ваши мобильные устройства на базе Android, почем стоит обратить внимание что операционная система должна быть не менее 4,4, то вам следует произвести настройки технология бесконтактной оплаты NFC. Для этого зайдите в меню мобильного устройства и найдите раздел беспроводные сети, затем вам нужно выбрать функцию NFC и активировать модуль
Аналогичным способом вы можете настроить технологию в мобильных устройствах Windows Phone.
Оплата прикосновением телефона возможна только после того, как вы загрузите какую-либо свою банковскую карту в приложении, именно с нее будут списываться денежные средства. Здесь все достаточно просто: вам достаточно найти в приложении функцию идентификации пользователя, затем внести данные вашей платежной карты. При необходимости вы можете удалить карту или внести данные новой. Кроме того, вы можете указать несколько карт и выбрать приоритетную.
App selection and AID routing
To develop an HCE app, you must understand how Windows 10 Mobile devices route AIDs to a specific app because users can install multiple different HCE apps. Each app can register multiple HCE and SIM-based cards. Legacy Windows Phone 8.1 apps that are SIM-based will continue to work on Windows 10 Mobile as long as the user chooses the «SIM Card» option as their default payment card in the NFC Setting menu. This is set by default when turning the device on for the first time.
When the user taps their Windows 10 Mobile device to a terminal, the data is automatically routed to the proper app installed on the device. This routing is based on the applet IDs (AIDs) which are 5-16 byte identifiers. During a tap, the external terminal will transmit a SELECT command APDU to specify the AID it would like all subsequent APDU commands to be routed to. Subsequent SELECT commands, will change the routing again. Based on the AIDs registered by apps and user settings, the APDU traffic is routed to a specific app, which will send a response APDU. Be aware that a terminal may want to communicate with several different apps during the same tap. So you must ensure your app’s background task exits as quickly as possible when deactivated to make room for another app’s background task to respond to the APDU. We will discuss background tasks later in this topic.
HCE apps must register themselves with particular AIDs they can handle so they will receive APDUs for an AID. Apps decalre AIDs by using AID groups. An AID group is conceptually equivalent to an individual physical card. For example, one credit card is declared with an AID group and a second credit card from a different bank is declared with a different, second AID group, even though both of them may have the same AID.
预配 OOBE UIProvisioning OOBE UI
所有 Windows 10 移动企业版和 Windows 10 移动版映像都具有合并在操作系统中的 NFC 预配功能。All Windows 10 Mobile Enterprise and Windows 10 Mobile images have the NFC provisioning capability incorporated into the operating system. 在支持 NFC 并且运行 Windows 10 移动企业版或 Windows 10 移动版的设备上,基于 NFC 的设备预配提供了一个用于在 OOBE 期间预配设备的额外机制。On devices that support NFC and are running Windows 10 Mobile Enterprise or Windows 10 Mobile, NFC-based device provisioning provides an additional mechanism to provision the device during OOBE.
在所有 Windows 设备上,可通过在 Windows 硬件键上快速点击 5 次触发 OOBE 期间的设置预配,此时会显示预配此设备屏幕。On all Windows devices, device provisioning during OOBE can be triggered by 5 fast taps on the Windows hardware key, which shows the Provision this device screen. 在预配此设备屏幕上,选择 NFC 进行基于 NFC 的预配。In the Provision this device screen, select NFC for NFC-based provisioning.
如果在 NFC 预配期间出现错误,当发生以下任一错误时,设备将显示一条消息:If there is an error during NFC provisioning, the device will show a message if any of the following errors occur:
- NFC 初始化错误 — 这可能是由在开始数据传输之前发生的任何错误导致的。NFC initialization error — This can be caused by any error that occurs before data transfer has started. 例如,未启用 NFC 驱动程序或与邻近感应 API 通信时出现错误。For example, if the NFC driver isn’t enabled or there’s an error communicating with the proximity API.
- 下载中断或包传输未完成 — 如果对等设备超出范围或传输中止,则可能发生此错误。Interrupted download or incomplete package transfer — This error can happen if the peer device is out of range or the transfer is aborted. 只要正在进行预配的设备无法及时接收预配包,就可能导致该错误。This error can be caused whenever the device being provisioned fails to receive the provisioning package in time.
- 包格式不正确 — 该错误可能由在设备之间传输数据期间操作系统遇到的任何协议错误导致。Incorrect package format — This error can be caused by any protocol error that the operating system encounters during the data transfer between the devices.
- 策略禁用了 NFC — 企业可以使用策略来禁止在托管设备上使用 NFC。NFC is disabled by policy — Enterprises can use policies to disallow any NFC usage on the managed device. 在这种情况下,不会启用 NFC 功能。In this case, NFC functionality is not enabled.
Метки NFC
Метками называют определенные информационные зоны, которые программируются. Обычно их встраивают в афиши или рекламные щиты.
Также иногда их можно встретить на полках с продукцией в больших гипермаркетах.
При считывании их можно получить дополнительную информацию, некоторые ссылки и даже просмотреть видеоролики (например, трейлеры к фильмам).
Тем не менее, помимо обмена файлами и информацией между устройствами, функцию NFC можно использовать для записи и чтения данных с различных установленных меток NFC, а также сим-карт, обладающих таким же чипом.
Дело в том, что такие чипы имеют достаточно небольшой размер.
Это позволяет встраивать их в различные приспособления и устройства. Ими могут стать визитки, ценники товаров, наклейки или этикетки, браслеты, брелоки и т.д.
Содержание таких меток весьма различно и предполагает наличие самой различной информации, ссылок, адресов или даже ряда команд, которые необходимо выполнить устройству.
Однако процесс работы с NFC-метками предполагает определенный алгоритм действий, который выполняется посредством специального приложения на смартфоне.
Однако таких приложений множество и каждое из них отвечает за определенные данные.
А также существуют приложения, которые позволяют запрограммировать информацию в метку на вашем смартфоне.
Брелоки NFC
Сканирование меток
В первую очередь необходимо включит функцию NFC в смартфоне. После активировать экран.
После – следует прикоснуться телефоном к метке, однако сделать это так, чтоб адаптер NFC в смартфоне прикасался к метке.
После чего гаджет автоматически считает информацию, которая внесена в чип метки и автоматически отобразит её на экране. Однако для её полного просмотра придется нажать на экран.
Сканирование метки
Conflict resolution for payment AID groups
When an app registers physical cards (AID groups), it can declare the AID group category as either «Payment» or «Other.» While there can be multiple payment AID groups registered at any given time, only one of these payment AID groups may be enabled for Tap and Pay at a time, which is selected by the user. This behavior exists because the user expects be in control of consciously choosing a single payment, credit, or debit card to use so they don’t pay with a different unintended card when tapping their device to a terminal.
However, multiple AID groups registered as «Other» can be enabled at the same time without user interaction. This behavior exists because other types of cards like loyalty, coupons, or transit are expected to just work without any effort or prompting whenever they tap their phone.
All the AID groups that are registered as «Payment» appear in the list of cards in the NFC Settings page, where the user can select their default payment card. When a default payment card is selected, the app that registered this payment AID group becomes the default payment app. Default payment apps can enable or disable any of their AID groups without user interaction. If the user declines the default payment app prompt, then the current default payment app (if any) continues to remain as default. The following screenshot shows the NFC Settings page.
Using the example screenshot above, if the user changes his default payment card to another card that is not registered by «HCE Application 1,» the system creates a confirmation prompt for the user’s consent. However, if the user changes his default payment card to another card that is registered by «HCE Application 1,» the system does not create a confirmation prompt for the user, because «HCE Application1» is already the default payment app.
Приложение для оплаты в одно касание
Приложение для оплаты телефоном вместо карты можно скачать и установить на свое мобильное устройство. Кстати, есть ряд требований к самому мобильному устройству постольку, поскольку старые модели смартфонов данной функции не поддерживают. Если вы желаете пользоваться телефоном вместо карты нужно уточнить есть ли у вашего телефона NFC-чип.
Итак, чтобы пользоваться смартфон вместо банковской карты вам нужно установить специализированное мобильное приложение. Сегодня их несколько, вы можете выбрать одно из нескольких:
- Яндекс Деньги. Наверняка всем приходилось слышать о данном сервисе. Электронный кошелек сегодня позволяет установить одноименное мобильное приложение и заказать банковскую карту, привязанную к кошельку, для совершения покупок в одно касание нужно открыть меню в мобильном приложении и найти в нем ссылку «Бесконтактные платежи», после чего вы можете оплачивать свои покупки с помощью смартфона.
- Visa QIWI Wallet. Если вы выберете – это приложение, то вам для начала нужно скачать и установить его на свой смартфон, затем подтвердить авторизацию с помощью присланного на ваш номер телефона SMS-кода. После, владелец может придумать пароль для защиты своих платежных данных. Чтобы с помощью приложения производить покупки нужно всего лишь разблокировать дисплей.
- Samsung Pay. Это приложение разработано специально для смартфонов под брендом Samsung приложение позволяет не только производить оплату по технологии NFC, но MST. MST – это технология, которая позволяет считывать данные с пластиковой карты владельца на терминалах, не поддерживающих систему оплаты в одно касание. Передать данные можно при касании смартфона к устройству для считывания информации с магнитной полосы.
- Apple Play – это сервис для проведения оплаты в одно касание для устройств под брендом Apple.
AnyTAG NFC Launcher
AnyTAG NFC Launcher запускает задачи в тот момент, когда смартфон «встречает» тэг NFC. С помощью программы вы можете создать набор задач и связать их с ID тегов NFC. Теперь, когда пользователь находится рядом с определенным тэгом, он распознается системой и выполняется заданная задача. По умолчанию в программе присутствует несколько общих задач, которые могут быть запущены на вашем устройстве.
В магазине Google Play присутствует множество аналогичных программ, значительно расширяющих функционал вашего устройства с помощью FC и тэгов. Но для начала я рекомендую опробовать эти пяти приложений.
프로비전 OOBE UIProvisioning OOBE UI
모든 Windows 10 Mobile Enterprise 및 Windows 10 Mobile 이미지에는 운영 체제에 통합된 NFC 프로비전 기능이 있습니다.All Windows 10 Mobile Enterprise and Windows 10 Mobile images have the NFC provisioning capability incorporated into the operating system. NFC를 지원하고 Windows 10 Mobile Enterprise 또는 Windows 10 Mobile을 실행하는 장치의 경우 OOBE 중 NFC 기반 장치 프로비전에서 추가 메커니즘을 장치에 적용합니다.On devices that support NFC and are running Windows 10 Mobile Enterprise or Windows 10 Mobile, NFC-based device provisioning provides an additional mechanism to provision the device during OOBE.
OOBE 중 장치 프로비전은 모든 Windows 장치에서 Windows 하드웨어 키를 5번 빠르게 탭하여 Provision this device 화면을 표시한 후 트리거할 수 있습니다.On all Windows devices, device provisioning during OOBE can be triggered by 5 fast taps on the Windows hardware key, which shows the Provision this device screen. Provision this device 화면에서 NFC 기반 프로비전을 뜻하는 NFC를 선택합니다.In the Provision this device screen, select NFC for NFC-based provisioning.
NFC 프로비전 시 다음 오류 중 하나라도 발생하면 장치에 오류 메시지가 표시됩니다.If there is an error during NFC provisioning, the device will show a message if any of the following errors occur:
- NFC 초기화 오류 — 이 오류는 데이터 전송이 시작되기 전에 발생하는 어떤 오류로든 발생할 수 있습니다.NFC initialization error — This can be caused by any error that occurs before data transfer has started. 예를 들어, NFC 드라이버를 사용할 수 없거나 근접 API와 통신 오류가 발생한 경우에 발생합니다.For example, if the NFC driver isn’t enabled or there’s an error communicating with the proximity API.
- 다운로드 중단 또는 불완전 패키지 전송 — 이 오류는 피어 장치가 범위 밖에 있거나 전송이 중단된 경우 발생할 수 있습니다.Interrupted download or incomplete package transfer — This error can happen if the peer device is out of range or the transfer is aborted. 이 오류는 프로비전되고 있는 장치에서 프로비저닝 패키지를 제때 수신하지 못한 경우 발생할 수 있습니다.This error can be caused whenever the device being provisioned fails to receive the provisioning package in time.
- 잘못된 패키지 형식 — 이 오류는 장치 간 데이터를 전송하는 동안 운영 체제에서 발생하는 어떤 프로토콜 오류로든 발생할 수 있습니다.Incorrect package format — This error can be caused by any protocol error that the operating system encounters during the data transfer between the devices.
- NFC가 정책에 따라 사용하지 않도록 설정됨 — 기업에서는 정책을 사용하여 관리되는 장치의 NFC 사용을 허용하지 않을 수 있습니다.NFC is disabled by policy — Enterprises can use policies to disallow any NFC usage on the managed device. 이 경우, NFC 기능은 사용 설정되지 않습니다.In this case, NFC functionality is not enabled.
Подготовка пользовательского интерфейса OOBEProvisioning OOBE UI
У всех образов Windows 10 Mobile Корпоративная и Windows 10 Mobile есть функция подготовки с помощью NFC, которая встроена в операционную систему.All Windows 10 Mobile Enterprise and Windows 10 Mobile images have the NFC provisioning capability incorporated into the operating system. На устройствах с поддержкой NFC, которые работают под управлением Windows 10 Mobile Корпоративная или Windows 10 Mobile, подготовка устройств на основе NFC предоставляет дополнительный механизм для подготовки устройства во время этапа OOBE.On devices that support NFC and are running Windows 10 Mobile Enterprise or Windows 10 Mobile, NFC-based device provisioning provides an additional mechanism to provision the device during OOBE.
На всех устройствах с Windows подготовку устройства во время запуска при первом включении можно запустить пятью быстрыми нажатиями аппаратной клавиши Windows, что приведет к отображению экрана Подготовка этого устройства.On all Windows devices, device provisioning during OOBE can be triggered by 5 fast taps on the Windows hardware key, which shows the Provision this device screen. В окне Подготовка этого устройства выберите NFC для выполнения подготовки с помощью NFC.In the Provision this device screen, select NFC for NFC-based provisioning.
В случае возникновения ошибки во время подготовки с помощью NFC на устройстве отобразится соответствующее сообщение, если возникла любая из следующих ошибок:If there is an error during NFC provisioning, the device will show a message if any of the following errors occur:
- Ошибка инициализации NFC— может быть вызвана любой ошибкой, возникшей перед началом передачи данных.NFC initialization error — This can be caused by any error that occurs before data transfer has started. Например, если не включен драйвер NFC или возникает ошибка связи с API близкого взаимодействия.For example, if the NFC driver isn’t enabled or there’s an error communicating with the proximity API.
- Прерванная загрузка или неполная передача пакета— эта ошибка может возникать, если одноранговое устройство находится вне зоны действия NFC или если передача данных была прервана.Interrupted download or incomplete package transfer — This error can happen if the peer device is out of range or the transfer is aborted. Эта ошибка может возникать всякий раз, когда подготавливаемому устройству не удается получить пакет подготовки во время.This error can be caused whenever the device being provisioned fails to receive the provisioning package in time.
- Неправильный формат пакета— эта ошибка может быть связана с возникновением любой ошибки протокола, с которой сталкивается операционная система во время передачи данных между устройствами.Incorrect package format — This error can be caused by any protocol error that the operating system encounters during the data transfer between the devices.
- Связь NFC отключена политикой— организации могут использовать политики, чтобы запретить использование NFC на управляемом устройстве.NFC is disabled by policy — Enterprises can use policies to disallow any NFC usage on the managed device. В этом случае функция NFC отключена.In this case, NFC functionality is not enabled.
Conflict resolution for non-payment AID groups
Non-payment cards categorized as «Other» do not appear in the NFC settings page.
Your app can create, register and enable non-payment AID groups in the same manner as payment AID groups. The main difference is that for non-payment AID groups the emulation category is set to «Other» as opposed to «Payment». After registering the AID group with the system, you need to enable the AID group to receive NFC traffic. When you try to enable a non-payment AID group to receive traffic, the user is not prompted for a confirmation unless there is a conflict with one of the AIDs already registered in the system by a different app. If there is a conflict, the user will be prompted with information about which card and it’s associated app will be disabled if the user chooses to enable the newly registered AID group.
Coexistence with SIM based NFC applications
In Windows 10 Mobile, the system sets up the NFC controller routing table that is used to make routing decisions at the controller layer. The table contains routing information for the following items.
- Individual AID routes.
- Protocol based route (ISO-DEP).
- Technology based routing (NFC-A/B/F).
When an external reader sends a «SELECT AID» command, the NFC controller first checks AID routes in the routing table for a match. If there is no match, it will use the protocol-based route as the default route for ISO-DEP (14443-4-A) traffic. For any other non-ISO-DEP traffic it will use the technology based routing.
Windows 10 Mobile provides a menu option «SIM Card» in the NFC Settings page to continue to use legacy Windows Phone 8.1 SIM-based apps, which do not register their AIDs with the system. If the user selects «SIM card» as their default payment card, then the ISO-DEP route is set to UICC, for all other selections in the drop-down menu the ISO-DEP route is to the host.
The ISO-DEP route is set to «SIM Card» for devices that have an SE enabled SIM card when the device is booted for the first time with Windows 10 Mobile. When the user installs an HCE enabled app and that app enables any HCE AID group registrations, the ISO-DEP route will be pointed to the host. New SIM-based applications need to register the AIDs in the SIM in order for the specific AID routes to be populated in the controller routing table.
Google Pay
Начиная с 2018 года, компания Google объявила об объединении двух приложений Android Pay и Google Wallet в единый платёжный портал Google Pay с расширенными возможностями. Такое объединение обозначает, что теперь в Google Pay можно будет не только привязать карты, но и:
- использовать подарочные, членские и лояльные пакеты;
- привязать к системе учётную запись Google;
- покупать приложения, подписки, услуги и работающие программы через Play Market;
- просматривать историю транзакций.
Сильные и слабые стороны нового продукта
Сильные:
- высокий уровень безопасности;
- неограниченное количество карт для подключения;
- больше возможностей для расчётов онлайн;
- поддержка таких сервисов, как Instacart, Fanbdango, HungryHouse;
- бесплатная установка;
- быстрота обработки операций;
- в любых устройствах с ОС Android NFC поддерживается;
- поддержка умных часов.
Слабые стороны:
- малое количество стран для первичного запуска;
- функции и возможности от страны к стране будут отличаться;
- ограниченное количество банков и карт.
Create and register AID groups
During the first launch of your application when the card is being provisioned, you will create and register AID groups with the system. The system determines the app that an external reader would like to talk to and route APDUs accordingly based on the registered AIDs and user settings.
Most of the payment cards register for the same AID (which is PPSE AID) along with additional payment network card specific AIDs. Each AID group represents a card and when the user enables the card, all AIDs in the group are enabled. Similarly, when the user deactivates the card, all AIDs in the group are disabled.
To register an AID group, you need to create a SmartCardAppletIdGroup object and set its properties to reflect that this is an HCE-based payment card. Your display name should be descriptive to the user because it will show up in the NFC settings menu as well as user prompts. For HCE payment cards, the SmartCardEmulationCategory property should be set to Payment and the SmartCardEmulationType property should be set to Host.
For non-payment HCE cards, the SmartCardEmulationCategory property should be set to Other and the SmartCardEmulationType property should be set to Host.
You can include up to 9 AIDs (of length 5-16 bytes each) per AID group.
Use the RegisterAppletIdGroupAsync method to register your AID group with the system, which will return a SmartCardAppletIdGroupRegistration object. By default, the ActivationPolicy property of the registration object is set to Disabled. This means even though your AIDs are registered with the system, they are not enabled yet and won’t receive traffic.
You can enable your registered cards (AID groups) by using the RequestActivationPolicyChangeAsync method of theSmartCardAppletIdGroupRegistration class as shown below. Because only a single payment card can be enabled at a time on the system, setting the ActivationPolicy of a payment AID group to Enabled is the same as setting the default payment card. The user will be prompted to allow this card as a default payment card, regardless of whether there is a default payment card already selected or not. This statement is not true if your app is already the default payment application, and is merely changing between it’s own AID groups. You can register up to 10 AID groups per app.
You can query your app’s registered AID groups with the OS and check their activation policy using the GetAppletIdGroupRegistrationsAsync method.
Users will be prompted when you change the activation policy of a payment card from Disabled to Enabled, only if your app is not already the default payment app. Users will only be prompted when you change the activation policy of a non-payment card from Disabled to Enabled if there is an AID conflict.
Event notification when activation policy change
In your background task, you can register to receive events for when the activation policy of one of your AID group registrations changes outside of your app. For example, the user may change the default payment app through the NFC settings menu from one of your cards to another card hosted by another app. If your app needs to know about this change for internal setup such as updating live tiles, you can receive event notifications for this change and take action in your app accordingly.
НФС и ОС Windows
Изначально к сервису имели доступ участники программы Windows Insider, владеющие мобильными устройствами серии Lumia 650 (650 Dual SIM), 950 (950 XL), на которых устанавливалась Windows 10 Мобайл под сборочным номером 14 360, поддерживающая NFC.
Память приложения сохраняет необходимую информацию с нескольких пластиковых карточек, оформленных банками, поддерживающими партнерские отношения с платежным сервисом. Кроме того, к ней привязываются бонусные и членские продукты.
К сожалению, список финансовых учреждений ограничен несколькими крупными банками, находящимися на территории Соединенных Штатов Америки. И даже если в перспективе планируется расширить географические границы сервиса, маловероятно, что он предстанет серьезным конкурентом для прочих участников данного рынка.
Спешим заметить, что НФС не считается единственным крупным нововведением в операционную систему. Несколько раньше Microsoft все же позволила владельцам настольных персональных компьютеров и ноутбуков самостоятельно определять место под инсталляцию приложений, скачиваемых в Windows Store. Ранее их устанавливали в директорию Программ Файлс системного диска, и другого варианта не было. Как и Wallet, ОС имеет свои ограничения. Возможен выбор лишь логического диска, а не определенной папки, да и доступ к нему открывается лишь благодаря загруженности больших объемов игр и программ.
Lock screen and screen off behavior
Windows 10 Mobile has device-level card emulation settings, which can be set by the mobile operator or the manufacturer of the device. By default, «tap to pay» toggle is disabled and the «enablement policy at device level» is set to «Always», unless the MO or OEM overwrites these values.
Your application can query the value of the EnablementPolicy at device level and take action for each case depending on the desired behavior of your app in each state.
Your app’s background task will be launched even if the phone is locked and/or the screen is off only if the external reader selects an AID that resolves to your app. You can respond to the commands from the reader in your background task, but if you need any input from the user or if you want to show a message to the user, you can launch your foreground app with some arguments. Your background task can launch your foreground app with the following behavior.
- Under the device lock screen (the user will see your foreground app only after she unlocks the device)
- Above the device lock screen (after the user dismisses your app, the device is still in locked state)
Samsung Pay
Служба запущена в 2015 году, доступна в 12 странах. Работает только на устройствах Samsung не ранее модели Samsung Galaxy Note5 (2015).
Топ-возможности приложения:
- загрузка и регистрация банковских платёжных инструментов;
- загрузка карт лояльности (подарочных, накопительных);
- оплата в магазинах и других физических точках продажи товаров и предоставления услуг;
- оплата онлайн и в отдельных приложениях;
- оплата проезда в транспорте.
Преимущества и недостатки
К преимуществам Samsung Pay стоит отнести:
- функция эмуляции магнитной полоски даёт возможность работать с контактными и бесконтактными терминалами;
- защита данных тройной аутентификацией: графический ключ, отпечаток пальца, сканирование сетчатки глаза;
- участие в подарочно-накопительных акциях Samsung Rewards;
- токенизация (генерирование случайных ключей) через Samsung Knox.
Недостатки службы:
- совместимость только с «Самсунг»-устройствами;
- поддерживает не все банки и платёжные системы;
- лимит на количество карт (не более 10);
- ограниченное количество стран, где внедрена служба.
Заключение
Для смартфонов, работающих на ОС «Андроид», разработаны специальные платформы для бесконтактной обработки платежей, и о них идёт речь в материале. На базе вышеперечисленных платёжных сервисов банки разрабатывают удобные мобильные надстройки для быстрой регистрации карты, управления платежами, просмотров истории. Выбор того или иного сервиса будет зависеть от модели устройства и наличия в нём опции NFC.
Использование НФС
Известно три основных варианта применения бесконтактной технологии в смартфонах:
- мобильный телефон эмулирует карту, осуществляя вместо нее оплату или обеспечивая проход (проезд) вместо пропуска;
- выполняется считывание пассивной метки для различных целей;
- два гаджета обеспечивают между собой соединение и осуществляют пересылку информации.
Сегодня данным решением пользуются в большом количестве областей. К примеру, технология обеспечивает бронирование и реализацию билетов в электронном виде, оплачивает парковку и проезд, применяется в развлекательной сфере, обеспечивает безопасность и контролирует доступ.
Creating an HCE based app
Your HCE app has two parts.
- The main foreground app for the user interaction.
- A background task that is triggered by the system to process APDUs for a given AID.
Because of the extremely tight performance requirements for loading your background task in response to an NFC tap, we recommend that your entire background task be implementing in C++/CX native code (including any dependencies, references, or libraries you depend on) rather than C# or managed code. While C# and managed code normally performs well, there is overhead, like loading the .NET CLR, that can be avoided by writing it in C++/CX.
Android Pay
Сервис разработан и представлен пользователям в 2015 году. Работает на устройствах с ОС Android KitKat версии 4.4 и выше, которые оснащены функцией NFC. На конец 2017 года Android Pay охватил 17 стран на всех континентах.
Ключевой функционал
Android Pay получил такие основные функции:
- регистрация банковских карт (Visa MasterCard);
- регистрация пакетов лояльности;
- проведение бесконтактных платежей в супермаркетах, магазинах, кафе, ресторанах, на заправках;
- интернет-платежи (на сайтах, где есть специальная пометка);
- оплата проезда в транспорте (по проездной карте).
Плюсы и минусы системы
Плюсы:
- удобный интерфейс, в том числе и русскоязычный;
- быстрый запуск и обработка платежа;
- доступен в магазине Google Play;
- отсутствие внутренних комиссий;
- бесплатная установка;
- не поддерживает рутированные или перепрошитые смартфоны (в целях безопасности);
- не передаёт на терминал платёжные реквизиты;
- платёжные ключи генерируются сервером Google и кодируются специальными сервисами токенизации (например, для MasterCard – Digital Enablement Service);
- совместима со смарт-часами.
Минусы:
- ограниченное количество специальных бесконтактных терминалов;
- лимитированный список локальных банков-партнёров;
- лимиты на суммы к оплате.