Lecteur de code QR Android compatible avec UPI
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Android 13 (avec rétrocompatibilité pour Android 12) est compatible avec les flux de paiement UPI en ajoutant un lecteur de code QR dédié auquel les utilisateurs peuvent accéder directement depuis la carte Réglages rapides correspondante. Les utilisateurs peuvent lancer un parcours de paiement UPI en scannant un code QR à partir de l'appareil photo en direct ou d'une image statique.

Lorsque plusieurs applications UPI sont installées sur un appareil, une boîte de dialogue de démarcation s'affiche. Le parcours de paiement se poursuit ensuite dans l'application sélectionnée par l'utilisateur.
Notez que l'ordre des applications n'est en aucun cas modifié. Les applications les plus utilisées par les utilisateurs sont priorisées par l'OS et affichées en premier, comme dans la boîte de dialogue d'intent UPI existante.
Prise en charge des intents UPI à partir du lecteur de code QR Android
Lorsqu'une application de paiement est lancée via ce flux, l'ID de package appelant est défini sur com.google.android.gms. Cette valeur ne peut pas être modifiée.
Les applications de paiement doivent valider cette source et gérer tous les flux de paiement initiés à partir de cet ID de package pour qu'ils soient traités comme initiés par un code QR et définir le mode d'initiation sur "QR" lors de l'envoi de données au PSP du payeur.
Pour distinguer les paiements déclenchés par le scan d'un code QR en direct (à l'aide de l'appareil photo) et le scan d'une image de code QR (photo sur l'appareil), le lecteur de code QR transmet un intent supplémentaire qui permet d'identifier la source du code QR.
Les applications de paiement doivent extraire la valeur de l'intent extra avec la clé com.google.android.gms.UPI_QR_SOURCE
, puis la comparer à ce qui suit:
- La chaîne
STATIC_IMAGE
indique que la source est une image statique.
- La chaîne
LIVE_CAMERA
indique que la source est la caméra.
Clé |
Valeur |
Explication |
com.google.android.gms.UPI_QR_SOURCE |
STATIC_IMAGE
|
Image du code QR stockée sur l'appareil. |
|
LIVE_CAMERA
|
Image du code QR capturée en direct à l'aide de l'appareil photo |
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Android QR scanner with UPI support\n\nAndroid 13 (with backwards compatibility for Android 12) supports UPI\npayment flows by adding a dedicated QR Code scanner that users can access\ndirectly from the corresponding Quick Settings tile. Users can launch\na UPI payment flow by scanning a QR Code either from the live camera or from\na static image.\n\n\nWhen multiple UPI apps are installed on a device, the user is presented\nwith a disambiguation dialog. The payment flow then continues in the app\nselected by the user.\n\nNote that the order of apps is not modified in any manner. Users' most\nfrequently used apps are prioritized by the OS and displayed first, similar to\nthe existing UPI intent dialog.\n\nSupport UPI intents from Android QR scanner\n-------------------------------------------\n\nWhen a payment app is launched via this flow, the calling package ID is set\nas **com.google.android.gms**. This value cannot be altered.\n\nPayment apps need to **verify this source** and handle all the payment\nflows initiated from this package ID to be **treated as initiated by QR** and\n**set the initiation mode to QR when sending data to the payee's PSP**.\n\nTo distinguish between payments initiated from scanning a live QR Code (using\nthe camera) and scanning a QR Code image (photo on device), the QR scanner\npasses an intent **extra** which helps identify the source of the QR Code.\n\nPayment apps need to fetch the value of \"intent **extra** \" with the key\n`com.google.android.gms.UPI_QR_SOURCE`, and then compare with the following:\n\n- `STATIC_IMAGE` string indicates that the source is a static image.\n- `LIVE_CAMERA` string indicates that the source is the camera.\n\n|--------------------------------------|----------------|----------------------------------------------|\n| **Key** | **Value** | **Explanation** |\n| com.google.android.gms.UPI_QR_SOURCE | `STATIC_IMAGE` | QR code image stored on the device. |\n| | `LIVE_CAMERA` | QR code image captured live using the camera |"]]