Compare commits

...

3 Commits

Author SHA1 Message Date
moon
4b03e2feae Merge branch 'ecr' into duel_settlement 2026-03-30 23:36:18 +06:30
moon
f3e735b417 update BitmapConfig 2026-03-30 23:33:18 +06:30
ed5fadcdd6 preauth/preauth cancel/preauth comp added manual entry flag 2026-03-30 16:23:52 +07:00
6 changed files with 141 additions and 9 deletions

View File

@ -14,8 +14,8 @@ android {
applicationId "com.utsmm.kbz"
minSdk 24
targetSdk 33
versionCode 24
versionName "2.4"
versionCode 25
versionName "2.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -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();
}

View File

@ -639,6 +639,15 @@ public class TMSSetupsImpl implements TMSSetups{
}else if(TextUtils.equals(name, "is_duel_currency")){
SystemParamsOperation.getInstance().setDuelCurrencyStatus(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));

View File

@ -1851,4 +1851,38 @@ public class SystemParamsOperation {
SystemParamsSettings paramsSettings = getSystemParamsSettings();
return paramsSettings.getDuelCurrencyStatus();
}
}
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();
}
}

View File

@ -174,6 +174,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;
@ -531,6 +535,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;
}

View File

@ -110,7 +110,7 @@ public class BitmapConfig {
// public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "7234058008C09000"; // for tmk MPU
// public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "7230058008C09000"; // for KBZ MPU
// public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "7234058008C09000"; // for KBZ MPU added DE 14 Mar 25, 26
public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "3230058028C08000"; // from log March 25
public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "7230058028C08000"; // from log March 25
// public static final String BPC_PRE_AUTH_SALE_VOID_REVERSAL = "3230058028C19A00"; //DE55
//