Android поддерживает эмуляцию карт NFC с безопасным элементом для эмуляции карт за пределами хоста. (Дополнительную информацию см. в разделе Обзор эмуляции карты на основе хоста .) Однако на платформе Android предпочтительный платежный сервис, указанный в настройке Tap & Pay, не всегда синхронизируется с приложением в защищенном элементе. Это означает, что возможно, что вместо предпочтительной платежной службы в элементе безопасности используется непредпочтительная платежная служба.
В Android 11 функция синхронизации платежей за пределами хоста предоставляет механизм, который позволяет синхронизировать конфигурацию платежей в Tap & pay, конфигурацию маршрутизации в бесконтактном интерфейсе (CLF) и состояние, выбранное приложением, в защищенном элементе.
На следующей диаграмме показана архитектура проекта функции синхронизации платежей за пределами хоста.

Выполнение
Чтобы реализовать функцию синхронизации платежей за пределами хоста, устройство должно иметь контроллер NFC, поддерживающий стандарт NCI 2.0, и должно использовать платформы Android Open Source Project NFC и Open Mobile Application Programming Interface (OMAPI).
API-интерфейсы платформы
Чтобы реализовать синхронизацию платежей за пределами хоста, используйте следующие API-интерфейсы платформы, найденные в проекте Android с открытым исходным кодом:
-
getAidsForPreferredPaymentService()
: извлекает зарегистрированные идентификаторы AID для предпочтительной платежной службы. -
getRouteDestinationForPreferredPaymentService()
: извлекает пункт назначения маршрута для предпочтительной платежной службы. -
getDescriptionForPreferredPaymentService()
: возвращает видимое пользователю описание предпочтительной платежной услуги. -
android.permission.NFC_PREFERRED_PAYMENT_INFO
(разрешение): позволяет приложениям получать информацию о предпочтительных платежных услугах NFC. -
android.nfc.action.PREFERRED_PAYMENT_CHANGED
(широковещательное действие): намерение уведомить об изменении предпочтительной платежной службы.
Валидация
Чтобы проверить реализацию функции синхронизации платежей за пределами хоста, установите приложения защищенных элементов с соответствующими защищенными элементами, а затем проверьте соответствующие ответы от устройства чтения NFC в различных условиях.