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}"