Secure QR URL Format

The Secure QR Payload feature lets merchants embed a cryptographic signature in their SnapScan QR URL so that SnapScan can verify the amount and id parameters have not been tampered with between generation and scan.

This feature is enabled on request. Contact SnapScan merchant support to have it activated on your account. A unique validation key will be provided to you — treat it as a secret and never expose it in client-side code.


QR URL Format

ParameterRequiredDescription
snapcodeYesYour SnapScan snap code (provided by SnapScan)
idYesYour internal order / reference identifier
amountYesPayment amount in cents (e.g. 10050 for R100.50)
signatureYesHMAC-SHA256 signature — see below

Note: The presence of the signature parameter automatically enables strict (fixed-amount) payment mode — the customer cannot modify the amount.

Adding extra parameters

You can add extra parameters to the payment URL. These details will be passed back under the extra attribute in payments, but they are not covered by the signature (only amount and id are validated).

https://pos.snapscan.io/qr/shopalot?customValue=123