Android admite la emulación de tarjetas NFC con un Elemento seguro para la emulación de tarjetas fuera del host. (Para obtener más información, consulta la descripción general de la emulación de tarjetas basada en el host). Sin embargo, en la plataforma de Android, el servicio de pago preferido especificado en el parámetro de configuración de Pago sin contacto no siempre se sincroniza con la app en el elemento seguro. Esto significa que es posible que se use un servicio de pago no preferido en el elemento seguro en lugar del servicio de pago preferido.
En Android 11, la función de sincronización de pagos fuera del host proporciona un mecanismo que te permite sincronizar la configuración de pagos en Pago sin contacto, la configuración de enrutamiento en el frontend sin contacto (CLF) y el estado seleccionado por la app en el elemento seguro.
En el siguiente diagrama, se ilustra la arquitectura de diseño de la función de sincronización de pagos fuera del host.
Implementación
Para implementar la función de sincronización de pagos fuera del host, el dispositivo debe tener un controlador NFC que admita el estándar NCI 2.0 y debe usar los frameworks de NFC y Open Mobile Application Programming Interface (OMAPI) del Proyecto de código abierto de Android.
APIs de Framework
Para implementar la sincronización de pagos fuera del host, usa las siguientes APIs del framework que se encuentran en el Proyecto de código abierto de Android:
getAidsForPreferredPaymentService(): Recupera los AID (identificadores de aplicación) registrados para el servicio de pagos preferido.getRouteDestinationForPreferredPaymentService(): Recupera el destino de la ruta para el servicio de pago preferido.getDescriptionForPreferredPaymentService(): Devuelve una descripción del servicio de pago preferido que es visible para el usuario.android.permission.NFC_PREFERRED_PAYMENT_INFO(permiso): Permite que las apps reciban información sobre el servicio de pago NFC preferido.android.nfc.action.PREFERRED_PAYMENT_CHANGED(acción de transmisión): Notifica si cambió el servicio de pago preferido.
Validación
Para validar la implementación de la función de sincronización de pagos fuera del host, instala apps de elementos seguros con los elementos seguros correspondientes y, luego, verifica las respuestas adecuadas de un lector NFC en diferentes condiciones.