diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java index ba2d0f2..31ea53d 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java @@ -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) { @@ -1214,11 +1215,11 @@ 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}); //F8 //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 - emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x25}, ByteUtils.hexString2ByteArray("000999999999")); + emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x25}, ByteUtils.hexString2ByteArray("999999999999")); if (ByteUtils.byteArray2HexString(aid).toUpperCase().contains("A0000000043060")) { Log.d("nexgo", "======maestro===== "); diff --git a/baselib/src/main/res/raw/paypass_config.json b/baselib/src/main/res/raw/paypass_config.json index 09ef9aa..a628b31 100644 --- a/baselib/src/main/res/raw/paypass_config.json +++ b/baselib/src/main/res/raw/paypass_config.json @@ -7,8 +7,8 @@ "emvDDOL": "9F3704", "emvTDOL": "9F3704", "partialAidSelection": false, - "targetPercent": "00", - "maxTargetPercent": "00", + "targetPercent": "99", + "maxTargetPercent": "99", "threshold": "00000040", "tacDefault": "D84000A800", "tacOnline": "DC4004F800", @@ -32,8 +32,8 @@ "emvDDOL": "9F3704", "emvTDOL": "9F3704", "partialAidSelection": false, - "targetPercent": "00", - "maxTargetPercent": "00", + "targetPercent": "99", + "maxTargetPercent": "99", "threshold": "00000040", "tacDefault": "D84000A800", "tacOnline": "DC4004F800", diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java index 6ea2400..9951dd2 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java @@ -434,6 +434,7 @@ public class TransactionsOperation { } else { boolean equals = TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED); EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity(); + emvOnlineResult.setRejCode("00"); // MsgField field38,field39,field55; // if (resp != null) { // field38 = resp.get("F038"); @@ -456,6 +457,8 @@ public class TransactionsOperation { // // } if(equals) { + emvOnlineResult.setRejCode("00"); + emvOnlineResult.setRecvField55(null); importOnlineProcessStatus(SdkResult.Success,emvOnlineResult); } else { importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult);