Android prend en charge l'émulation de carte NFC avec un élément 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 l'interface sans contact (CLF) et l'état sélectionné par l'application dans le composant 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 de projet Android Open Source NFC 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): intention d'informer 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.