master tran error fix

This commit is contained in:
MooN 2026-03-05 09:37:04 +06:30
parent 84311f4dc8
commit b7822a2736
4 changed files with 23 additions and 18 deletions

View File

@ -14,8 +14,8 @@ android {
applicationId "com.utsmm.kbz"
minSdk 24
targetSdk 33
versionCode 21
versionName "2.1"
versionCode 24
versionName "2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@ -49,7 +49,7 @@ android {
buildTypes {
release {
minifyEnabled true
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}

View File

@ -652,6 +652,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
byte[] aid = emvHandler.getTlv(new byte[]{0x4F}, EmvDataSourceEnum.FROM_KERNEL);
LogUtil.d(TAG, "onTransInitBeforeGPO :");
String terminalCapability = SystemParamsOperation.getInstance().getTerminalCapability();
LogUtil.d(TAG,"Terminal capability : " + terminalCapability );
// emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, new byte[]{(byte) 0xE0, (byte) 0x28, (byte) 0xC8});
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, ByteUtil.hexStr2Bytes(terminalCapability));
if (mPayDetail.getCardType() == CardTypeX.NFC.value) {
@ -674,7 +675,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
} else {
//contact terminal capability ; if different card brand(depend on aid) have different terminal capability
if (ByteUtils.byteArray2HexString(aid).toUpperCase().contains("A000000004")) {
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, new byte[]{(byte) 0xE0, (byte) 0x28, (byte) 0xC8});
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, new byte[]{(byte) 0xE0, (byte) 0xF0, (byte) 0xC8});
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x1D}, ByteUtils.hexString2ByteArray("6C00800000000000"));//terminal risk
}
@ -1214,7 +1215,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x1B}, new byte[]{(byte) 0x30});
//EMV MODE :amount >contactless cvm limit, set 60 = online pin and signature , set 20 = signature
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF8});
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF0});
//EMV mode :amount < contactless cvm limit, set 08 = no cvm
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x19}, new byte[]{(byte) 0x08}); //08
@ -1231,7 +1232,8 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x1d}, ByteUtils.hexString2ByteArray("4C00800000000000"));
} else {
//set 9F1D terminal risk management - MasterCard. it should be same with the MTIP configuration for 9F1D
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x1d}, ByteUtils.hexString2ByteArray("6C00800000000000"));
// emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x1d}, ByteUtils.hexString2ByteArray("6C00800000000000"));
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x1d}, ByteUtils.hexString2ByteArray("6C7A800000000000"));
}

View File

@ -7,11 +7,11 @@
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
"targetPercent": "00",
"maxTargetPercent": "00",
"targetPercent": "99",
"maxTargetPercent": "99",
"threshold": "00000040",
"tacDefault": "D84000A800",
"tacOnline": "DC4004F800",
"tacDefault": "F45084800C",
"tacOnline": "F45084800C",
"tacDenial": "0000000000",
"floorLimit": "000000000000",
"cvmLimit": 75000,
@ -32,11 +32,11 @@
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
"targetPercent": "00",
"maxTargetPercent": "00",
"targetPercent": "99",
"maxTargetPercent": "99",
"threshold": "00000040",
"tacDefault": "D84000A800",
"tacOnline": "DC4004F800",
"tacDefault": "F45084800C",
"tacOnline": "F45084800C",
"tacDenial": "0000000000",
"floorLimit": "000000000000",
"cvmLimit": 75000,
@ -61,8 +61,8 @@
"targetPercent": "99",
"maxTargetPercent": "99",
"threshold": "00000040",
"tacDefault": "D84000A800",
"tacOnline": "DC4004F800",
"tacDefault": "F45084800C",
"tacOnline": "F45084800C",
"tacDenial": "0000000000",
"floorLimit": "000000000000",
"cvmLimit": 75000,
@ -86,8 +86,8 @@
"targetPercent": "99",
"maxTargetPercent": "99",
"threshold": "00000040",
"tacDefault": "D84000A800",
"tacOnline": "DC4004F800",
"tacDefault": "F45084800C",
"tacOnline": "F45084800C",
"tacDenial": "0000000000",
"floorLimit": "000000000000",
"cvmLimit": 75000,

View File

@ -455,7 +455,10 @@ public class TransactionsOperation {
// }
//
// }
if(equals) {
emvOnlineResult.setRejCode("00");
emvOnlineResult.setRecvField55(null);
importOnlineProcessStatus(SdkResult.Success,emvOnlineResult);
} else {
importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult);