VietQR Core SDK là giải pháp nền tảng thanh toán chuẩn quốc gia (NAPAS 247 & EMVCo QR) và SaaS/PaaS độc lập toàn diện. Toàn bộ kiến trúc được thiết kế với nguyên tắc:
img.vietqr.io hay cdn.vietqr.io). Toàn bộ tài nguyên logo ngân hàng, thương hiệu, font chữ và engine sinh mã đều được self-host 100% tại local máy chủ của bạn./image/{bin}-{acc}-{template}.png) và trang chuyển khoản Deeplink Hub (/qr/pay) đều tự động sinh ra theo tên miền riêng do bạn cấu hình (ví dụ: https://qr.yourdomain.com).x86, x64, ARMv7, ARM64.+-------------------------------------------------------------------------------+
| KHÁCH HÀNG / CLIENTS |
| +--------------------+ +--------------------+ +-------------------------+ |
| | Web Browser / Ecom | | iOS / Android Apps | | ERP / POS / Backend API | |
| +---------+----------+ +---------+----------+ +------------+------------+ |
+------------|-----------------------|--------------------------|---------------+
| | |
v v v
+-------------------------------------------------------------------------------+
| REVERSE PROXY & SSL (NGINX / CADDY / CLOUDFLARE) |
| https://qr.yourdomain.com (Let's Encrypt TLS) |
+------------------------------------+------------------------------------------+
|
v
+-------------------------------------------------------------------------------+
| VIETQR GATEWAY ENGINE (RUST SERVICE) |
| |
| +------------------------+ +----------------------+ +-------------------+ |
| | QuickLink Image API | | Web Deeplink Hub | | REST API | |
| | /image/{slug}.png | | /qr/pay (Mobile) | | /api/v1/generate | |
| +-----------+------------+ +----------+-----------+ +---------+---------+ |
| | | | |
| v v v |
| +-------------------------------------------------------------------------+ |
| | CORE MODULES | |
| | - EMVCo TLV Generator & Parser (CRC16-CCITT False: 0x1021) | |
| | - High Performance Canvas Renderer (compact, compact2, standee, sepay) | |
| | - Bank Catalog & Local Assets Registry (62+ Ngân hàng Việt Nam) | |
| | - Deeplink Registry (35+ Ứng dụng ngân hàng qua App Scheme) | |
| +-------------------------------------------------------------------------+ |
| | |
| v |
| +-------------------------------------------------------------------------+ |
| | LOCAL ASSETS & STORAGE | |
| | assets/banks/*.png | assets/brand/*.png | assets/fonts/Roboto-Bold.ttf | |
| +-------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------+
^
| Tích hợp SDK độc lập hoặc gọi Gateway
+------------------------------------+------------------------------------------+
| BỘ THƯ VIỆN SDK ĐA NGÔN NGỮ |
| +--------+ +----------+ +------+ +------+ +---------+ +-----+ +------+ |
| | C (C99)| | C++(C++17| | Rust | | Go | | Node/TS | | PHP | | Java | |
| +--------+ +----------+ +------+ +------+ +---------+ +-----+ +------+ |
| +--------+ +----------+ |
| | Python | | .NET C# | |
| +--------+ +----------+ |
+-------------------------------------------------------------------------------+
Mã VietQR tuân thủ chuẩn EMVCo QR Code Specification for Payment Systems (Merchant-Presented QR):
"01" (Version 1.0)."11": Static QR (Dùng cho quầy cố định, không fix số tiền hoặc khách tự nhập)."12": Dynamic QR (Dùng cho từng đơn hàng với số tiền và nội dung cụ thể).00 (Globally Unique Identifier): "A000000727" (Định danh hệ thống NAPAS).01 (Payment Network Specific):
00: Mã BIN 6 số của ngân hàng (Ví dụ: 970436 cho Vietcombank).01: Số tài khoản thụ hưởng.02 (Service Code):
"QRIBFTTA": Chuyển tiền nhanh đến Tài khoản (Account)."QRIBFTTC": Chuyển tiền nhanh đến Thẻ (Card)."704" (Mã tiền tệ VND theo ISO 4217)."100000")."VN".08 (Purpose of Transaction): Nội dung chuyển tiền (Tối đa 50 ký tự, tự động bỏ dấu tiếng Việt để tương thích 100% app ngân hàng).Polynomial: 0x1021, Init: 0xFFFF, không đảo bit).Toàn bộ hệ thống không gọi bất kỳ liên kết ngoại vi nào:
assets/banks/ lưu trữ icon PNG trong suốt chất lượng cao của hơn 60 ngân hàng.assets/banks/970436.png) và Mã viết tắt (assets/banks/VCB.png)./assets/banks/VCB.png hoặc /image/VCB-1234567890-compact2.png, server tự động mapping và render trực tiếp từ bộ nhớ đệm (Cache) trên local server.