How to check the CRC of an EMV payment QR code
To check the CRC of a merchant-presented EMV QR code, copy the raw payload and keep every byte through the final CRC field’s ID and length, 6304. Leave off the four checksum characters. Compute the 16-bit CRC with polynomial 0x1021 and starting value 0xFFFF, then compare the four uppercase hex digits with the encoded value.

Copy the original test payload
Use a payload you are authorized to inspect. In EMV QR Reader, use the raw-content copy option on the inspection screen. Work from a local copy so you can preserve the original order, spaces and capitalization.
The reader shows CRC-related information and parser results. Use the copied bytes for a separate calculation even if you see a CRC badge. The CRC field belongs at the end of an EMVCo merchant-presented payload.
Include the CRC header in the input
Look at the final field. In 6304FD79, 63 identifies the CRC, 04 says the value is four characters long, and FD79 is the expected result. Include 6304 in the input to the calculation.
Find the field at the end of the payload by following its structure. Searching for the first occurrence of 6304 can pick up those characters inside another value. Keep the exact text from the start through the final CRC length.
Reproduce a checksum with a synthetic example
Use 0002015907TEST QR6304FD79 as a checksum-only example. It has a format indicator, a fictional name and a CRC field. The string is a partial fixture for arithmetic only. It lacks the account fields needed for a payment payload.
In Python, import binascii and call binascii.crc_hqx(b"0002015907TEST QR6304", 0xFFFF). Format the result with format(result, "04X"). This exact ASCII input gives FD79. The space in TEST QR is part of the input.
Change only the R in TEST QR to S and recompute. The result becomes 5728. That gives you a deliberate mismatch to compare with the unchanged encoded FD79.
Investigate a mismatch before changing the payload
Check whether you included 6304, accidentally appended a line break, or copied the checksum value into the calculation. Compare the working text with the original copy. Record the input boundary and both results so another developer can reproduce the check.
Questions
Do I include the four checksum characters?
Keep the CRC ID and length. Omit the four characters that store its value.
What does a matching CRC show?
It shows that the recomputed checksum matches the encoded value. Merchant identity and transaction outcome require separate verification.