Escáner de códigos QR para 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 dedicado al que los usuarios pueden acceder directamente desde la tarjeta 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 continúa 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 los usuarios usan con más frecuencia, y estas 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 manejar todos los flujos de pago iniciados desde este ID de paquete para tratarlos como iniciados por QR y configurar el modo de inicio en QR cuando se envíen datos a la PSP del beneficiario.

Para distinguir entre los pagos iniciados por el escaneo de un código QR en vivo (con la cámara) y el escaneo de una imagen de código QR (foto del 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 cadena STATIC_IMAGE indica que el origen es una imagen estática.
  • La cadena 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