O Android oferece suporte à emulação de cartão NFC com um elemento seguro para emulação de cartão fora do host. (Para obter mais informações, consulte Visão geral da emulação de cartão baseada em host .) No entanto, na plataforma Android, o serviço de pagamento preferencial especificado na configuração Tap & pay nem sempre é sincronizado com o aplicativo no elemento seguro. Isso significa que é possível que um serviço de pagamento não preferencial no elemento seguro seja usado em vez do serviço de pagamento preferencial.
No Android 11, o recurso de sincronização de pagamento fora do host fornece um mecanismo que permite sincronizar a configuração de pagamento em Tap & pay, a configuração de roteamento no front-end sem contato (CLF) e o estado selecionado do aplicativo no elemento seguro .
O diagrama a seguir ilustra a arquitetura de design do recurso de sincronização de pagamento fora do host.
Implementação
Para implementar o recurso de sincronização de pagamento fora do host, o dispositivo deve ter um controlador NFC compatível com o padrão NCI 2.0 e deve usar as estruturas Android Open Source Project NFC e Open Mobile Application Programming Interface (OMAPI).
APIs de estrutura
Para implementar a sincronização de pagamento fora do host, use as seguintes APIs de estrutura encontradas no Android Open Source Project:
-
getAidsForPreferredPaymentService()
: Recupera os AIDs registrados para o serviço de pagamento preferencial. -
getRouteDestinationForPreferredPaymentService()
: recupera o destino da rota para o serviço de pagamento preferencial. -
getDescriptionForPreferredPaymentService()
: Retorna uma descrição visível ao usuário do serviço de pagamento preferencial. -
android.permission.NFC_PREFERRED_PAYMENT_INFO
(permissão): permite que os aplicativos recebam informações do serviço de pagamento preferencial NFC. -
android.nfc.action.PREFERRED_PAYMENT_CHANGED
(ação de transmissão): intenção de notificar se o serviço de pagamento preferido foi alterado.
Validação
Para validar sua implementação do recurso de sincronização de pagamento fora do host, instale aplicativos de elemento seguro com os elementos seguros correspondentes e, em seguida, verifique as respostas apropriadas de um leitor NFC em diferentes condições.