Common EMV QR Errors and How to Fix Them
Troubleshoot CRC failures, wrong currency encoding, Point of Initiation conflicts, missing merchant accounts, and TLV length mismatches in EMVCo QR payloads.
CRC mismatch
Symptom: Decoder reports CRC fail. Cause: payload edited after generation, truncated copy/paste, or wrong CRC algorithm. Fix: regenerate from source fields and recompute CRC-16/CCITT-FALSE over the payload through Tag 63 length.
Alphabetic currency in Tag 53
Symptom: wallets reject the QR or currency looks wrong in parsers. Cause: encoding INR instead of 356. Fix: map to ISO 4217 numeric codes before building TLV.
POI conflicts with amount
Symptom: static POI 11 with Tag 54 amount present. Fix: set POI to 12 for amount-bearing payloads, or remove amount for reusable static QR.
Missing or invalid merchant account template
Symptom: scan succeeds structurally but payment cannot route. Cause: empty Tags 26–51 or wrong scheme GUID. Fix: use acquirer-provided templates and verify nested sub-tags.
Length mismatches
Symptom: parser stops early or marks RFU/unknown fragments. Cause: length bytes that do not match value size. Fix: rebuild with a TLV encoder instead of hand-editing strings.
