Trình quét mã QR trên Android có hỗ trợ UPI
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Android 13 (có khả năng tương thích ngược với Android 12) hỗ trợ quy trình thanh toán UPI bằng cách thêm một trình quét mã QR chuyên dụng mà người dùng có thể truy cập trực tiếp từ thẻ Cài đặt nhanh tương ứng. Người dùng có thể bắt đầu quy trình thanh toán UPI bằng cách quét Mã QR từ máy ảnh trực tiếp hoặc từ hình ảnh tĩnh.

Khi nhiều ứng dụng UPI được cài đặt trên một thiết bị, người dùng sẽ thấy một hộp thoại phân định. Sau đó, quy trình thanh toán sẽ tiếp tục trong ứng dụng mà người dùng đã chọn.
Xin lưu ý rằng thứ tự của các ứng dụng không được sửa đổi theo bất kỳ cách nào. Các ứng dụng mà người dùng sử dụng thường xuyên nhất sẽ được hệ điều hành ưu tiên và hiển thị trước, tương tự như hộp thoại ý định UPI hiện có.
Hỗ trợ ý định UPI từ trình quét mã QR của Android
Khi một ứng dụng thanh toán được khởi chạy thông qua quy trình này, mã gói gọi sẽ được đặt thành com.google.android.gms. Bạn không thể thay đổi giá trị này.
Ứng dụng thanh toán cần xác minh nguồn này và xử lý tất cả các luồng thanh toán được bắt đầu từ mã gói này để được coi là do QR bắt đầu và đặt chế độ bắt đầu thành QR khi gửi dữ liệu đến PSP của người nhận.
Để phân biệt giữa các khoản thanh toán được thực hiện bằng cách quét Mã QR trực tiếp (sử dụng máy ảnh) và quét hình ảnh Mã QR (ảnh trên thiết bị), trình quét mã QR sẽ truyền một ý định bổ sung giúp xác định nguồn của Mã QR.
Ứng dụng thanh toán cần tìm nạp giá trị của "ý định bổ sung" bằng khoá com.google.android.gms.UPI_QR_SOURCE
, sau đó so sánh với các giá trị sau:
- Chuỗi
STATIC_IMAGE
cho biết nguồn là một hình ảnh tĩnh.
- Chuỗi
LIVE_CAMERA
cho biết nguồn là máy ảnh.
Khóa |
Giá trị |
Giải thích |
com.google.android.gms.UPI_QR_SOURCE |
STATIC_IMAGE
|
Hình ảnh mã QR được lưu trữ trên thiết bị. |
|
LIVE_CAMERA
|
Hình ảnh mã QR được chụp trực tiếp bằng máy ảnh |
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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 |"]]