import base64 import io import json import qrcode def build_qr_payload(qr_token: str) -> str: return json.dumps({"v": 1, "token": qr_token}, separators=(",", ":")) def qr_png_base64(data: str) -> str: image = qrcode.make(data, box_size=8, border=2) buffer = io.BytesIO() image.save(buffer, format="PNG") return base64.b64encode(buffer.getvalue()).decode("ascii")