These are the filters, in priority order:
1- GetCardInput.AcqIndexList:
If application send this list, then the library must search just for these index in the table.
For example:
GetCardInput.AcqIndexList = ('1701', '1702', '1703').
In this case, if the card inserted/swiped does not match with these three rows, library must return GetCardOutput.ReturnCode = CARDAPPNAV.
IF GetCardInput.AcqIndexList == null, then try to filter by CardAppType:
2- GetCardInput.CardAppType:
If application sends GetCardInput.CardAppType == 1, then the library must filter all the table by app type and return just rows with app type == 1.
If application sends GetCardInput.CardAppType == 2, then the library must filter all the table by app type and return just rows with app type == 2.
If the card inserted/swiped does not match, library must return GetCardOutput.ReturnCode = CARDAPPNAV.
If application sends GetCardInput.CardAppType == 99, then the library use the hole table rows.
IF GetCardInput.CardAppType == 0, then try to filter by AcquirerId:
3- GetCardInput.AcquirerId:
In this case, the library must filter all the table by acquirer id;
4- If application sends GetCardInput.CardAppType != 0 and Acquirer Id != 0, then library must use the both values to filter the table.
1.not exist. acquirerId=1, cardAppType=1,值存在,但是内容不对。
api version: 15.6.3 - GetCardInput{acquirerId=1, cardAppType=1, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 14:40:11 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=CARDAPPNAV, cardAppType=0, acqIndexList='null', card=null, EMVData='null', devType=0, iccStat=0}
2.exist acquirerId=1, cardAppType=1,值存在,内容对。
GetCardInput{acquirerId=17, cardAppType=1, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:29:55 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
onGetCardCompleted: GetCardOutput{returnCode=OK, cardAppType=1, acqIndexList='1705', card=Card{type=ICC, track1='null', track2='324761730000000086=311220112412012', track3='null', pan='4761730000000086', panSeqNo=1, cardHolderName='L3TEST/CARD0008', label='Visa Credit', serviceCode='0201', issuerCountryCode=840, cardExpirationDate=Tue Jul 12 00:00:00 GMT+08:00 2033}, EMVData='9F0607A00000000310108407A0000000031010950500000000005F200F4C33544553542F4341524430303038', devType=0, iccStat=0}
3.GetCardInput.AcqIndexList: ('1701', '1702', '1703').
api version: 15.6.3 - GetCardInput{acquirerId=0, cardAppType=1, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:45:58 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=[1701, 1702, 1703], timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=CARDAPPNAV, cardAppType=0, acqIndexList='null', card=null, EMVData='null', devType=0, iccStat=0}
4.GetCardInput.AcqIndexList: ('1701', '1702', '1705').
api version: 15.6.3 - GetCardInput{acquirerId=0, cardAppType=1, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:43:24 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=[1701, 1702, 1705], timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=OK, cardAppType=1, acqIndexList='1705', card=Card{type=ICC, track1='null', track2='324761730000000086=311220112412012', track3='null', pan='4761730000000086', panSeqNo=1, cardHolderName='L3TEST/CARD0008', label='Visa Credit', serviceCode='0201', issuerCountryCode=840, cardExpirationDate=Tue Jul 12 00:00:00 GMT+08:00 2033}, EMVData='9F0607A00000000310108407A0000000031010950500000000005F200F4C33544553542F4341524430303038', devType=0, iccStat=0}
5.CardType=1
api version: 15.6.3 - GetCardInput{acquirerId=0, cardAppType=1, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:48:28 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=OK, cardAppType=1, acqIndexList='1705', card=Card{type=ICC, track1='null', track2='324761730000000086=311220112412012', track3='null', pan='4761730000000086', panSeqNo=1, cardHolderName='L3TEST/CARD0008', label='Visa Credit', serviceCode='0201', issuerCountryCode=840, cardExpirationDate=Tue Jul 12 00:00:00 GMT+08:00 2033}, EMVData='9F0607A00000000310108407A0000000031010950500000000005F200F4C33544553542F4341524430303038', devType=0, iccStat=0}
6.CardType=2
GetCardInput{acquirerId=0, cardAppType=2, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:50:43 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=CARDAPPNAV, cardAppType=0, acqIndexList='null', card=null, EMVData='null', devType=0, iccStat=0}
7 CardType=99
api version: 15.6.3 - GetCardInput{acquirerId=0, cardAppType=99, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:52:18 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
onGetCardCompleted: GetCardOutput{returnCode=OK, cardAppType=1, acqIndexList='1705', card=Card{type=ICC, track1='null', track2='324761730000000086=311220112412012', track3='null', pan='4761730000000086', panSeqNo=1, cardHolderName='L3TEST/CARD0008', label='Visa Credit', serviceCode='0201', issuerCountryCode=840, cardExpirationDate=Tue Jul 12 00:00:00 GMT+08:00 2033}, EMVData='9F0607A00000000310108407A0000000031010950500000000005F200F4C33544553542F4341524430303038', devType=0, iccStat=0}
8.acquirerId=17 CardType=0
GetCardInput{acquirerId=17, cardAppType=0, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:54:20 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=OK, cardAppType=1, acqIndexList='1705', card=Card{type=ICC, track1='null', track2='324761730000000086=311220112412012', track3='null', pan='4761730000000086', panSeqNo=1, cardHolderName='L3TEST/CARD0008', label='Visa Credit', serviceCode='0201', issuerCountryCode=840, cardExpirationDate=Tue Jul 12 00:00:00 GMT+08:00 2033}, EMVData='9F0607A00000000310108407A0000000031010950500000000005F200F4C33544553542F4341524430303038', devType=0, iccStat=0}
9.acquirerId=2 CardType=0
api version: 15.6.3 - GetCardInput{acquirerId=2, cardAppType=0, transactionAmount=1, cashbackAmount=0, transactionDate=Thu Feb 01 15:56:24 GMT+08:00 2024, contactlessEnabled=false, acqIndexList=null, timeout=10, listTagsEMV=[9F06, 84, 95, 5F20, 9F1D], transactionType='null', transactionCurrency=0, panMask=0} [Caller: getCard]
GetCardOutput{returnCode=CARDAPPNAV, cardAppType=0, acqIndexList='null', card=null, EMVData='null', devType=0, iccStat=0}