Có thể xem thêm tổng quan Pay2S là gì và giải pháp này làm gì. Trong bài này, Pay2S là lớp kết nối dữ liệu và tự động hóa thanh toán, không thay thế ngân hàng hay hệ thống kế toán.
VietQR và OneQR Pay2S là gì?
VietQR và OneQR Pay2S cùng giải quyết bài toán nhận tiền bằng QR nhưng đứng ở hai tầng. VietQR cung cấp bộ nhận diện và dữ liệu để người mua quét, kiểm tra thông tin rồi xác nhận trên ứng dụng tương thích. Mã có thể được in tại quầy, hiển thị trên màn hình hoặc sinh theo từng đơn hàng.
OneQR x Pay2S tập trung vào điểm thu có cả khách nội địa và khách quốc tế. Theo công bố hợp tác với Vietcombank của Pay2S, OneQR hướng tới việc gom nhiều nhu cầu thanh toán vào một mã. Dữ liệu sau thanh toán có thể được nối với phần mềm quản lý theo khả năng và cấu hình được hỗ trợ. Mỗi dự án cần chốt cách nhận kết quả, mapping đơn và trách nhiệm xử lý ngoại lệ trước khi triển khai.
VietQR và OneQR Pay2S vì thế không phải tên của một endpoint duy nhất. QR ở phía khách, ngân hàng hoặc mạng thanh toán xử lý tiền, còn Pay2S kết nối dữ liệu sau giao dịch.
VietQR là gì và phù hợp với giao dịch nào?
Trong bối cảnh nội địa, VietQR thường là mã để khách mở ứng dụng ngân hàng, quét và thực hiện giao dịch. Mã có thể chứa thông tin nhận tiền, ngân hàng, số tài khoản và nội dung chuyển khoản theo cấu trúc được ứng dụng hỗ trợ. Cách này giảm nhập tay, hạn chế nhầm số tài khoản và phù hợp với bán lẻ, dịch vụ, thu học phí, đặt lịch hoặc giao hàng.
“Quét được mã” chưa đồng nghĩa với “đơn đã được xác nhận”. Ảnh chụp màn hình hoặc thông báo trên điện thoại không nên là nguồn duy nhất. Hệ thống cần mã đơn, số tiền kỳ vọng, thời điểm, trạng thái và nguồn xác nhận. Với website hoặc POS, backend nên tự đổi trạng thái sau khi kiểm tra dữ liệu thay vì để nhân viên dò sao kê.
QR nội địa có giới hạn với khách quốc tế vì ứng dụng nước ngoài không nhất thiết hiểu mã nhận tiền nội địa giống ứng dụng Việt Nam. VietQRGlobal và OneQR quốc tế vì vậy cần được mô tả riêng.
Để đặt VietQR vào đúng bối cảnh kỹ thuật, hãy xem thêm Pay2S hỗ trợ QR và tài khoản ngân hàng như thế nào. Bài liên quan giúp phân biệt mã QR hiển thị cho người mua với lớp dữ liệu mà hệ thống cần lưu để đối soát.
VietQRGlobal khác OneQR x Pay2S ở điểm nào?

VietQRGlobal được NAPAS giới thiệu trong bối cảnh mở rộng thanh toán QR xuyên biên giới. Khách quốc tế có thể dùng ứng dụng thanh toán quen thuộc để quét mã tương thích tại Việt Nam theo hành lang kết nối được hỗ trợ. Tại hội thảo ngày 25/9/2026, NAPAS nêu vai trò của mạng lưới này với bán lẻ và du lịch. Thông tin về mạng lưới không đồng nghĩa mọi merchant hoặc mọi ứng dụng đều được kích hoạt; điểm thu vẫn cần xác nhận phạm vi chấp nhận, tiền tệ, phí và cơ chế ghi nhận của dịch vụ đang dùng.
OneQR x Pay2S nhấn mạnh bài toán triển khai tại điểm thu. OneQR được định vị là một mã dùng cho khách trong nước và quốc tế theo phạm vi hỗ trợ của ngân hàng, Pay2S và mạng thanh toán liên quan. Pay2S bổ sung lớp vận hành: gắn giao dịch với đơn hàng, gửi dữ liệu cho phần mềm, nhận webhook hoặc API và kích hoạt bước sau thanh toán.
| Khái niệm | Vai trò | Đối tượng |
|---|---|---|
| VietQR | QR nội địa | Người mua và điểm thu |
| VietQRGlobal | QR xuyên biên giới | Khách quốc tế |
| OneQR x Pay2S | Một điểm QR và tự động hóa dữ liệu | Merchant, POS, website, kế toán |
Đây là cách phân loại theo vai trò, không phải cam kết mọi kênh đều được hỗ trợ trong mọi tài khoản. Merchant cần xác nhận loại tiền, phí, thời gian ghi nhận và cách xử lý giao dịch lỗi. Một merchant có thể dùng OneQR tại quầy và Pay2S phía sau để nhận dữ liệu; lựa chọn phụ thuộc nhóm khách, loại điểm thu và yêu cầu phần mềm.
Luồng thanh toán OneQR Pay2S hoạt động ra sao?

