Dữ liệu QR code cho thanh toán gồm những gì, cấu trúc nó như thế nào

Dữ liệu QR code, đặc biệt là trong thanh toán chuẩn EMVCo, tuân theo cấu trúc tiêu chuẩn và được định nghĩa rõ ràng. Các trường thông tin được tổ chức theo cặp ID - Value và có thể bao gồm nhiều thành phần khác nhau tùy theo mục đích. Dưới đây là chi tiết cấu trúc và nội dung thường có trong QR code thanh toán:

1. Cấu trúc cơ bản của QR Code EMVCo
Mỗi trường dữ liệu bao gồm:

  1. ID (Tag): Mã số định danh (2 ký tự)
  2. Length (Len): Độ dài giá trị (2 ký tự)
  3. Value (Value): Nội dung giá trị (độ dài xác định trước)

Cấu trúc:

ID | Length | Value

2. Các trường thông dụng

IDTên TrườngÝ NghĩaVí dụ
00Payload Format IndicatorChỉ định định dạng QR code, thường là 01 cho EMVCo000201
01Point of InitiationLoại QR (tĩnh hoặc động). 11 (động), 12 (tĩnh)010211
26-51Merchant Account InfoThông tin tài khoản của người bán, mã quốc gia, ngân hàng26 cho VNPAY, 29...
52Merchant Category CodeMã loại hình kinh doanh, ví dụ: 0000 (không xác định)52040000
53Transaction CurrencyLoại tiền tệ giao dịch theo chuẩn ISO 4217, như 704 cho VND5303704
54Transaction AmountSố tiền giao dịch5403100 (100 VND)
58Country CodeMã quốc gia, theo ISO 3166-1 Alpha-2, như VN cho Việt Nam5802VN
59Merchant NameTên đơn vị chấp nhận thanh toán5910My Store
60Merchant CityThành phố của người bán6010Hanoi
62Additional Data FieldDữ liệu bổ sung như mã tham chiếu, mã đơn hàng6214Ref123456
63CRCMã kiểm tra CRC16 (Checksum) để xác thực QR6304E4A8

3. Ví dụ QR Code đầy đủ

0002010102115204000053037045403100 5802VN5910My Store6010Hanoi6214Ref1234566304E4A8 

4. Giải thích ví dụ

  • 000201 => 00 là id, 02 là độ dài của dữ liệu, 01 dữ liệu (Payload format: EMV QR)
  • 01: 11 (Dynamic QR)
  • 52: 0000 (Merchant Category Code)
  • 53: 704 (Currency VND)
  • 54: 100 (Amount: 100 VND)
  • 58: VN (Country Code)
  • 59: My Store (Merchant Name)
  • 60: Hanoi (City)
  • 62: Ref123456 (Reference Data)
  • 63: E4A8 (CRC Checksum)

5. Tạo QR Code chuẩn EMV

Bạn có thể xây dựng nội dung này bằng cách nối các chuỗi ID - Length - Value và đảm bảo tính toán CRC chính xác.

Tham khảo mã nguồn C#

Github: https://github.com/anpero-vietnam/anpero-all-payment-library/wiki/QR-Code-data-generator

Nuget: https://www.nuget.org/packages/QRPaymentCode

 

 

Tin nổi bật

Cập nhật tin tức nhanh nhất và mới nhất

0