@@ -298,6 +298,14 @@ int emv_tlv_get_info(
298
298
info -> format = EMV_FORMAT_B ;
299
299
return 0 ;
300
300
301
+ case EMV_TAG_93_SIGNED_STATIC_APPLICATION_DATA :
302
+ info -> tag_name = "Signed Static Application Data" ;
303
+ info -> tag_desc =
304
+ "Digital signature on critical application "
305
+ "parameters for SDA" ;
306
+ info -> format = EMV_FORMAT_B ;
307
+ return 0 ;
308
+
301
309
case EMV_TAG_94_APPLICATION_FILE_LOCATOR :
302
310
info -> tag_name = "Application File Locator (AFL)" ;
303
311
info -> tag_desc =
@@ -406,6 +414,14 @@ int emv_tlv_get_info(
406
414
info -> format = EMV_FORMAT_AN ;
407
415
return emv_language_preference_get_string_list (tlv -> value , tlv -> length , value_str , value_str_len );
408
416
417
+ case EMV_TAG_5F30_SERVICE_CODE :
418
+ info -> tag_name = "Service Code" ;
419
+ info -> tag_desc =
420
+ "Service code as defined in ISO/IEC 7813 for "
421
+ "track 1 and track 2" ;
422
+ info -> format = EMV_FORMAT_N ;
423
+ return emv_tlv_value_get_string (tlv , info -> format , 3 , value_str , value_str_len );
424
+
409
425
case EMV_TAG_5F34_APPLICATION_PAN_SEQUENCE_NUMBER :
410
426
info -> tag_name = "Application Primary Account Number (PAN) Sequence Number" ;
411
427
info -> tag_desc =
@@ -501,6 +517,14 @@ int emv_tlv_get_info(
501
517
info -> format = EMV_FORMAT_B ;
502
518
return emv_amount_get_string (tlv -> value , tlv -> length , value_str , value_str_len );
503
519
520
+ case EMV_TAG_9F05_APPLICATION_DISCRETIONARY_DATA :
521
+ info -> tag_name = "Application Discretionary Data" ;
522
+ info -> tag_desc =
523
+ "Issuer or payment system specified data "
524
+ "relating to the application" ;
525
+ info -> format = EMV_FORMAT_B ;
526
+ return 0 ;
527
+
504
528
case EMV_TAG_9F06_AID :
505
529
info -> tag_name = "Application Identifier (AID) - terminal" ;
506
530
info -> tag_desc =
@@ -544,6 +568,30 @@ int emv_tlv_get_info(
544
568
info -> format = EMV_FORMAT_B ;
545
569
return emv_asrpd_get_string_list (tlv -> value , tlv -> length , value_str , value_str_len );
546
570
571
+ case EMV_TAG_9F0B_CARDHOLDER_NAME_EXTENDED :
572
+ info -> tag_name = "Cardholder Name Extended" ;
573
+ info -> tag_desc =
574
+ "Indicates the whole cardholder name when "
575
+ "greater than 26 characters using the same "
576
+ "coding convention as in ISO/IEC 7813" ;
577
+ info -> format = EMV_FORMAT_ANS ;
578
+ return emv_tlv_value_get_string (tlv , info -> format , 45 , value_str , value_str_len );
579
+
580
+ case EMV_TAG_9F0C_IINE :
581
+ info -> tag_name = "Issuer Identification Number Extended (IINE)" ;
582
+ info -> tag_desc =
583
+ "The number that identifies the major industry "
584
+ "and the card issuer and that forms the first "
585
+ "part of the Primary Account "
586
+ "Number (PAN).\n"
587
+ "While the first 6 digits of the IINE (tag '9F0C') "
588
+ "and IIN (tag '42') are the same and there is no "
589
+ "need to have both data objects on the card, "
590
+ "cards may have both the IIN and IINE data "
591
+ "objects present." ;
592
+ info -> format = EMV_FORMAT_N ;
593
+ return emv_tlv_value_get_string (tlv , info -> format , 8 , value_str , value_str_len );
594
+
547
595
case EMV_TAG_9F0D_ISSUER_ACTION_CODE_DEFAULT :
548
596
info -> tag_name = "Issuer Action Code (IAC) - Default" ;
549
597
info -> tag_desc =
@@ -646,13 +694,38 @@ int emv_tlv_get_info(
646
694
info -> format = EMV_FORMAT_ANS ;
647
695
return emv_tlv_value_get_string (tlv , info -> format , 0 , value_str , value_str_len );
648
696
697
+ case EMV_TAG_9F19_TOKEN_REQUESTOR_ID :
698
+ info -> tag_name = "Token Requestor ID" ;
699
+ info -> tag_desc =
700
+ "Uniquely identifies the pairing of the Token "
701
+ "Requestor with the Token Domain, as defined "
702
+ "in the EMV Payment Tokenisation "
703
+ "Framework" ;
704
+ info -> format = EMV_FORMAT_N ;
705
+ return 0 ;
706
+
707
+ case EMV_TAG_9F20_TRACK2_DISCRETIONARY_DATA :
708
+ info -> tag_name = "Track 2 Discretionary Data" ;
709
+ info -> tag_desc =
710
+ "Discretionary part of track 2 according to ISO/IEC 7813" ;
711
+ info -> format = EMV_FORMAT_CN ;
712
+ return emv_tlv_value_get_string (tlv , info -> format , 0 , value_str , value_str_len );
713
+
649
714
case EMV_TAG_9F21_TRANSACTION_TIME :
650
715
info -> tag_name = "Transaction Time" ;
651
716
info -> tag_desc =
652
717
"Local time that the transaction was authorised" ;
653
718
info -> format = EMV_FORMAT_N ;
654
719
return emv_time_get_string (tlv -> value , tlv -> length , value_str , value_str_len );
655
720
721
+ case EMV_TAG_9F25_LAST_4_DIGITS_OF_PAN :
722
+ info -> tag_name = "Last 4 Digits of PAN" ;
723
+ info -> tag_desc =
724
+ "The last four digits of the PAN, as defined in "
725
+ "the EMV Payment Tokenisation Framework" ;
726
+ info -> format = EMV_FORMAT_N ;
727
+ return emv_tlv_value_get_string (tlv , info -> format , 4 , value_str , value_str_len );
728
+
656
729
case EMV_TAG_9F26_APPLICATION_CRYPTOGRAM :
657
730
info -> tag_name = "Application Cryptogram" ;
658
731
info -> tag_desc =
@@ -746,6 +819,13 @@ int emv_tlv_get_info(
746
819
}
747
820
return emv_pos_entry_mode_get_string (tlv -> value [0 ], value_str , value_str_len );
748
821
822
+ case EMV_TAG_9F3A_AMOUNT_REFERENCE_CURRENCY :
823
+ info -> tag_name = "Amount, Reference Currency" ;
824
+ info -> tag_desc =
825
+ "Authorised amount expressed in the reference currency" ;
826
+ info -> format = EMV_FORMAT_B ;
827
+ return emv_amount_get_string (tlv -> value , tlv -> length , value_str , value_str_len );
828
+
749
829
case EMV_TAG_9F3B_APPLICATION_REFERENCE_CURRENCY :
750
830
info -> tag_name = "Application Reference Currency" ;
751
831
info -> tag_desc =
0 commit comments