QR code VietQR là gì?
-
Ảnh QR Code chứa toàn bộ thông tin về ngân hàng, số tài khoản thụ hưởng, số tiền chuyển khoản, nội dung chuyển khoản.
-
Khi khách hàng dùng App ngân hàng để quét mã, ứng dụng sẽ tự điền toàn bộ thông tin chuyển khoản, rất tiện lợi.
-
Như vậy khi tích hợp QR Code, khách hàng sẽ không cần phải điền bằng tay các thông tin chuyển khoản. Trải nghiệm khách hàng sẽ tốt hơn, việc chuyển khoản thanh toán cũng nhanh hơn.
-
SePay cung cấp công cụ để giúp bạn tạo ảnh QR Code động tại qr.sepay.vn
Cấu trúc link nhúng
https://qr.sepay.vn/img?acc=SO_TAI_KHOAN&bank=NGAN_HANG&amount=SO_TIEN&des=NOI_DUNG&template=TEMPLATE&download=DOWNLOAD&showinfo=SHOWINFO&fullacc=FULLACC&holder=CHU_TAI_KHOAN&store=CUA_HANG
Giải thích tham số
short_name, alias, code hoặc bin trong danh sách tại banks.json (ví dụ Vietcombank; LPBank là alias của LienVietPostBank).compact = bố cục gọn kèm logo NAPAS/VietQR, logo ngân hàng và logo SePay; qronly = chỉ ảnh QR, không kèm khung và logo; standee = bố cục standee in tại quầy điểm bán.download=true để trình duyệt tải ảnh QR về máy thay vì hiển thị inline.template=standee vì kiểu standee đã hiển thị sẵn thông tin.showinfo=true.Bạn có thể xem thông tin các ngân hàng tại banks.json
Chọn kiểu hiển thị qua tham số template
Tham số template quyết định bố cục ảnh QR khi bạn nhúng vào website hoặc in tại điểm bán. Trang qr.sepay.vn cũng hiển thị các kiểu này để bạn xem trước và sao chép link nhanh.
| Giá trị | Kiểu hiển thị |
|---|---|
| (bỏ trống) | Ảnh QR chuẩn kèm logo VietQR. |
compact | Bố cục gọn kèm logo NAPAS/VietQR, logo ngân hàng và logo SePay, phù hợp nhúng vào trang thanh toán. |
qronly | Chỉ ảnh QR, không kèm khung và logo. |
standee | Bố cục dành cho standee, in tại quầy điểm bán. |
Các tham số showinfo, fullacc, holder và store giúp bạn hiển thị thêm thông tin chủ tài khoản và cửa hàng ngay trên ảnh QR. fullacc chỉ có tác dụng khi showinfo=true; riêng kiểu standee đã hiển thị sẵn thông tin nên không cần truyền showinfo. Tham số download buộc trình duyệt tải ảnh về máy thay vì mở trực tiếp.
Ví dụ link QR kiểu gọn hiển thị tên chủ tài khoản:
https://qr.sepay.vn/img?acc=1234567890&bank=Vietcombank&amount=100000&des=thanh%20toan%20DH001&template=compact&showinfo=true&holder=TIEM%20SACH%20HOAI%20NIEMQuy tắc tạo VietQR theo ngân hàng mà SePay hỗ trợ
Quy tắc khác nhau giữa các ngân hàng: yêu cầu tài khoản ảo (VA), chuỗi bắt buộc trong nội dung chuyển khoản, và cách điền acc / des theo loại VA.
Yêu cầu tài khoản ảo (VA)
Một số ngân hàng bắt buộc dùng tài khoản ảo (VA) để khớp giao dịch tự động. Các ngân hàng còn lại có thể dùng VA hoặc tài khoản gốc tùy nhu cầu.
| Ngân hàng | Cá nhân | Hộ kinh doanh | Doanh nghiệp |
|---|---|---|---|
| OCB | Bắt buộc | Bắt buộc | Bắt buộc |
| KienLongBank | Bắt buộc | Bắt buộc | Bắt buộc |
| MSB | Bắt buộc | Bắt buộc | Bắt buộc |
| BIDV | Bắt buộc | Bắt buộc | Tùy chọn |
| Ngân hàng khác | Tùy chọn | Tùy chọn | Tùy chọn |
Nội dung chuyển khoản
Với tài khoản VietinBank cá nhân và hộ kinh doanh, nội dung chuyển khoản (des) phải chứa chuỗi SEVQR. Thiếu chuỗi này, thông báo giao dịch không được đẩy về SePay.
Khi dùng VA theo nội dung chuyển khoản, nội dung phải chứa TKP + mã VA. Ví dụ: VA 001 thì nội dung phải có TKP001.
Thêm mã thanh toán vào nội dung để SePay tự động bóc tách giao dịch với đơn hàng của bạn. Cấu hình tiền tố mã thanh toán tại Cấu hình mã thanh toán.
Quy tắc tham số khởi tạo QR
Tham số acc và des thay đổi tùy loại VA:
| Loại VA | acc | des |
|---|---|---|
| VA chính thức | Số VA | Nội dung tùy ý |
| VA theo nội dung chuyển khoản | Số tài khoản gốc | TKP + mã VA + nội dung |
| Không có VA | Số tài khoản | Nội dung tùy ý |
Ví dụ sử dụng
Mọi số tài khoản và số VA trong các ví dụ dưới đây là dữ liệu mẫu, không tồn tại thật. Thay bằng số tài khoản hoặc số VA thực của bạn khi triển khai.
Ví dụ 1: OCB cá nhân — VA chính thức bắt buộc
OCB bắt buộc dùng VA cho mọi loại tài khoản.
https://qr.sepay.vn/img?acc=VQRQ12345678&bank=OCB&amount=100000&des=DH001%20thanh%20toan| Tham số | Giá trị | Ý nghĩa |
|---|---|---|
acc | VQRQ12345678 | Số VA OCB (mẫu) |
bank | OCB | Ngân hàng OCB |
amount | 100000 | 100.000 VND |
des | DH001 thanh toan | Mã đơn hàng + nội dung |
Ví dụ 2: VietinBank cá nhân — bắt buộc SEVQR trong nội dung
VietinBank cá nhân và hộ kinh doanh bắt buộc nội dung chứa chuỗi SEVQR.
| Tham số | Giá trị | Ý nghĩa |
|---|---|---|
acc | 0123456789 | Số tài khoản VietinBank (mẫu) |
bank | VietinBank | Ngân hàng VietinBank |
amount | 100000 | 100.000 VND |
des | SEVQR DH001 | Chuỗi bắt buộc SEVQR + mã đơn hàng |
Ví dụ 3: TPBank cá nhân — VA theo nội dung chuyển khoản (TKP + mã VA)
Khi dùng VA theo nội dung chuyển khoản, acc là số tài khoản gốc, des ghép TKP + mã VA + nội dung.
| Tham số | Giá trị | Ý nghĩa |
|---|---|---|
acc | 0987654321 | Số tài khoản TPBank (mẫu) |
bank | TPBank | Ngân hàng TPBank |
amount | 200000 | 200.000 VND |
des | TKP001 DH001 | TKP + mã VA 001 + mã đơn hàng |
Ví dụ 4: Vietcombank cá nhân — không bắt buộc VA, đầy đủ thông tin
Vietcombank không bắt buộc VA. Truyền đầy đủ amount và des để khách quét là thanh toán ngay.
| Tham số | Giá trị | Ý nghĩa |
|---|---|---|
acc | 9988776655 | Số tài khoản Vietcombank (mẫu) |
bank | Vietcombank | Ngân hàng Vietcombank |
amount | 100000 | 100.000 VND |
des | thanh toan don hang | Nội dung tự do |
Ví dụ 5: Vietcombank — chỉ có số tài khoản và ngân hàng
Bỏ qua amount và des để khách tự điền số tiền và nội dung khi quét.
| Tham số | Giá trị | Ý nghĩa |
|---|---|---|
acc | 9988776655 | Số tài khoản Vietcombank (mẫu) |
bank | Vietcombank | Ngân hàng Vietcombank |
Nhúng mã QR Code vào website
Bạn nhúng ảnh QR động bằng thẻ <img>, dùng link QR ở mục Cấu trúc link nhúng. Mọi tham số trong bảng trên đều dùng được khi nhúng, ví dụ thêm template=compact để hiển thị gọn trên trang thanh toán:
<img src='https://qr.sepay.vn/img?acc=9988776655&bank=Vietcombank&amount=100000&des=thanh%20toan%20don%20hang&template=compact' alt='Mã QR thanh toán SePay' />