Android supporta l'emulazione di carte NFC con un elemento sicuro per l'emulazione di carte off-host. Per ulteriori informazioni, consulta la panoramica dell'emulazione delle schede basata sull'host. Tuttavia, sulla piattaforma Android, il servizio di pagamento preferito specificato nell'impostazione Tap & Pay non è sempre sincronizzato con l'app nell'elemento sicuro. Ciò significa che è possibile che nell'elemento sicuro venga utilizzato un servizio di pagamento non preferito anziché quello preferito.
In Android 11, la funzionalità di sincronizzazione dei pagamenti off-host fornisce un meccanismo che consente di sincronizzare la configurazione di pagamento in Tap & Pay, la configurazione di routing sul frontend contactless (CLF) e lo stato selezionato dall'app nell'elemento sicuro.
Il seguente diagramma illustra l'architettura di progettazione della funzionalità di sincronizzazione dei pagamenti off-host.

Implementazione
Per implementare la funzionalità di sincronizzazione dei pagamenti off-host, il dispositivo deve avere un controller NFC che supporti lo standard NCI 2.0 e deve utilizzare i framework Android Open Source Project NFC e Open Mobile Application Programming Interface (OMAPI).
API di framework
Per implementare la sincronizzazione dei pagamenti off-host, utilizza le seguenti API di framework trovate nel progetto open source Android:
getAidsForPreferredPaymentService()
: recupera gli AID registrati per il servizio di pagamento preferito.getRouteDestinationForPreferredPaymentService()
: recupera la destinazione del percorso per il servizio di pagamento preferito.getDescriptionForPreferredPaymentService()
: restituisce una descrizione visibile all'utente del servizio di pagamento preferito.android.permission.NFC_PREFERRED_PAYMENT_INFO
(autorizzazione): consente alle app di ricevere informazioni sul servizio di pagamento NFC preferito.android.nfc.action.PREFERRED_PAYMENT_CHANGED
(azione di trasmissione): intent per inviare una notifica se il servizio di pagamento preferito è cambiato.
Convalida
Per convalidare l'implementazione della funzionalità di sincronizzazione dei pagamenti off-host, installa le app di elementi sicuri con gli elementi sicuri corrispondenti e poi controlla se un lettore NFC fornisce risposte appropriate in condizioni diverse.