Android mendukung emulasi kartu NFC dengan elemen pengaman untuk emulasi kartu di luar host. (Untuk informasi selengkapnya, lihat Ringkasan emulasi kartu berbasis host.) Namun, pada platform Android, layanan pembayaran pilihan yang ditetapkan dalam setelan Tempel & bayar tidak selalu disinkronkan dengan aplikasi di elemen aman. Artinya, layanan pembayaran yang tidak dipilih di elemen aman mungkin digunakan, bukan layanan pembayaran yang dipilih.
Di Android 11, fitur sinkronisasi pembayaran di luar host menyediakan mekanisme yang memungkinkan Anda menyinkronkan konfigurasi pembayaran di fitur Tempel & bayar, konfigurasi pemilihan rute di frontend nirsentuh (CLF), dan status yang dipilih aplikasi di elemen aman.
Diagram berikut mengilustrasikan arsitektur desain fitur sinkronisasi pembayaran di luar host.
Implementasi
Untuk menerapkan fitur sinkronisasi pembayaran off-host, perangkat harus memiliki pengontrol NFC yang mendukung standar NCI 2.0 dan harus menggunakan framework Android Open Source Project NFC dan Open Mobile Application Programming Interface (OMAPI).
Framework API
Untuk menerapkan sinkronisasi pembayaran di luar host, gunakan API framework berikut yang ditemukan di Project Open Source Android:
getAidsForPreferredPaymentService()
: Mengambil AID terdaftar untuk layanan pembayaran pilihan.getRouteDestinationForPreferredPaymentService()
: Mengambil tujuan rute untuk layanan pembayaran pilihan.getDescriptionForPreferredPaymentService()
: Menampilkan deskripsi layanan pembayaran pilihan yang dapat dilihat pengguna.android.permission.NFC_PREFERRED_PAYMENT_INFO
(izin): Mengizinkan aplikasi menerima informasi layanan pembayaran pilihan NFC.android.nfc.action.PREFERRED_PAYMENT_CHANGED
(tindakan siaran): Intent untuk memberi tahu jika layanan pembayaran yang dipilih berubah.
Validasi
Untuk memvalidasi penerapan fitur sinkronisasi pembayaran off-host, instal aplikasi elemen aman dengan elemen aman yang sesuai, lalu periksa respons yang sesuai dari pembaca NFC dalam kondisi yang berbeda.