From 8173e0fcfe91280f1a40f9088c3b8d67100dfb96 Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Thu, 12 Mar 2026 14:33:14 +0630 Subject: [PATCH] mag fix --- .../kbz/ui/core_ui/CardWaitingFragment.java | 2 +- .../utsmyanmar/baselib/TerminalKeyUtil.java | 3 +- .../baselib/viewModel/EmvBaseViewModel.java | 10 +++- .../src/main/res/raw/quickpass_config.json | 55 ++++++++++++++++++- 4 files changed, 63 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java index d2eb012..c8a9668 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/CardWaitingFragment.java @@ -290,7 +290,7 @@ public class CardWaitingFragment extends DataBindingFragment implements DataBind } else if (isFallback && cardType == CardTypeX.MAG) { /* do fallback transactions */ - sharedViewModel.isEmv.setValue(false); + sharedViewModel.isEmv.postValue(false); cardReadViewModel.setCardTransactionType(CardTransactionType.FALLBACK); } else if (cardType == CardTypeX.IC || cardType == CardTypeX.NFC) { diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/TerminalKeyUtil.java b/baselib/src/main/java/com/utsmyanmar/baselib/TerminalKeyUtil.java index 7826b42..51decac 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/TerminalKeyUtil.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/TerminalKeyUtil.java @@ -22,7 +22,8 @@ public final class TerminalKeyUtil { public static final String TAG = TerminalKeyUtil.class.getSimpleName(); - private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase()); // KBZ UAT +// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase()); // KBZ UAT + private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase()); // private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("e121249099a677e8b7d4f6a9d49fe8d1".toUpperCase()); // MPU private static final byte[] work_key_data = new byte[16]; 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 3055774..5679263 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/viewModel/EmvBaseViewModel.java @@ -260,7 +260,8 @@ public abstract class EmvBaseViewModel extends BaseViewModel { unionPayTransDataEntity.setSupportCDCVM(true); //if support QPS, please enable below lines unionPayTransDataEntity.setSupportContactlessQps(true); - unionPayTransDataEntity.setContactlessQpsLimit("000090000000"); +// unionPayTransDataEntity.setContactlessQpsLimit("000090000000"); + unionPayTransDataEntity.setContactlessQpsLimit("000000030000"); transData.setUnionPayTransDataEntity(unionPayTransDataEntity); @@ -743,7 +744,12 @@ public abstract class EmvBaseViewModel extends BaseViewModel { @Override public void onPrompt(PromptEnum promptEnum) { LogUtil.d(TAG, "onPrompt->" + promptEnum); - emvHandler.onSetPromptResponse(true); +// emvHandler.onSetPromptResponse(true); + if( promptEnum == PromptEnum.OFFLINE_PIN_INCORRECT_TRY_AGAIN) { + emvHandler.onSetPromptResponse(false); + } else { + emvHandler.onSetPromptResponse(true); + } } @Override diff --git a/baselib/src/main/res/raw/quickpass_config.json b/baselib/src/main/res/raw/quickpass_config.json index a56020b..47b3a28 100644 --- a/baselib/src/main/res/raw/quickpass_config.json +++ b/baselib/src/main/res/raw/quickpass_config.json @@ -14,7 +14,7 @@ "tacOnline": "DC4004F800", "tacDenial": "0000000000", "floorLimit": "000000000000", - "cvmLimit": 75000, + "cvmLimit": 30000, "transLimit": "9999999999", "transLimitCDV": "9999999999", "terminalCapability": "0000000000000000", @@ -26,7 +26,6 @@ }, { "aidEnable": true, - "aid": "A000000333010102", "cardLabel": "UPI", "applicationVersion": "0002", "emvDDOL": "9F3704", @@ -39,7 +38,57 @@ "tacOnline": "DC4004F800", "tacDenial": "0000000000", "floorLimit": "000000000000", - "cvmLimit": 75000, + "cvmLimit": 30000, + "transLimit": "9999999999", + "transLimitCDV": "9999999999", + "terminalCapability": "0000000000000000", + "riskManageData": "01", + "kernelType": "01", + "ttq": "36800000", + "cateCode": "2701", + "currencyCode": "0104" + }, + { + "aidEnable": true, + "aid": "A000000333010105", + "cardLabel": "UPI", + "applicationVersion": "0002", + "emvDDOL": "9F3704", + "emvTDOL": "9F3704", + "partialAidSelection": false, + "targetPercent": "99", + "maxTargetPercent": "99", + "threshold": "00000000", + "tacDefault": "D84000A800", + "tacOnline": "DC4004F800", + "tacDenial": "0000000000", + "floorLimit": "000000000000", + "cvmLimit": 30000, + "transLimit": "9999999999", + "transLimitCDV": "9999999999", + "terminalCapability": "0000000000000000", + "riskManageData": "01", + "kernelType": "01", + "ttq": "36800000", + "cateCode": "2701", + "currencyCode": "0104" + }, + { + "aidEnable": true, + "aid": "A000000333010106", + "cardLabel": "UPI", + "applicationVersion": "0002", + "emvDDOL": "9F3704", + "emvTDOL": "9F3704", + "partialAidSelection": false, + "targetPercent": "99", + "maxTargetPercent": "99", + "threshold": "00000000", + "tacDefault": "D84000A800", + "tacOnline": "DC4004F800", + "tacDenial": "0000000000", + "floorLimit": "000000000000", + "cvmLimit": 30000, "transLimit": "9999999999", "transLimitCDV": "9999999999", "terminalCapability": "0000000000000000",