The terminal can use visual and acoustic signals (beeping and flashing) to indicate the operating status, e.g. a battery warning. These are status signals and are usually displayed as soon as a key is presented to the reader.
However, if a key is rejected, a terminal can also output an error code to indicate why it is being rejected.
In the following link you will find a detailed list of all error codes: