/
What are all the possible EMV "result codes"?

What are all the possible EMV "result codes"?

All ID TECH EMV readers return a two-byte result code during Start Transaction, Authenticate Transaction, and/or Complete Transaction. Know what these results mean.

The result code is two bytes long. The bottom two bits of the first byte are flags. If the zero bit is set, it means there was "advice." If the 1 bit was set, it means there was a "reversal." E.g.: 0203 means there was a reversal (02) and the result was 03 (declined).

In newer products (e.g. VP3300, but also Augusta in Quick Chip Mode), the two-byte result code will appear as the value of tag DFEE25. The possible values are as follows:

enum EMV_RESULT_CODE
    {
        EMV_RESULT_CODE_APPROVED_OFFLINE = 0,
        EMV_RESULT_CODE_DECLINED_OFFLINE = 1,
        EMV_RESULT_CODE_APPROVED = 2,
        EMV_RESULT_CODE_DECLINED = 3,
        EMV_RESULT_CODE_GO_ONLINE = 4,
        EMV_RESULT_CODE_CALL_YOUR_BANK = 5,
        EMV_RESULT_CODE_NOT_ACCEPTED = 6,
        EMV_RESULT_CODE_FALLBACK_TO_MSR = 7,
        EMV_RESULT_CODE_TIMEOUT = 8,
        EMV_RESULT_CODE_GO_ONLINE_CTLS = 9,
        EMV_RESULT_CODE_AUTHENTICATE_TRANSACTION    = 0x0010,
        EMV_RESULT_CODE_TRANSACTION_CANCELED        = 0x0012,
        EMV_RESULT_CODE_SWIPE_NON_ICC = 0x11,
        EMV_RESULT_CODE_CTLS_TWO_CARDS = 0x7A,
        EMV_RESULT_CODE_CTLS_TERMINATE = 0x7E,
        EMV_RESULT_CODE_CTLS_TERMINATE_TRY_ANOTHER = 0x7D,
        EMV_RESULT_CODE_UNABLE_TO_REACH_HOST = 0xFF,
        EMV_RESULT_CODE_FILE_ARG_INVALID = 0x1001,
        EMV_RESULT_CODE_FILE_OPEN_FAILED = 0x1002,
        EMV_RESULT_CODE_FILE_OPERATION_FAILED = 0x1003,
        EMV_RESULT_CODE_MEMORY_NOT_ENOUGH = 0x2001,
        EMV_RESULT_CODE_SMARTCARD_OK = 0x3001,
        EMV_RESULT_CODE_SMARTCARD_FAIL = 0x3002,
        EMV_RESULT_CODE_SMARTCARD_INIT_FAILED = 0x3003,
        EMV_RESULT_CODE_FALLBACK_SITUATION = 0x3004,
        EMV_RESULT_CODE_SMARTCARD_ABSENT = 0x3005,
        EMV_RESULT_CODE_SMARTCARD_TIMEOUT = 0x3006,
        EMV_RESULT_CODE_MSR_CARD_ERROR = 0x3007,
        EMV_RESULT_CODE_PARSING_TAGS_FAILED = 0x5001,
        EMV_RESULT_CODE_CARD_DATA_ELEMENT_DUPLICATE = 0x5002,
        EMV_RESULT_CODE_DATA_FORMAT_INCORRECT = 0x5003,
        EMV_RESULT_CODE_APP_NO_TERM = 0x5004,
        EMV_RESULT_CODE_APP_NO_MATCHING = 0x5005,
        EMV_RESULT_CODE_MANDATORY_OBJECT_MISSING = 0x5006,
        EMV_RESULT_CODE_APP_SELECTION_RETRY = 0x5007,
        EMV_RESULT_CODE_AMOUNT_ERROR_GET = 0x5008,
        EMV_RESULT_CODE_CARD_REJECTED = 0x5009,
        EMV_RESULT_CODE_AIP_NOT_RECEIVED = 0x5010,
        EMV_RESULT_CODE_AFL_NOT_RECEIVED = 0x5011,
        EMV_RESULT_CODE_AFL_LEN_OUT_OF_RANGE = 0x5012,
        EMV_RESULT_CODE_SFI_OUT_OF_RANGE = 0x5013,
        EMV_RESULT_CODE_AFL_INCORRECT = 0x5014,
        EMV_RESULT_CODE_EXP_DATE_INCORRECT = 0x5015,
        EMV_RESULT_CODE_EFF_DATE_INCORRECT = 0x5016,
        EMV_RESULT_CODE_ISS_COD_TBL_OUT_OF_RANGE = 0x5017,
        EMV_RESULT_CODE_CRYPTOGRAM_TYPE_INCORRECT = 0x5018,
        EMV_RESULT_CODE_PSE_BY_CARD_NOT_SUPPORTED = 0x5019,
        EMV_RESULT_CODE_USER_LANGUAGE_SELECTED = 0x5020,
        EMV_RESULT_CODE_SERVICE_NOT_ALLOWED = 0x5021,
        EMV_RESULT_CODE_NO_TAG_FOUND = 0x5022,
        EMV_RESULT_CODE_CARD_BLOCKED = 0x5023,
        EMV_RESULT_CODE_LEN_INCORRECT = 0x5024,
        EMV_RESULT_CODE_CARD_COM_ERROR = 0x5025,
        EMV_RESULT_CODE_TSC_NOT_INCREASED = 0x5026,
        EMV_RESULT_CODE_HASH_INCORRECT = 0x5027,
        EMV_RESULT_CODE_ARC_NOT_PRESENCED = 0x5028,
        EMV_RESULT_CODE_ARC_INVALID = 0x5029,
        EMV_RESULT_CODE_COMM_NO_ONLINE = 0x5030,
        EMV_RESULT_CODE_TRAN_TYPE_INCORRECT = 0x5031,
        EMV_RESULT_CODE_APP_NO_SUPPORT = 0x5032,
        EMV_RESULT_CODE_APP_NOT_SELECT = 0x5033,
        EMV_RESULT_CODE_LANG_NOT_SELECT = 0x5034,
        EMV_RESULT_CODE_TERM_DATA_NOT_PRESENCED = 0x5035,
        EMV_RESULT_CODE_CVM_TYPE_UNKNOWN = 0x6001,
        EMV_RESULT_CODE_CVM_AIP_NOT_SUPPORTED = 0x6002,
        EMV_RESULT_CODE_CVM_TAG_8E_MISSING = 0x6003,
        EMV_RESULT_CODE_CVM_TAG_8E_FORMAT_ERROR = 0x6004,
        EMV_RESULT_CODE_CVM_CODE_IS_NOT_SUPPORTED = 0x6005,
        EMV_RESULT_CODE_CVM_COND_CODE_IS_NOT_SUPPORTED = 0x6006,
        EMV_RESULT_CODE_CVM_NO_MORE = 0x6007,
        EMV_RESULT_CODE_PIN_BYPASSED_BEFORE = 0x6008,
        EMV_RESULT_CODE_UNKONWN = 0xffff,
    };

Related content

ID TECH SDKs (Software Development Kit) - Home
ID TECH SDKs (Software Development Kit) - Home
Read with this
EMV transaction, how was the card presented (Swiped, Tapped or Dipped...MSD, Fallback)?
EMV transaction, how was the card presented (Swiped, Tapped or Dipped...MSD, Fallback)?
More like this
Cryptogram and EMV Transaction Flow
Cryptogram and EMV Transaction Flow
More like this
How to handle Issuer Scripts un an EMV transaction?
How to handle Issuer Scripts un an EMV transaction?
More like this
Service Code and L2 common Kernel
Service Code and L2 common Kernel
More like this
Why don't I see 5F24 (Application Expiration Date) in the reader's response during EMV transaction?
Why don't I see 5F24 (Application Expiration Date) in the reader's response during EMV transaction?
More like this