Android supporta l'emulazione della scheda NFC con un elemento sicuro per l'emulazione della scheda off-host. (Per saperne di più, consulta la panoramica sull'emulazione della scheda basata sull'host.) Tuttavia, sulla piattaforma Android, il servizio di pagamento preferito specificato nell'impostazione Touch & Pay non è sempre sincronizzato con l'app nel Secure Element. Ciò significa che è possibile che venga utilizzato un servizio di pagamento non preferito nel Secure Element anziché il servizio di pagamento preferito.
In Android 11, la funzionalità di sincronizzazione dei pagamenti off-host fornisce un meccanismo che consente di sincronizzare la configurazione dei pagamenti in Touch &Pay , la configurazione di routing sul frontend contactless (CLF) e lo stato selezionato dall'app nel Secure Element.
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 disporre di un controller NFC che supporti lo standard NCI 2.0 e deve utilizzare i framework NFC e Open Mobile Application Programming Interface (OMAPI) di Android Open Source Project.
API Framework
Per implementare la sincronizzazione dei pagamenti off-host, utilizza le seguenti API framework disponibili in Android Open Source Project:
getAidsForPreferredPaymentService(): recupera gli AID (identificatori dell'applicazione) 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 preferito NFC.android.nfc.action.PREFERRED_PAYMENT_CHANGED(azione di trasmissione): notifica se il servizio di pagamento preferito è cambiato.
Convalida
Per convalidare l'implementazione della funzionalità di sincronizzazione dei pagamenti off-host, installa le app Secure Element con gli elementi sicuri corrispondenti e poi controlla le risposte appropriate da un lettore NFC in condizioni diverse.