Escáner de códigos QR de Android compatible con UPI

Android 13 (con retrocompatibilidad para Android 12) admite flujos de pago de UPI agregando un escáner de códigos QR al que los usuarios pueden acceder directamente desde el mosaico de Configuración rápida correspondiente. Los usuarios pueden iniciar un flujo de pago de UPI escaneando un código QR desde la cámara en vivo o desde una imagen estática.

Cuando se instalan varias apps de UPI en un dispositivo, se muestra un diálogo de desambiguación al usuario. Luego, el flujo de pago continuará en la app seleccionada por el usuario.

Ten en cuenta que el orden de las apps no se modifica de ninguna manera. El SO prioriza las apps que más usan los usuarios y se muestran primero, de manera similar al diálogo del intent de UPI existente.

Admite intents de UPI desde el escáner de códigos QR de Android

Cuando se inicia una app de pagos a través de este flujo, el ID del paquete de llamada se establece como com.google.android.gms. Este valor no se puede modificar.

Las apps de pagos deben verificar esta fuente y controlar todos los flujos de pago iniciados desde este ID de paquete para que se traten como se inician mediante QR y configurar el modo de inicio en QR cuando se envían datos al PSP del beneficiario.

Para distinguir entre los pagos que se inician a partir del escaneo de un código QR en tiempo real (con la cámara) y el escaneo de una imagen de código QR (foto en el dispositivo), el escáner de códigos QR pasa un intent adicional que ayuda a identificar la fuente del código QR.

Las apps de pagos deben recuperar el valor de "intent extra" con la clave com.google.android.gms.UPI_QR_SOURCE y, luego, compararlo con lo siguiente:

  • La string STATIC_IMAGE indica que el origen es una imagen estática.
  • La string LIVE_CAMERA indica que la fuente es la cámara.

Clave

Valor

Explicación

com.google.android.gms.UPI_QR_SOURCE

STATIC_IMAGE

Imagen de código QR almacenada en el dispositivo.

LIVE_CAMERA

Imagen de código QR capturada en vivo con la cámara