Android unterstützt die NFC-Kartenemulation mit einem Secure Element für die Off-Host-Kartenemulation. Weitere Informationen finden Sie unter Hostbasierte Kartenemulation – Übersicht. Auf der Android-Plattform wird der in der Einstellung Kontaktloses Bezahlen angegebene bevorzugte Zahlungsdienst jedoch nicht immer mit der App im sicheren Element synchronisiert. Das bedeutet, dass möglicherweise ein nicht bevorzugter Zahlungsdienst im sicheren Element anstelle des bevorzugten Zahlungsdienstes verwendet wird.
In Android 11 bietet die Funktion Off-Host-Zahlungssynchronisierung einen Mechanismus, mit dem Sie die Zahlungskonfiguration in Kontaktloses Bezahlen, die Routingkonfiguration im kontaktlosen Frontend (Contactless Frontend, CLF) und den von der App ausgewählten Status im Secure Element synchronisieren können.
Das folgende Diagramm veranschaulicht die Designarchitektur der Off-Host-Zahlungssynchronisierungsfunktion.
Implementierung
Für die Implementierung der Funktion zur Synchronisierung von Zahlungen außerhalb des Hostgeräts muss das Gerät einen NFC-Controller haben, der den NCI 2.0-Standard unterstützt, und die NFC- und OMAPI-Frameworks (Open Mobile Application Programming Interface) des Open-Source-Projekts für Android verwenden.
Framework-APIs
Verwenden Sie die folgenden Framework-APIs aus dem Open-Source-Projekt für Android, um die Off-Host-Zahlungssynchronisierung zu implementieren:
getAidsForPreferredPaymentService(): Ruft die registrierten AIDs (Application Identifiers) für den bevorzugten Zahlungsdienst ab.getRouteDestinationForPreferredPaymentService(): Ruft das Routenziel für den bevorzugten Zahlungsdienst ab.getDescriptionForPreferredPaymentService(): Gibt eine für Nutzer sichtbare Beschreibung des bevorzugten Zahlungsdienstes zurück.android.permission.NFC_PREFERRED_PAYMENT_INFO(Berechtigung): Ermöglicht Apps, Informationen zum bevorzugten NFC-Zahlungsdienst zu empfangen.android.nfc.action.PREFERRED_PAYMENT_CHANGED(Broadcast-Aktion): Benachrichtigt, wenn sich der bevorzugte Zahlungsdienst geändert hat.
Validierung
Um die Implementierung der Off-Host-Zahlungssynchronisierung zu validieren, installieren Sie Secure Element-Apps mit entsprechenden Secure Elements und prüfen Sie dann unter verschiedenen Bedingungen, ob ein NFC-Lesegerät angemessene Antworten gibt.