Một luồng OneQR x Pay2S có thể bắt đầu từ quầy, POS, website hoặc trang đặt dịch vụ. Merchant tạo đơn với mã và số tiền, hiển thị OneQR, khách quét bằng ứng dụng phù hợp rồi xác nhận. Sau đó Pay2S ghi nhận dữ liệu, đối chiếu với đơn và đẩy kết quả về hệ thống merchant.
- Tạo đơn ở hệ thống bán hàng, gồm mã đơn, số tiền và dữ liệu đối soát.
- Hiển thị OneQR ở vị trí khách dễ quét; nếu là website, đảm bảo mã không bị co hoặc che bởi lớp giao diện.
- Khách chọn ứng dụng thanh toán tương thích, quét mã và xác nhận trên chính ứng dụng của họ.
- Pay2S nhận hoặc truy vấn kết quả rồi liên kết giao dịch với mã đơn.
- Backend kiểm tra số tiền, mã tham chiếu, trạng thái và tính duy nhất trước khi xử lý đơn.
- Lưu dấu vết để đối soát, retry và tra cứu khi cần.
Nếu website cần tạo phiên thanh toán có URL hoặc dữ liệu đơn riêng, xem cách tạo link thanh toán Pay2S từ backend. Với OneQR tại quầy, không lấy giao diện làm nguồn duy nhất để quyết định đơn đã thu tiền.
ORDER_CREATED
-> ONEQR_DISPLAYED
-> CUSTOMER_CONFIRMED
-> PAYMENT_RESULT_RECEIVED
-> PAY2S_RECORDED
-> ORDER_VERIFIED
-> INVOICE_OR_FULFILMENT_QUEUED
Đây là sơ đồ khái niệm, không phải danh sách event bắt buộc của mọi tài khoản. Tên field, webhook, trạng thái và thời điểm callback phải đối chiếu với tài liệu hiện hành. Nếu kết quả còn pending, đơn nên ở trạng thái chờ xác minh thay vì tự chuyển sang paid.
QR tĩnh và QR động: doanh nghiệp nên chọn loại nào?

