Android obsługuje emulację karty NFC z bezpiecznym elementem do emulacji karty poza hostem. (Aby uzyskać więcej informacji, zobacz 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 synchronizowana z aplikacją w bezpiecznym elemencie. Oznacza to, że zamiast preferowanej usługi płatniczej w bezpiecznym elemencie zostanie użyta niepreferowana usługa płatnicza.
W systemie Android 11 funkcja synchronizacji płatności poza hostem udostępnia mechanizm umożliwiający synchronizację konfiguracji płatności w systemie Tap & pay, konfiguracji routingu na interfejsie zbliżeniowym (CLF) oraz wybranego przez aplikację stanu w bezpiecznym elemencie .
Poniższy diagram ilustruje architekturę projektu funkcji synchronizacji płatności poza hostem.
![Architektura projektu synchronizacji płatności poza hostem](https://source.android.com/static/docs/core/connect/images/nfc-offhost-payment-sync.png?authuser=0&hl=pl)
Realizacja
Aby zaimplementować funkcję synchronizacji płatności poza hostem, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i musi korzystać ze struktur Android Open Source Project NFC i Open Mobile Application Programming Interface (OMAPI).
Ramowe interfejsy API
Aby zaimplementować synchronizację płatności poza hostem, użyj następujących interfejsów API platformy dostępnych w projekcie Android Open Source:
-
getAidsForPreferredPaymentService()
: Pobiera zarejestrowane identyfikatory AID dla preferowanej usługi płatniczej. -
getRouteDestinationForPreferredPaymentService()
: Pobiera miejsce docelowe trasy dla preferowanej usługi płatniczej. -
getDescriptionForPreferredPaymentService()
: Zwraca widoczny dla użytkownika opis preferowanej usługi płatniczej. -
android.permission.NFC_PREFERRED_PAYMENT_INFO
(zezwolenie): umożliwia aplikacjom otrzymywanie informacji o preferowanych usługach płatniczych NFC. -
android.nfc.action.PREFERRED_PAYMENT_CHANGED
(akcja rozgłoszeniowa): Zamiar powiadamiania w przypadku zmiany preferowanej usługi płatniczej.
Walidacja
Aby zweryfikować wdrożenie funkcji synchronizacji płatności poza hostem, zainstaluj aplikacje z bezpiecznymi elementami z odpowiednimi bezpiecznymi elementami, a następnie sprawdź, czy czytnik NFC w różnych warunkach zapewnia odpowiednie odpowiedzi.