Tạo mã QR thanh toán nhanh trên client mà không cần kết nối Internet
(blog.javien.dev)Xem thêm: https://vi.news.hada.io/topic?id=10280
- DimiPay là giải pháp thanh toán nhanh bằng QR nội bộ
được sử dụng tại Trường Trung học Truyền thông Kỹ thuật số Hàn Quốc. - Học sinh thường dùng các gói dữ liệu giá rẻ nên nhiều khi không thể kết nối Internet thuận tiện, vì vậy nhóm đã suy nghĩ về một cách thanh toán ngay cả khi không có kết nối Internet.
- Thành viên dẫn dắt dự án thanh toán ngoại tuyến đã ghi lại chi tiết quá trình nghiên cứu trên blog, nên chia sẻ lại tại đây.
Cách tiếp cận kỹ thuật:
- Token thanh toán lấy cảm hứng từ TOTP
- Tạo động khóa cần thiết cho mã hóa bằng cách tận dụng bộ đếm của TOTP và HKDF
- Mã hóa khóa đối xứng bằng XChaCha20-Poly1305
- Kiểm tra tính hợp lệ của mã thanh toán
- Đưa vào Nonce (
uuidv7) để phân biệt token đã được dùng hoặc đã hết hạn - Nếu nonce được tạo ra trước thời điểm thanh toán gần nhất thì từ chối giao dịch
- Mục đích là ngăn chặn tấn công phát lại
- Đưa vào Nonce (
- Áp dụng định dạng TLV(Tag-Length-Value): có thể tuần tự hóa payload linh hoạt mà vẫn gọn nhẹ
3 bình luận
Xem video demo thì chất lượng thật sự đỉnh.
Pay tạo cục bộ... đúng là LG Pay nhỉ hahaha
Hahaha