VietQR là nhận diện thương hiệu chung dành cho các dịch vụ thanh toán, chuyển khoản bằng mã QR được xử lý qua mạng lưới NAPAS và các Ngân hàng thành viên, Trung gian thanh toán, các đối tác thanh toán tại Việt Nam.
Sự khác biệt giữa QR Tĩnh và QR Động
- QR Tĩnh (Static QR): Là mã QR chỉ chứa thông tin tài khoản ngân hàng của người thụ hưởng. Khi quét, khách hàng phải TỰ NHẬP số tiền và nội dung chuyển khoản. Điều này dẫn đến 90% lỗi sai sót trong quá trình đối soát tự động do khách hàng nhập sai mã đơn hoặc thiếu tiền.
- QR Động (Dynamic QR): Mỗi khi có một đơn hàng mới, hệ thống sẽ sinh ra một mã QR ĐỘC NHẤT. Mã này đã được nhúng sẵn thông tin tài khoản, chính xác số tiền cần thanh toán và nội dung là mã đơn hàng. Khách hàng chỉ việc quét và bấm "Xác nhận". Nhờ vậy, dữ liệu truyền về qua Webhook hoặc API sẽ luôn chuẩn xác 100%.
Cấu trúc kỹ thuật của chuẩn VietQR (EMV Co.)
Một chuỗi dữ liệu đằng sau mã VietQR thường tuân theo chuẩn EMV (Europay, Mastercard, and Visa). Đối với lập trình viên, thay vì tự mày mò ghép chuỗi rất phức tạp và dễ sai chuẩn, bạn nên sử dụng các API tạo QR từ bên thứ 3 (như vietqr.io) hoặc các thư viện mã nguồn mở có sẵn để sinh ảnh Base64.
Tích hợp tạo QR Động vào hệ thống
Quy trình phổ biến khi khách hàng bấm "Thanh toán":
- Hệ thống lưu đơn hàng vào Database với trạng thái "Pending" và sinh ra
order_id(ví dụ:DH99112). - Hệ thống gọi API tạo QR (ví dụ thông qua
vietqr.io) truyền vào: Số tài khoản, Ngân hàng, Số tiền của đơn hàng, và Nội dung làDH99112. - API trả về một link ảnh hoặc chuỗi Base64 của ảnh QR Code.
- Website render ảnh QR này lên màn hình Checkout để khách hàng quét.
- Đồng thời, hệ thống bắt đầu mở một luồng nhận Webhook hoặc gọi API định kỳ để kiểm tra xem giao dịch có nội dung
DH99112đã được chuyển chưa.
Bắt đầu tích hợp API Ngân hàng
Khám phá tài liệu API để nhận thông báo thanh toán tự động ngay khi khách quét mã VietQR.
Xem tài liệu API