PIX
PIX là hệ thống thanh toán tức thì của Brazil, do Banco Central do Brasil (BACEN) vận hành. Định dạng BR Code QR là tập con của EMVCo MPM với Merchant Account Information (tag 26) mang khóa PIX, có thể là CPF, CNPJ, email, số điện thoại hoặc EVP ngẫu nhiên. PIX đã xử lý nghìn tỷ real đầu tiên trong vòng chưa đầy hai năm kể từ khi ra mắt (2020 → 2022) và hiện là mạng lưới thanh toán bán lẻ thống lĩnh tại Brazil.
Đặc tả cha:EMVCo MPM v1.1. PIX dành riêng tag tài khoản người bán
26; phần còn lại kế thừa từ EMVCo. Mã hóa: TLV (Tag-Length-Value) với tag 2 chữ số, độ dài 2 chữ số và phần kéo dài CRC16-CCITT.
Cấu trúc BR Code, tag 26 (PIX Merchant Account Information)
Nội dung dành riêng cho PIX nằm trong tag 26. Đây là cấu trúc TLV lồng nhau với các sub-tag sau:
| Sub-tag | Tên | Độ dài | Ghi chú |
|---|---|---|---|
00 | GUI, Định danh duy nhất toàn cầu | 14 | Giá trị cố định br.gov.bcb.pix. Xác định đây là sơ đồ PIX. |
01 | Khóa PIX | biến | CPF (11 chữ số), CNPJ (14 chữ số), email, điện thoại (+55DDPHONE) hoặc EVP (khóa ngẫu nhiên dạng UUID). |
02 | Thông tin bổ sung | biến, ≤72 | Tin nhắn văn bản tự do cho người thanh toán. Hiển thị cho người thanh toán trong ứng dụng ngân hàng của họ. |
25 | URL, PIX động | biến | Chỉ dùng cho PIX động: khi quét, ứng dụng người thanh toán lấy toàn bộ payload từ URL này (số tiền, ngày đáo hạn, hết hạn, giảm giá/phạt). PIX tĩnh bỏ qua hoàn toàn tag 25. |
Các loại khóa PIX
| Loại khóa | Định dạng | Xác thực |
|---|---|---|
| CPF (Mã số thuế cá nhân) | 11 chữ số, không có dấu câu trong payload QR | Tổng kiểm tra Mod-11 trên 2 chữ số cuối. Mặt nạ 123.456.789-09 → thô 12345678909. |
| CNPJ (Mã số thuế doanh nghiệp) | 14 chữ số, không có dấu câu | Hai tổng kiểm tra mod-11. Mặt nạ 12.345.678/0001-95 → thô 12345678000195. |
| Tuân thủ RFC 5321, tối đa 77 ký tự | BACEN chuyển thành chữ thường khi đăng ký; payload QR phải khớp với trường hợp đã đăng ký. | |
| Điện thoại | E.164 với mã quốc gia +55, tối đa 14 ký tự | Định dạng: +55DDNNNNNNNNN trong đó DD là mã vùng 2 chữ số. Không có khoảng trắng hoặc gạch nối. |
| EVP (Khóa ngẫu nhiên) | Định dạng UUID v4, 36 ký tự | Được ngân hàng của người thanh toán tạo phía server khi đăng ký. Được ưa thích cho các thương nhân không muốn để lộ CPF/CNPJ/email/điện thoại. |
PIX tĩnh và PIX động
- PIX tĩnh (Point of Initiation
11). Tất cả được mã hóa trong QR: khóa PIX, tên người bán, thành phố người bán, số tiền cố định tùy chọn, tham chiếu tùy chọn. Ứng dụng người thanh toán đọc trực tiếp và ủy quyền. Tốt nhất cho nhãn dán in, hóa đơn, áp phích cửa sổ. Số tiền có thể bỏ qua (người thanh toán nhập) hoặc cố định (tính phí chính xác). - PIX động (Point of Initiation
12). QR mang URL (sub-tag25). Khi quét, ứng dụng người thanh toán lấy payload JSON được ký JWS từ URL đó, chứa số tiền, ngày đáo hạn, cửa sổ hết hạn và các quy tắc phí trễ/giảm giá tùy chọn. Bắt buộc cho các hóa đơn có ngày hết hạn (boletos híbridos). Cũng dùng cho PIX Cobrança (lập hóa đơn).
Vectơ kiểm tra chuẩn, PIX tĩnh với khóa CPF và số tiền cố định
CPF 12345678909, người bán LOJA TESTE tại SAO PAULO, số tiền cố định R$10.00, không có tham chiếu giao dịch:
00020126360014br.gov.bcb.pix0114123456789095204000053039865406010.005802BR5910LOJA TESTE6009SAO PAULO62070503***6304XXXX| Tag | Giá trị | Ý nghĩa |
|---|---|---|
00 | 01 | Chỉ báo định dạng payload (luôn là 01) |
01 | 11 | Điểm khởi đầu tĩnh |
26 | 36 byte TLV lồng nhau | PIX Merchant Account Information |
├─ 00 | br.gov.bcb.pix | GUI |
├─ 01 | 12345678909 | Khóa CPF (11 chữ số) |
52 | 0000 | MCC, không xác định / cá nhân |
53 | 986 | Mã tiền tệ ISO 4217 cho BRL |
54 | 10.00 | Số tiền giao dịch cố định |
58 | BR | Mã quốc gia |
59 | LOJA TESTE | Tên người bán (tối đa 25 ký tự theo EMVCo) |
60 | SAO PAULO | Thành phố người bán (tối đa 15 ký tự) |
62 | 7 byte lồng nhau | Mẫu dữ liệu bổ sung |
├─ 05 | *** | Nhãn tham chiếu (chỗ giữ chỗ khi không có tham chiếu) |
63 | XXXX | CRC16-CCITT trên tất cả trước đó (tính lại khi mã hóa) |
Những lỗi phổ biến
- Che giấu CPF/CNPJ. Payload QR chỉ dùng các chữ số không che giấu (
12345678909, không phải123.456.789-09). Một số trình tạo mã vô tình để lại dấu chấm và gạch nối, QR kết quả thất bại ở mọi ứng dụng ngân hàng với lỗi "chave PIX inválida." - Bộ ký tự quan trọng. Đặc tả BACEN yêu cầu ISO/IEC 8859-1 (Latin-1) cho tên người bán và thành phố. Ký tự có dấu (
São Paulo) phải được mã hóa bằng Latin-1 trước khi tính độ dài TLV, không phải UTF-8. Mã hóa UTF-8 làm tăng số byte và phá vỡ trường độ dài. - Tính toán CRC. CRC16-CCITT (đa thức
0x1021, init0xFFFF, không có XOR cuối) bao phủ mọi thứ từ tag00đến6304, bao gồm tag+độ dài theo nghĩa đen của chính trường CRC. Lỗi phổ biến: CRC tính trên phạm vi sai, QR phân tích cú pháp đúng trên một số ứng dụng và thất bại trên những ứng dụng khác. - Định dạng số tiền là chuỗi, không phải số. Tag
54là chuỗi:10.00, không phải1000. Cần hai chữ số thập phân. Tối đa hai chữ số thập phân, BRL không có mệnh giá dưới xu. - PIX tĩnh không có tính năng hoàn tiền tích hợp. Sau khi thanh toán, PIX tĩnh là tức thì và cuối cùng. Người bán phải xử lý hoàn tiền ngoài băng tần (PIX ngược từ người bán trả lại cho người thanh toán). Hiển thị điều này rõ ràng trên tài liệu in.
- Gian lận dán nhãn chồng lên. Nhãn dán PIX QR vật lý tại quầy thu ngân đã bị tấn công bằng gian lận chồng lên, kẻ tấn công dán QR của họ lên QR của người bán. Thay nhãn dán QR tĩnh định kỳ, ép plastic và hiển thị khóa PIX dự kiến dưới dạng văn bản thuần túy bên cạnh nhãn dán để người thanh toán có thể xác minh.
- Hạn chế đầu tư/chứng khoán. Comissão de Valores Mobiliários (CVM) cấm PIX cho việc mời gọi đầu tư chưa đăng ký. PIX QR trên các trang đích cho token, sản phẩm "lợi nhuận đảm bảo" hoặc các đề án MLM sẽ kích hoạt hành động thực thi của CVM.
- PIX động yêu cầu endpoint hoạt động. Nếu URL tag
25không hoạt động, thanh toán thất bại khi quét. Sử dụng máy chủ bạn kiểm soát và duy trì hoạt động ít nhất trong suốt vòng đời in của QR.
Khả năng tương thích ứng dụng ngân hàng
Mọi người tham gia PIX được cấp phép (ngân hàng hoặc tổ chức thanh toán) đều hỗ trợ BR Code trong ứng dụng người tiêu dùng của họ. Các triển khai nổi bật:
| Ứng dụng | Tĩnh | Động | Ghi chú |
|---|---|---|---|
| Itaú, Bradesco, Santander, BB, Caixa | Có | Có | 5 ngân hàng hàng đầu. Hỗ trợ PIX đầy đủ bao gồm Cobrança, agendado và devolução. |
| Nubank | Có | Có | Ngân hàng số phổ biến nhất ở Brazil. Giao diện PIX gọn gàng. |
| Inter, C6 Bank, PicPay | Có | Có | Hỗ trợ PIX đầy đủ. |
| Mercado Pago | Có | Có | Tổ chức thanh toán; PIX là một trong nhiều đường thanh toán trong cùng ứng dụng. |
| Camera iOS/Android thông thường | Không | Không | Ứng dụng camera gốc không phân tích BR Code như ý định thanh toán. Người dùng phải mở ứng dụng ngân hàng trước. |
Xem thêm
- /pix-qr-code/, Trình tạo PIX với xác thực CPF/CNPJ và mã hóa BR Code trực tiếp.
- /standards/emvco/, Đặc tả cha EMVCo MPM.
- /standards/upi/, UPI Ấn Độ, sơ đồ dẫn xuất EMVCo khác với tag 26.
- /standards/, Quay lại mục lục tiêu chuẩn.