From ed5fadcdd61f05052e23c73398bff66fe4ba5495 Mon Sep 17 00:00:00 2001 From: kizzy Date: Mon, 30 Mar 2026 16:23:52 +0700 Subject: [PATCH] preauth/preauth cancel/preauth comp added manual entry flag --- .../ui/core_ui/ProcessingCardFragment.java | 73 +++++++++++++++++-- .../com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 9 +++ .../core_utils/SystemParamsOperation.java | 34 +++++++++ .../core_utils/SystemParamsSettings.java | 29 ++++++++ 4 files changed, 139 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java index c6511e4..0ae0646 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/ProcessingCardFragment.java @@ -168,12 +168,29 @@ public class ProcessingCardFragment extends DataBindingFragment { transProcessViewModel.setTradeData(tradeData); pinPadViewModel.setTradeData(tradeData); - if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_VOID ) { + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_VOID && SystemParamsOperation.getInstance().getPreAuthVoidManualEnabled() ) { sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); routeId = R.id.action_processingCardFragment_to_errorFragment; safeNavigateToRouteId(); return; + + } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_SALE && SystemParamsOperation.getInstance().getPreAuthManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + safeNavigateToRouteId(); + return; + + } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_COMPLETE && SystemParamsOperation.getInstance().getPreAuthCompleteManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + safeNavigateToRouteId(); + return; + } // else if(sharedViewModel.transactionsType.getValue() == TransactionsType.REFUND) { // sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_card_not_supported)); @@ -238,13 +255,28 @@ public class ProcessingCardFragment extends DataBindingFragment { transProcessViewModel.setTradeData(tradeData); } - - if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_VOID ) { + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_VOID && SystemParamsOperation.getInstance().getPreAuthVoidManualEnabled() ) { sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); routeId = R.id.action_processingCardFragment_to_errorFragment; } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_SALE && SystemParamsOperation.getInstance().getPreAuthManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + + + } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_COMPLETE && SystemParamsOperation.getInstance().getPreAuthCompleteManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + + + } + + // else if(sharedViewModel.transactionsType.getValue() == TransactionsType.REFUND) { // routeId = R.id.action_processingCardFragment_to_errorFragment; // } @@ -274,8 +306,39 @@ public class ProcessingCardFragment extends DataBindingFragment { emvTransactionViewModel.transType.setValue(sharedViewModel.transactionsType.getValue()); if (SystemParamsOperation.getInstance().isEmvEnabled()) { + prepareEmvTransaction(); + + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_VOID && SystemParamsOperation.getInstance().getPreAuthVoidManualEnabled() ) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + safeNavigateToRouteId(); + return; + + } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_SALE && SystemParamsOperation.getInstance().getPreAuthManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + safeNavigateToRouteId(); + return; + + + } + if(sharedViewModel.getTransactionsType().getValue() == TransactionsType.PRE_AUTH_COMPLETE && SystemParamsOperation.getInstance().getPreAuthCompleteManualEnabled()) { + + sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_alert_pre_auth_cancel)); + routeId = R.id.action_processingCardFragment_to_errorFragment; + safeNavigateToRouteId(); + return; + + + } + + routeId = R.id.action_processingCardFragment_to_emvTransactionFragment; + } else { routeId = R.id.action_processingCardFragment_to_errorFragment; sharedViewModel.set_errorFragmentMsg(getResourceString(R.string.txt_please_enable_emv)); @@ -307,9 +370,7 @@ public class ProcessingCardFragment extends DataBindingFragment { LogUtil.d(TAG,"card type:"+cardType); LogUtil.d(TAG,"is MPU:"+isMPU); -// delayFunctionCall(()->{ -// -// }); + handlePreEmvProcess(); } diff --git a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java index e3d9e11..ef5d2cf 100644 --- a/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java +++ b/app/src/main/java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java @@ -650,6 +650,15 @@ public class TMSSetupsImpl implements TMSSetups{ else if(TextUtils.equals(name, "printer_enabled")){ SystemParamsOperation.getInstance().setPrinterEnabled(parseBoolean(data)); } + else if(TextUtils.equals(name, "pre_auth_cancel_manual_enabled")) { + SystemParamsOperation.getInstance().setPreAuthVoidManualEnabled(parseBoolean(data)); + } + else if(TextUtils.equals(name, "pre_auth_complete_manual_enabled")) { + SystemParamsOperation.getInstance().setPreAuthCompleteManualEnabled(parseBoolean(data)); + } + else if(TextUtils.equals(name, "pre_auth_manual_enabled")) { + SystemParamsOperation.getInstance().setPreAuthManualEnabled(parseBoolean(data)); + } } SystemParamsOperation.getInstance().setCarouselUrls(convertToString(imgUrls)); diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java index 89b2073..60295e5 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsOperation.java @@ -1761,4 +1761,38 @@ public class SystemParamsOperation { SystemParamsSettings paramsSettings = getSystemParamsSettings(); return paramsSettings.getPrinterEnabled(); } + + public void setPreAuthVoidManualEnabled(boolean preAuthVoidManualEnabled) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setPreAuthVoidManual(preAuthVoidManualEnabled); + saveSystemParamsSettings(params); + } + + public boolean getPreAuthVoidManualEnabled() { + SystemParamsSettings params = getSystemParamsSettings(); + return params.getPreAuthVoidManual(); + } + + public void setPreAuthCompleteManualEnabled(boolean preAuthCompleteManualEnabled) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setPreAuthCompleteManual(preAuthCompleteManualEnabled); + saveSystemParamsSettings(params); + } + + public boolean getPreAuthCompleteManualEnabled() { + SystemParamsSettings params = getSystemParamsSettings(); + return params.getPreAuthCompleteManual(); + } + + public void setPreAuthManualEnabled(boolean preAuthManualEnabled) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setPreAuthManual(preAuthManualEnabled); + saveSystemParamsSettings(params); + } + + public boolean getPreAuthManualEnabled() { + SystemParamsSettings params = getSystemParamsSettings(); + return params.getPreAuthManual(); + } + } \ No newline at end of file diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java index 2531c0e..dbeac74 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/utils/core_utils/SystemParamsSettings.java @@ -167,6 +167,10 @@ public class SystemParamsSettings implements Serializable { private boolean isClearBatch = false; + private boolean isPreAuthVoidManual = false; + private boolean isPreAuthCompleteManual = false; + private boolean isPreAuthManual = false; + private boolean ssl_switch_status = false; private boolean connect_status = false; @@ -431,6 +435,7 @@ public class SystemParamsSettings implements Serializable { this.secHostMerchantId = secHostMerchantId; } + protected void setSecHostCurrency(String secHostCurrency) { this.secHostCurrency = secHostCurrency; } @@ -495,6 +500,30 @@ public class SystemParamsSettings implements Serializable { protected boolean getQRPayStatus() { return qrpay_status; } + protected void setPreAuthVoidManual(boolean status) { + this.isPreAuthVoidManual = status; + } + + protected boolean getPreAuthVoidManual() { + return isPreAuthVoidManual; + } + + protected void setPreAuthCompleteManual(boolean status) { + this.isPreAuthCompleteManual = status; + } + + protected boolean getPreAuthCompleteManual() { + return isPreAuthCompleteManual; + } + + protected void setPreAuthManual(boolean status) { + this.isPreAuthManual = status; + } + + protected boolean getPreAuthManual() { + return isPreAuthManual; + } + protected boolean isAutoPrintCustomerCopy() { return isAutoPrintCustomerCopy; }