QR tĩnh là mã cố định, thường in trên bảng hoặc sticker. Khách tự nhập số tiền và nội dung. Cách này đơn giản, hợp với quầy nhỏ hoặc khoản thu không cần gắn từng đơn, nhưng hệ thống khó biết giao dịch nào thuộc đơn nào nếu nội dung không chuẩn hóa.
QR động được sinh theo từng đơn hoặc phiên thu, thường gắn với số tiền, mã đơn, thời hạn hoặc tham chiếu. Cách này hợp với website, nhà hàng, khách sạn, bán vé và chuỗi cửa hàng cần tự động xác nhận. Merchant phải xử lý tạo, hết hạn, hủy, thanh toán thiếu hoặc giao dịch đến muộn.
- QR tĩnh: hợp với quầy nhỏ và khoản thu không gắn từng đơn.
- QR động: hợp với website, nhiều điểm thu và tự động ghép đơn.
- Kết hợp: dùng khi quầy và website có yêu cầu khác nhau.
Nếu muốn thu hồi một QR động chưa thanh toán, Pay2S có tài liệu riêng về thao tác hủy OneQR. Ví dụ dưới đây chỉ dùng placeholder và minh họa cấu trúc, không phải credential thật:
POST http://api.pay2s.vn/api/{bank_code}/v1/qr/cancel
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
{
"orderId": "ORDER_DEMO_20261014_001",
"traceNumber": "TRACE_DEMO_001"
}
Theo tài liệu OneQR của Pay2S, thao tác này làm QR không còn nhận thanh toán. Hủy QR không đồng nghĩa hoàn tiền cho giao dịch đã thanh toán; hai nghiệp vụ phải tách trong database và runbook. Khi dùng endpoint thật, cần kiểm tra đúng bank_code, token, điều kiện hủy và response của tài khoản.
Pay2S tự động ghi nhận và đối soát giao dịch thế nào?
OneQR có giá trị khi biến giao dịch ngoài hệ thống thành dữ liệu kiểm chứng được. Pay2S có thể ghi nhận mã giao dịch, mã đơn, số tiền, thời gian, phương thức và trạng thái theo phạm vi hỗ trợ.
Nên đối chiếu danh tính đơn, số tiền và trạng thái. Giao dịch chỉ có số tiền không nên tự gán cho đơn gần nhất; callback trùng không được tạo thêm giao hàng hoặc hóa đơn. Hướng dẫn xác minh IPN Pay2S giải thích nguyên tắc kiểm chứng từ máy chủ trong luồng Collection Link. Khi triển khai OneQR, tên field và cơ chế xác thực phải lấy từ hợp đồng API tương ứng, không sao chép chữ ký của một luồng khác.
Kết nối OneQR Pay2S với website, POS và hóa đơn điện tử
Với website, backend tạo đơn rồi trả giao diện QR. Với POS, mã có thể hiện trên màn hình hoặc máy in; nhà hàng, khách sạn và sự kiện cần gắn mã với bàn, phòng, vé hoặc booking để không trộn giao dịch.
Pay2S có thể truyền kết quả qua API hoặc webhook. Merchant vẫn phải mapping giao dịch, người xử lý ngoại lệ và dữ liệu hóa đơn; không phát hành chứng từ chỉ vì QR đã hiển thị hoặc request tạo mã thành công.
Trên hoadontudong.com.vn, điểm nối quan trọng là sau khi giao dịch được xác minh. Dữ liệu đã đối soát có thể đi vào luồng hóa đơn theo cấu hình, nhưng trạng thái thanh toán và trạng thái phát hành phải tách biệt. Xem thêm luồng kết nối Pay2S với hóa đơn điện tử tự động.
Doanh nghiệp nào nên triển khai OneQR Pay2S?
OneQR x Pay2S đáng cân nhắc khi doanh nghiệp có nhiều nhóm khách nhưng muốn trải nghiệm tại quầy đơn giản: bán lẻ có khách du lịch, nhà hàng, khách sạn, dịch vụ tại điểm, sự kiện, website bán hàng, nền tảng đặt vé hoặc POS cần đồng bộ. Lợi ích rõ hơn khi giao dịch phải đi tiếp tới tồn kho, booking, chăm sóc khách hàng hoặc hóa đơn.
Nếu cửa hàng chỉ nhận ít khoản chuyển khoản mỗi ngày và không cần tự động hóa, OneQR có thể chưa là ưu tiên. Cần tính cấu hình, mapping, kiểm thử, đào tạo và đối soát; một pilot nhỏ sẽ giúp đo hiệu quả trước khi mở rộng.
Các giới hạn cần kiểm tra trước khi triển khai
- Kênh, ngân hàng, mạng thanh toán và thị trường quốc tế được hỗ trợ trong đúng tài khoản merchant.
- Tiền tệ, tỷ giá, phí, thời gian ghi nhận và cách hiển thị thành công cho khách.
- QR tĩnh hay động, thời hạn, điều kiện hủy và phân biệt hủy với hoàn tiền.
- Callback, retry, xác minh chữ ký hoặc token và thời gian chờ.
- Quy tắc ghép đơn, chống trùng, tra soát và kết nối hóa đơn điện tử.
Câu hỏi thường gặp về VietQR và OneQR Pay2S
OneQR Pay2S có thay thế hoàn toàn VietQR không?
Không. VietQR là lớp nhận diện và trải nghiệm QR; OneQR x Pay2S là mô hình triển khai điểm thu và tự động hóa dữ liệu quanh giao dịch. Phạm vi cụ thể phụ thuộc cấu hình và đối tác.
Khách nước ngoài có dùng được OneQR không?
Có thể trong các kênh và thị trường được OneQR, Vietcombank, Pay2S cùng đối tác hỗ trợ tại thời điểm giao dịch. Không nên suy luận mọi ứng dụng nước ngoài đều quét được; hãy kiểm tra danh sách tương thích và thử nghiệm.
Kết luận
Lựa chọn bắt đầu từ nhóm khách và quy trình tại điểm thu. Nếu chủ yếu nhận chuyển khoản nội địa, cần giải quyết việc ghép đúng đơn và khoản thu. Nếu phục vụ thêm khách quốc tế, cần xác nhận hành lang, ứng dụng tương thích và điều kiện của OneQR đang triển khai. Lớp dữ liệu sau thanh toán quyết định hệ thống có thể tự động xử lý đến đâu.
Có thể thử tại một quầy trước khi mở rộng: kiểm tra trải nghiệm quét, thời gian cập nhật, giao dịch cần tra soát và đối soát cuối ngày. Với hóa đơn, đánh giá thêm dữ liệu cùng điều kiện lập phù hợp nghiệp vụ; thời điểm nhận tiền không phải quy tắc phát hành chung cho mọi giao dịch.
Nguồn đối chiếu: công bố OneQR x Vietcombank của Pay2S, tài liệu hủy OneQR và NAPAS về thanh toán QR xuyên biên giới.