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