O Android oferece suporte à emulação de cartão NFC com um elemento de segurança para emulação de cartão fora do host. Para mais informações, consulte Visão geral da emulação de cartão com base em host. No entanto, na plataforma Android, o serviço de pagamento preferencial especificado na configuração Pagamento por aproximação nem sempre é sincronizado com o app no elemento de segurança. Isso significa que é possível que um serviço de pagamento não preferencial no Elemento de segurança seja usado em vez do serviço de pagamento preferencial.
No Android 11, o recurso de sincronização de pagamento fora do host oferece um mecanismo que permite sincronizar a configuração de pagamento em Pagamento por aproximação, a configuração de roteamento no front-end por aproximação (CLF) e o estado selecionado pelo app no elemento de segurança.
O diagrama a seguir ilustra a arquitetura de design do recurso de sincronização de pagamentos externa.
Implementação
Para implementar o recurso de sincronização de pagamentos fora do host, o dispositivo precisa ter um controlador NFC compatível com o padrão NCI 2.0 e usar as estruturas do Android Open Source Project NFC e da Open Mobile Application Programming Interface (OMAPI).
APIs do framework
Para implementar a sincronização de pagamentos fora do host, use as seguintes APIs do framework encontradas no Android Open Source Project:
getAidsForPreferredPaymentService(): recupera os AIDs (identificadores de aplicativos) registrados para o serviço de pagamento preferido.getRouteDestinationForPreferredPaymentService(): recupera o destino da rota para o serviço de pagamento preferido.getDescriptionForPreferredPaymentService(): retorna uma descrição visível ao usuário do serviço de pagamento preferido.android.permission.NFC_PREFERRED_PAYMENT_INFO(permissão): permite que apps recebam informações preferidas de serviço de pagamento por NFC.android.nfc.action.PREFERRED_PAYMENT_CHANGED(ação de transmissão): notifica se o serviço de pagamento preferido mudou.
Validação
Para validar a implementação do recurso de sincronização de pagamentos fora do host, instale apps de elemento de segurança com os elementos de segurança correspondentes e verifique se há respostas adequadas de um leitor de NFC em diferentes condições.