Android supporta l'emulazione di carte NFC con un elemento sicuro per l'emulazione di carte off-host. Per maggiori informazioni, consulta Panoramica dell'emulazione di schede basata su host. Tuttavia, sulla piattaforma Android, il servizio di pagamento preferito specificato nell'impostazione Tocca e paga 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 dei pagamenti 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 fuori dall'host, il dispositivo deve disporre di un controller NFC che supporti lo standard NCI 2.0 e deve utilizzare i framework Android Open Source Project NFC e OMAPI (Open Mobile Application Programming Interface).
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): intenzione di notificare se il servizio di pagamento preferito è cambiato.
Convalida
Per convalidare l'implementazione della funzionalità di sincronizzazione dei pagamenti al di fuori dell'host, installa le app Secure Element con elementi sicuri corrispondenti, quindi verifica la presenza di risposte appropriate da un lettore NFC in condizioni diverse.