Android obsługuje emulację kart NFC za pomocą bezpiecznego elementu do emulacji kart poza hostem. (Więcej informacji znajdziesz w artykule Omówienie emulacji kart opartej na hoście). Jednak na platformie Android preferowana usługa płatnicza określona w ustawieniu Zbliż i zapłać nie zawsze jest zsynchronizowana z aplikacją w bezpiecznym elemencie. Oznacza to, że zamiast preferowanej usługi płatniczej może być używana niepreferowana usługa płatnicza w bezpiecznym elemencie.
W Androidzie 11 funkcja synchronizacji płatności poza hostem zapewnia mechanizm, który umożliwia synchronizację konfiguracji płatności w sekcji Zbliż i zapłać , konfiguracji routingu w interfejsie zbliżeniowym (CLF) oraz stanu wybranego przez aplikację w bezpiecznym elemencie.
Ten schemat przedstawia architekturę funkcji synchronizacji płatności poza hostem.
Implementacja
Aby zaimplementować funkcję synchronizacji płatności poza hostem, urządzenie musi mieć kontroler NFC, który obsługuje standard NCI 2.0, oraz korzystać z platform Projekt Android Open Source NFC i Open Mobile Application Programming Interface (OMAPI).
Interfejsy API platformy
Aby zaimplementować synchronizację płatności poza hostem, użyj tych interfejsów API platformy, które znajdziesz w Projekcie Android Open Source:
getAidsForPreferredPaymentService(): pobiera zarejestrowane identyfikatory AID (Application Identifiers) preferowanej usługi płatniczej.getRouteDestinationForPreferredPaymentService(): pobiera miejsce docelowe routingu preferowanej usługi płatniczej.getDescriptionForPreferredPaymentService(): zwraca widoczny dla użytkownika opis preferowanej usługi płatniczej.android.permission.NFC_PREFERRED_PAYMENT_INFO(uprawnienie): umożliwia aplikacjom otrzymywanie informacji o preferowanej usłudze płatniczej NFC.android.nfc.action.PREFERRED_PAYMENT_CHANGED(działanie rozgłaszania): powiadamia o zmianie preferowanej usługi płatniczej.
Weryfikacja
Aby zweryfikować implementację funkcji synchronizacji płatności poza hostem, zainstaluj aplikacje bezpiecznego elementu z odpowiednimi bezpiecznymi elementami, a następnie sprawdź, czy czytnik NFC reaguje prawidłowo w różnych warunkach.