Secure QR Payload (Python)

An example of generating a Secure QR Payload signature and building the QR URL in Python (server-side only — keep the validation key in a secure config / environment variable).

import hmac
import hashlib

def generate_signature(key: str, amount: int, id: str) -> str:
    message = f"{key}||{int(amount)}||{id}"
    return hmac.new(key.encode("utf-8"), message.encode("utf-8"), hashlib.sha256).hexdigest()

key       = "my-validation-key"
id        = "ORDER-001"
amount    = 10050
snapcode  = "mymerchant"

signature = generate_signature(key, amount, id)
qr_url    = f"https://pos.snapscan.io/qr/{snapcode}?id={id}&amount={amount}&signature={signature}"