支援 UPI 的 Android QR 掃描器
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Android 13 (向下相容 Android 12) 新增專屬 QR code 掃描器,可讓使用者直接透過對應的「快速設定」資訊方塊存取,進而支援統一支付介面 (UPI) 付款流程。使用者可以透過掃描即時相機或靜態圖片中的 QR code,啟動 UPI 付款流程。

如果裝置上安裝多個 UPI 應用程式,系統會向使用者顯示用於區分應用程式的對話方塊。付款流程會在使用者選取的應用程式中繼續。
請注意,系統不會以任何方式修改應用程式順序。系統會優先顯示使用者最常使用的應用程式,類似現有的 UPI 意圖對話方塊。
支援 Android QR 掃描器的 UPI 意圖
透過這個流程啟動付款應用程式時,呼叫的套件 ID 會設為 com.google.android.gms。此值無法變更。
付款應用程式需要驗證這個來源,並處理從這個套件 ID 啟動的所有付款流程,以視為由 QR code 啟動,並在傳送資料給收款方的 PSP 時,將啟動模式設為 QR code。
為了區分使用相機掃描即時 QR code 和掃描 QR code 圖片 (裝置上的相片) 所啟動的付款作業,QR code 掃描器會傳遞意圖extra,協助識別 QR code 來源。
付款應用程式需要使用鍵 com.google.android.gms.UPI_QR_SOURCE
擷取「intent extra」的值,然後與下列值進行比較:
STATIC_IMAGE
字串表示來源是靜態圖片。
LIVE_CAMERA
字串表示來源是攝影機。
鍵 |
值 |
說明 |
com.google.android.gms.UPI_QR_SOURCE |
STATIC_IMAGE
|
儲存在裝置上的 QR code 圖片。 |
|
LIVE_CAMERA
|
使用相機即時拍攝的 QR code 圖片 |
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[null,null,["上次更新時間:2025-07-27 (世界標準時間)。"],[],[],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 |"]]