UNPKG

emv

Version:

EMV / Chip and PIN CLI and library for PC/SC card readers

140 lines 5.67 kB
import type { CardResponse } from './types.js'; /** * Format GPO response (Response Message Template Format 1 or 2) * Decodes AIP and AFL */ export declare function formatGpoResponse(buffer: Buffer): string; /** * EMV tag dictionary mapping hex codes to human-readable names. * Based on EMV Book 3 specification. */ export declare const EMV_TAGS: { readonly '4F': "APP_IDENTIFIER"; readonly '50': "APP_LABEL"; readonly '57': "TRACK_2"; readonly '5A': "PAN"; readonly '5F20': "CARDHOLDER_NAME"; readonly '5F24': "APP_EXPIRY"; readonly '5F25': "APP_EFFECTIVE"; readonly '5F28': "ISSUER_COUNTRY_CODE"; readonly '5F2A': "TRANSACTION_CURRENCY_CODE"; readonly '5F2D': "LANGUAGE_PREFERENCE"; readonly '5F30': "SERVICE_CODE"; readonly '5F34': "PAN_SEQUENCE_NUMBER"; readonly '5F36': "TRANSACTION_CURRENCY_EXPONENT"; readonly '5F50': "ISSUER_URL"; readonly '61': "APPLICATION_TEMPLATE"; readonly '6F': "FILE_CONTROL_INFO"; readonly '70': "EMV_APP_ELEMENTARY_FILE"; readonly '71': "ISSUER_SCRIPT_TEMPLATE_1"; readonly '72': "ISSUER_SCRIPT_TEMPLATE_2"; readonly '77': "RESPONSE_TEMPLATE_2"; readonly '80': "RESPONSE_TEMPLATE_1"; readonly '81': "AUTH_AMOUNT_BIN"; readonly '82': "APP_INTERCHANGE_PROFILE"; readonly '83': "COMMAND_TEMPLATE"; readonly '84': "DEDICATED_FILE_NAME"; readonly '86': "ISSUER_SCRIPT_CMD"; readonly '87': "APP_PRIORITY"; readonly '88': "SFI"; readonly '89': "AUTH_IDENTIFICATION_RESPONSE"; readonly '8A': "AUTH_RESPONSE_CODE"; readonly '8C': "CDOL_1"; readonly '8D': "CDOL_2"; readonly '8E': "CVM_LIST"; readonly '8F': "CA_PK_INDEX"; readonly '90': "ISSUER_PK_CERTIFICATE"; readonly '91': "ISSUER_AUTH_DATA"; readonly '92': "ISSUER_PK_REMAINDER"; readonly '93': "SIGNED_STATIC_APPLICATION_DATA"; readonly '94': "APP_FILE_LOCATOR"; readonly '95': "TERMINAL_VERIFICATION_RESULTS"; readonly '98': "TC_HASH_VALUE"; readonly '99': "TRANSACTION_PIN_DATA"; readonly '9A': "TRANSACTION_DATE"; readonly '9B': "TRANSACTION_STATUS_INFORMATION"; readonly '9C': "TRANSACTION_TYPE"; readonly '9D': "DIRECTORY_DEFINITION_FILE"; readonly '9F01': "ACQUIRER_ID"; readonly '9F02': "AUTH_AMOUNT_NUM"; readonly '9F03': "OTHER_AMOUNT_NUM"; readonly '9F04': "OTHER_AMOUNT_BIN"; readonly '9F05': "APP_DISCRETIONARY_DATA"; readonly '9F06': "AID_TERMINAL"; readonly '9F07': "APP_USAGE_CONTROL"; readonly '9F08': "APP_VERSION_NUMBER"; readonly '9F09': "APP_VERSION_NUMBER_TERMINAL"; readonly '9F0D': "IAC_DEFAULT"; readonly '9F0E': "IAC_DENIAL"; readonly '9F0F': "IAC_ONLINE"; readonly '9F10': "ISSUER_APPLICATION_DATA"; readonly '9F11': "ISSUER_CODE_TABLE_IDX"; readonly '9F12': "APP_PREFERRED_NAME"; readonly '9F13': "LAST_ONLINE_ATC"; readonly '9F14': "LOWER_OFFLINE_LIMIT"; readonly '9F15': "MERCHANT_CATEGORY_CODE"; readonly '9F16': "MERCHANT_ID"; readonly '9F17': "PIN_TRY_COUNT"; readonly '9F18': "ISSUER_SCRIPT_ID"; readonly '9F1A': "TERMINAL_COUNTRY_CODE"; readonly '9F1B': "TERMINAL_FLOOR_LIMIT"; readonly '9F1C': "TERMINAL_ID"; readonly '9F1D': "TRM_DATA"; readonly '9F1E': "IFD_SERIAL_NUM"; readonly '9F1F': "TRACK_1_DD"; readonly '9F21': "TRANSACTION_TIME"; readonly '9F22': "CA_PK_INDEX_TERM"; readonly '9F23': "UPPER_OFFLINE_LIMIT"; readonly '9F26': "APPLICATION_CRYPTOGRAM"; readonly '9F27': "CRYPTOGRAM_INFORMATION_DATA"; readonly '9F2D': "ICC_PIN_ENCIPHERMENT_PK_CERT"; readonly '9F32': "ISSUER_PK_EXPONENT"; readonly '9F33': "TERMINAL_CAPABILITIES"; readonly '9F34': "CVM_RESULTS"; readonly '9F35': "APP_TERMINAL_TYPE"; readonly '9F36': "APP_TRANSACTION_COUNTER"; readonly '9F37': "APP_UNPREDICTABLE_NUMBER"; readonly '9F38': "ICC_PDOL"; readonly '9F39': "POS_ENTRY_MODE"; readonly '9F3A': "AMOUNT_REF_CURRENCY"; readonly '9F3B': "APP_REF_CURRENCY"; readonly '9F3C': "TRANSACTION_REF_CURRENCY_CODE"; readonly '9F3D': "TRANSACTION_REF_CURRENCY_EXPONENT"; readonly '9F40': "ADDITIONAL_TERMINAL_CAPABILITIES"; readonly '9F41': "TRANSACTION_SEQUENCE_COUNTER"; readonly '9F42': "APP_CURRENCY_CODE"; readonly '9F43': "APP_REF_CURRENCY_EXPONENT"; readonly '9F44': "APP_CURRENCY_EXPONENT"; readonly '9F45': "DATA_AUTH_CODE"; readonly '9F46': "ICC_PK_CERTIFICATE"; readonly '9F47': "ICC_PK_EXPONENT"; readonly '9F48': "ICC_PK_REMAINDER"; readonly '9F49': "DDOL"; readonly '9F4A': "STATIC_DATA_AUTHENTICATION_TAG_LIST"; readonly '9F4C': "ICC_DYNAMIC_NUMBER"; readonly A5: "FCI_TEMPLATE"; readonly BF0C: "FCI_ISSUER_DD"; }; /** * Get the human-readable name for an EMV tag */ export declare function getTagName(tag: number): string; /** * Format a card response as a human-readable string */ export declare function format(response: CardResponse): string; /** * Find a specific tag in a Buffer containing TLV data * @param buffer - The buffer to search * @param tag - The tag number to find (e.g., 0x4F for APP_IDENTIFIER) * @returns The tag value as a Buffer, or undefined if not found */ export declare function findTagInBuffer(buffer: Buffer, tag: number): Buffer | undefined; /** * Find a specific tag in a card response * @param response - The card response to search * @param tag - The tag number to find (e.g., 0x4F for APP_IDENTIFIER) * @returns The tag value as a Buffer, or undefined if not found */ export declare function findTag(response: CardResponse, tag: number): Buffer | undefined; //# sourceMappingURL=emv-tags.d.ts.map