Android est compatible avec l'émulation de carte NFC avec un composant sécurisé pour l'émulation de carte hors hôte. (Pour en savoir plus, consultez la section Présentation de l'émulation de cartes basée sur l'hôte.) Toutefois, sur la plate-forme Android, le service de paiement préféré spécifié dans le paramètre de paiement sans contact n'est pas toujours synchronisé avec l'application dans l'élément sécurisé. Cela signifie qu'il est possible qu'un service de paiement non préféré dans l'élément sécurisé soit utilisé à la place du service de paiement préféré.
Dans Android 11, la fonctionnalité de synchronisation des paiements hors hôte fournit un mécanisme qui vous permet de synchroniser la configuration de paiement dans le paiement sans contact, la configuration de routage sur le front-end sans contact (CLF) et l'état sélectionné par l'application dans l'élément sécurisé.
Le diagramme suivant illustre l'architecture de conception de la fonctionnalité de synchronisation des paiements hors hôte.

Implémentation
Pour implémenter la fonctionnalité de synchronisation des paiements hors hôte, l'appareil doit disposer d'un contrôleur NFC compatible avec la norme NCI 2.0 et utiliser les frameworks NFC du projet Open Source Android et OMAPI (Open Mobile Application Programming Interface).
API du framework
Pour implémenter la synchronisation des paiements hors hôte, utilisez les API de framework suivantes disponibles dans le projet Open Source Android:
getAidsForPreferredPaymentService()
: récupère les AID enregistrés pour le service de paiement préféré.getRouteDestinationForPreferredPaymentService()
: récupère la destination du parcours pour le service de paiement préféré.getDescriptionForPreferredPaymentService()
: renvoie une description visible par l'utilisateur du service de paiement préféré.android.permission.NFC_PREFERRED_PAYMENT_INFO
(autorisation): permet aux applications de recevoir des informations sur le service de paiement NFC préféré.android.nfc.action.PREFERRED_PAYMENT_CHANGED
(action de diffusion): intent permettant d'envoyer une notification si le service de paiement préféré a changé.
Validation
Pour valider votre implémentation de la fonctionnalité de synchronisation des paiements hors hôte, installez des applications d'élément sécurisé avec les éléments sécurisés correspondants, puis recherchez les réponses appropriées d'un lecteur NFC dans différentes conditions.