From 40c4ba2d252ea660e3b1e472e2d3dd157f56ac4b Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Thu, 22 Jan 2026 20:04:27 +0630 Subject: [PATCH 1/7] Update NetworkModule.java --- .../utsmyanmar/baselib/di/NetworkModule.java | 90 +------------------ 1 file changed, 3 insertions(+), 87 deletions(-) diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java b/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java index 78a4ada..c8732f3 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/di/NetworkModule.java @@ -254,7 +254,7 @@ public class NetworkModule { } if (baseUrl.isEmpty()) { - baseUrl = "http://api.kbzpay.com/payment/gateway/uat/"; + baseUrl = "http://api-uat.kbzpay.com/payment/gateway/uat/"; } return new Retrofit.Builder() .baseUrl(baseUrl) @@ -302,88 +302,6 @@ public class NetworkModule { .create(SiriusApiService.class); } - -// @Provides -// @Singleton -// @KPayRefundRetrofit -// public Retrofit provideKPayRefundRetrofit(@ApplicationContext Context context) { -// char[] password = "test123".toCharArray(); -// -// try { -// -// if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) { -// Security.addProvider(new BouncyCastleProvider()); -// } -// // Client keystore -// KeyStore clientKeyStore = KeyStore.getInstance("PKCS12",new BouncyCastleProvider()); -// InputStream clientStream = context.getResources().openRawResource(R.raw.client); -// clientKeyStore.load(clientStream, password); -// clientStream.close(); -// -// KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); -// kmf.init(clientKeyStore, password); -// KeyManager[] keyManagers = kmf.getKeyManagers(); -// -// InputStream caInput = context.getResources().openRawResource(R.raw.certi); -// CertificateFactory cf = CertificateFactory.getInstance("X.509"); -// Certificate ca = cf.generateCertificate(caInput); -// -// KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); -// keyStore.load(null, null); -// keyStore.setCertificateEntry("ca", ca); -// -// TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); -// tmf.init(keyStore); -// TrustManager[] trustManagers = tmf.getTrustManagers(); -// -// X509TrustManager x509TrustManager = null; -// for (TrustManager tm : trustManagers) { -// if (tm instanceof X509TrustManager) { -// x509TrustManager = (X509TrustManager) tm; -// break; -// } -// } -// -// SSLContext sslContext = SSLContext.getInstance("TLS"); -// sslContext.init(kmf.getKeyManagers(), new TrustManager[]{x509TrustManager}, null); -// -// HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); -// loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); -// -// OkHttpClient okHttp = new OkHttpClient.Builder() -// .sslSocketFactory(sslContext.getSocketFactory(), x509TrustManager) -// .addInterceptor(loggingInterceptor) -// .hostnameVerifier(new HostnameVerifier() { -// @Override -// public boolean verify(String hostname, SSLSession session) { -// return true; -// } -// }) -// .build(); -// -// return new Retrofit.Builder() -// .baseUrl(Refund_Base_Url) -// .client(okHttp) -// .addCallAdapterFactory(RxJava3CallAdapterFactory.create()) -// .addConverterFactory(GsonConverterFactory.create()) -// .build(); -// -// } catch (Exception e) { -// e.printStackTrace(); -// -// OkHttpClient okHttp = new OkHttpClient(); -// return new Retrofit.Builder() -// .baseUrl(Refund_Base_Url) -// .client(okHttp) -// .addConverterFactory(GsonConverterFactory.create()) -// .build(); -// -//// throw new RuntimeException("Failed to create Retrofit instance", e); -// } -// -// } - - //@Reusable //@KPayRefundRetrofit @Provides @@ -392,10 +310,8 @@ public Retrofit provideKPayRefundRetrofit(@ApplicationContext Context context) { // char[] password = "test123".toCharArray(); -// public static String Refund_Base_Url = "https://api.kbzpay.com:18008/payment/gateway/uat/"; - - - String refundBaseUrl = "https://api.kbzpay.com:8008/payment/gateway/"; +// String refundBaseUrl = "https://api.kbzpay.com:8008/payment/gateway/"; + String refundBaseUrl = "https://api-uat.kbzpay.com:18008/payment/gateway/uat/"; // String IpAddress = SystemParamsOperation.getInstance().getSecHostIpAddress(); From e6878a3d27834e6e0dbb8d0e6141ee5130ab9042 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 23 Jan 2026 10:28:10 +0630 Subject: [PATCH 2/7] printer disable function --- .../kbz/ui/core_ui/PrintReceiptFragment.java | 14 +- .../ui/core_viewmodel/SharedViewModel.java | 1 + .../kbz/ui/settings/HostConfigFragment.java | 4 + .../com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 3 + .../main/res/layout/fragment_host_config.xml | 4 + .../layout/fragment_print_receipt_screen.xml | 179 +++++++++++------- app/src/main/res/values/strings.xml | 1 + .../core_utils/SystemParamsOperation.java | 11 ++ .../core_utils/SystemParamsSettings.java | 13 ++ 9 files changed, 161 insertions(+), 69 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java b/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java index 3486fdd..cc7f391 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_ui/PrintReceiptFragment.java @@ -28,6 +28,7 @@ import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel; public class PrintReceiptFragment extends DataBindingFragment implements DataBindingFragment.BackPressCallback { private SharedViewModel sharedViewModel; private static final String TAG = PrintReceiptFragment.class.getSimpleName(); + private boolean printerDisabled = SystemParamsOperation.getInstance().getPrinterDisabled(); @Override protected int currentId() { @@ -48,7 +49,6 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin @Override protected void initViewModel() { sharedViewModel = getFragmentScopeViewModel(SharedViewModel.class); - } @Override @@ -76,6 +76,7 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin setToolBarTitleWithoutBackIcon(getResourceString(R.string.title_print_receipt)); sharedViewModel.printReceiptButtons.setValue(0); + sharedViewModel.printerDisabled.setValue(printerDisabled); PayDetail payDetail = sharedViewModel.payDetail.getValue(); @@ -122,7 +123,12 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin super.onViewCreated(view, savedInstanceState); sharedViewModel.setPrintStatus(PrintStatus.NOT_PRINT); - sharedViewModel.postPrintReceiptMsg("Print Receipt for Merchant?"); + + if(printerDisabled){ + sharedViewModel.postPrintReceiptMsg("Receipt is saved as E-receipt!"); + }else{ + sharedViewModel.postPrintReceiptMsg("Print Receipt for Merchant?"); + } observePrintProcess(); @@ -278,6 +284,10 @@ public class PrintReceiptFragment extends DataBindingFragment implements DataBin } } + + public void onContinue(){ + isCardInside(); + } } private void alertPaperRoll(String title, String message) { diff --git a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java index 03b9b70..4756136 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java +++ b/app/src/main/java/com/utsmm/kbz/ui/core_viewmodel/SharedViewModel.java @@ -115,6 +115,7 @@ public class SharedViewModel extends ViewModel { public SingleLiveEvent hostType = new SingleLiveEvent<>(); public MutableLiveData printReceiptButtons = new MutableLiveData<>(0); + public SingleLiveEvent printerDisabled = new SingleLiveEvent<>(); public SingleLiveEvent printReceiptMsg = new SingleLiveEvent<>(); diff --git a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java index 30a48c1..39db774 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java @@ -15,6 +15,7 @@ import com.utsmm.kbz.databinding.FragmentHostConfigBinding; import com.utsmm.kbz.ui.core_viewmodel.SharedViewModel; import com.utsmyanmar.baselib.fragment.DataBindingFragment; import com.utsmyanmar.baselib.util.DataBindingConfig; +import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation; public class HostConfigFragment extends DataBindingFragment { @@ -22,6 +23,7 @@ public class HostConfigFragment extends DataBindingFragment { private HostConfigViewModel viewModel; private SharedViewModel sharedViewModel; + private boolean printerDisabled = SystemParamsOperation.getInstance().getPrinterDisabled(); protected Printer printer; int FONT_NORMAL = 20; int FONT_HEADER = 24; @@ -44,6 +46,7 @@ public class HostConfigFragment extends DataBindingFragment { FragmentHostConfigBinding binding = (FragmentHostConfigBinding) this.binding; viewModel.loadConfig(); + sharedViewModel.printerDisabled.setValue(printerDisabled); } @Override @@ -51,6 +54,7 @@ public class HostConfigFragment extends DataBindingFragment { super.onResume(); setToolBarTitleWithBackIcon("Host Configs"); + sharedViewModel.printerDisabled.setValue(printerDisabled); } @Override 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 928b722..a925ddd 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 @@ -647,6 +647,9 @@ public class TMSSetupsImpl implements TMSSetups{ else if(TextUtils.equals(name,"bin_list")) { SystemParamsOperation.getInstance().setBinValue(data); } + else if(TextUtils.equals(name, "printer_disable")){ + SystemParamsOperation.getInstance().setPrinterDisabled(parseBoolean(data)); + } } SystemParamsOperation.getInstance().setCarouselUrls(convertToString(imgUrls)); diff --git a/app/src/main/res/layout/fragment_host_config.xml b/app/src/main/res/layout/fragment_host_config.xml index fe45629..f3ea8a7 100644 --- a/app/src/main/res/layout/fragment_host_config.xml +++ b/app/src/main/res/layout/fragment_host_config.xml @@ -10,6 +10,9 @@ + @@ -362,6 +365,7 @@ android:layout_weight="1" android:layout_marginStart="8dp" android:text="Print" + android:visibility="@{sharedViewModel.printerDisabled ? View.VISIBLE : View.GONE}" android:onClick="@{()-> click.onPrint()}" android:background="@drawable/bg_rounded_btn_cv" android:textColor="@color/white" diff --git a/app/src/main/res/layout/fragment_print_receipt_screen.xml b/app/src/main/res/layout/fragment_print_receipt_screen.xml index b751701..4de290f 100644 --- a/app/src/main/res/layout/fragment_print_receipt_screen.xml +++ b/app/src/main/res/layout/fragment_print_receipt_screen.xml @@ -5,6 +5,7 @@ + @@ -296,92 +297,136 @@ + - - - + + android:layout_weight="1" + android:layout_marginEnd="6dp" + app:cardCornerRadius="12dp" + app:cardElevation="2dp" + android:foreground="?android:attr/selectableItemBackground" + android:clickable="true" + android:focusable="true"> - - + android:orientation="horizontal" + android:gravity="center" + android:background="@color/white" + android:padding="14dp" + android:onClick="@{()->click.onCancel()}"> - + android:text="@string/layout_cancel" + android:textColor="@color/colorPrimary" + android:textSize="15sp" + android:textStyle="bold" + android:fontFamily="@font/rubik_medium" /> + + + + - - - - - - - + android:orientation="horizontal" + android:gravity="center" + android:background="@color/colorPrimary" + android:padding="14dp" + android:onClick="@{()->click.onConfirm()}"> - + android:text="@string/layout_print" + android:textColor="@color/white" + android:textSize="15sp" + android:textStyle="bold" + android:fontFamily="@font/rubik_medium" /> + + + + + + + - + + - + - - + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3b885f3..681172a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -616,5 +616,6 @@ No QR transactions to settle Confirm Search By Trace No + Continue \ No newline at end of file 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 ae27eda..979bfb3 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 @@ -1750,4 +1750,15 @@ public class SystemParamsOperation { paramsSettings.setCertificateClientUrl(url); saveSystemParamsSettings(paramsSettings); } + + public void setPrinterDisabled(boolean printerDisabled) { + SystemParamsSettings paramsSettings = getSystemParamsSettings(); + paramsSettings.setPrinterDisabled(printerDisabled); + saveSystemParamsSettings(paramsSettings); + } + + public boolean getPrinterDisabled() { + SystemParamsSettings paramsSettings = getSystemParamsSettings(); + return paramsSettings.getPrinterDisabled(); + } } \ 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 8e734b9..8bbbaa0 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 @@ -260,6 +260,7 @@ public class SystemParamsSettings implements Serializable { private String terminalIdForEreceipt = ""; private String certificateUrl = ""; private String certificateClientUrl = ""; + private boolean printerDisabled = false; public boolean isQrPartialRefundEnable(){ return qrPartialRefundEnable; @@ -1067,6 +1068,18 @@ public class SystemParamsSettings implements Serializable { this.certificateClientUrl = url; } + public boolean isPrinterDisabled() { + return printerDisabled; + } + + public void setPrinterDisabled(boolean printerDisabled) { + this.printerDisabled = printerDisabled; + } + + public boolean getPrinterDisabled() { + return printerDisabled; + } + /* // 流水号起始 private String serialNum = Configs.getInstance().SERIAL_NUM(); // 批次号起始 From d9b9c7cc80712117fd8f55a33838aa034da8a671 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 23 Jan 2026 10:28:53 +0630 Subject: [PATCH 3/7] Update network_security_config.xml --- app/src/main/res/xml/network_security_config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml index 9dab6ac..1cf6114 100644 --- a/app/src/main/res/xml/network_security_config.xml +++ b/app/src/main/res/xml/network_security_config.xml @@ -6,6 +6,7 @@ 128.199.170.203 152.42.199.193 api.kbzpay.com + api-uat.kbzpay.com sirius-nest.utsmyanmar.com From 0ddd5f269c2751183a20921924b234ad67b25722 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 23 Jan 2026 10:54:39 +0630 Subject: [PATCH 4/7] Update BaseXPrint.java --- .../com/utsmyanmar/paylibs/print/printx/BaseXPrint.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java index 203270a..1790700 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/print/printx/BaseXPrint.java @@ -877,8 +877,9 @@ public abstract class BaseXPrint { printString("Status :" + pay.getStatus()); printString("Date :" + pay.getDate()); printString("Time :" + pay.getTime()); - - printString("Amount :" + "MMK " + PrintUtils.getInstance().getSeparatorOnlyNumberFormat(pay.getAmount())); + printString("Amount : MMK " + + (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value ? "-" : "") + + PrintUtils.getInstance().getSeparatorOnlyNumberFormat(pay.getAmount())); if (pay.getTransactionType() == TransactionsType.MMQR_REFUND.value) { refundTotal += pay.getAmount(); @@ -892,7 +893,7 @@ public abstract class BaseXPrint { dashBreak(); // print2ColumnsString("Refund Total:MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal)); - printer.appendPrnStr("Refund Total:MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal) + " ", fontNormal, false); + printer.appendPrnStr("Refund Total:MMK", "- " + PrintUtils.getInstance().getSeparatorOnlyNumberFormat(refundTotal) + " ", fontNormal, false); dashBreak(); // print2ColumnsString("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(totalAmount)); printer.appendPrnStr("Sale Total :MMK", PrintUtils.getInstance().getSeparatorOnlyNumberFormat(totalAmount) + " ", fontNormal, false); From fc8349ad2d90bd15c7a1cc6c4546904bb8d76c6b Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Fri, 23 Jan 2026 12:10:20 +0630 Subject: [PATCH 5/7] re-unbind visible on hostConfig --- .../java/com/utsmm/kbz/ui/settings/HostConfigFragment.java | 3 --- app/src/main/res/layout/fragment_host_config.xml | 1 - 2 files changed, 4 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java index 39db774..c21a6b9 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settings/HostConfigFragment.java @@ -23,7 +23,6 @@ public class HostConfigFragment extends DataBindingFragment { private HostConfigViewModel viewModel; private SharedViewModel sharedViewModel; - private boolean printerDisabled = SystemParamsOperation.getInstance().getPrinterDisabled(); protected Printer printer; int FONT_NORMAL = 20; int FONT_HEADER = 24; @@ -46,7 +45,6 @@ public class HostConfigFragment extends DataBindingFragment { FragmentHostConfigBinding binding = (FragmentHostConfigBinding) this.binding; viewModel.loadConfig(); - sharedViewModel.printerDisabled.setValue(printerDisabled); } @Override @@ -54,7 +52,6 @@ public class HostConfigFragment extends DataBindingFragment { super.onResume(); setToolBarTitleWithBackIcon("Host Configs"); - sharedViewModel.printerDisabled.setValue(printerDisabled); } @Override diff --git a/app/src/main/res/layout/fragment_host_config.xml b/app/src/main/res/layout/fragment_host_config.xml index f3ea8a7..7e65bb9 100644 --- a/app/src/main/res/layout/fragment_host_config.xml +++ b/app/src/main/res/layout/fragment_host_config.xml @@ -365,7 +365,6 @@ android:layout_weight="1" android:layout_marginStart="8dp" android:text="Print" - android:visibility="@{sharedViewModel.printerDisabled ? View.VISIBLE : View.GONE}" android:onClick="@{()-> click.onPrint()}" android:background="@drawable/bg_rounded_btn_cv" android:textColor="@color/white" From d89ce9771f66b918c387ab09ed2c9c2adec2b187 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:11:29 +0630 Subject: [PATCH 6/7] fix --- .../transactions/TransactionsOperation.java | 122 +++++++++++++----- .../core_utils/SystemParamsSettings.java | 8 +- 2 files changed, 93 insertions(+), 37 deletions(-) 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 b9fd679..ec54404 100644 --- a/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java +++ b/paylibs/src/main/java/com/utsmyanmar/paylibs/transactions/TransactionsOperation.java @@ -417,47 +417,103 @@ public class TransactionsOperation { /* * handling issuer script * */ +// private void emvProcess(PayDetail payDetail) { +// String resultStr = ""; +// try { +// resultStr = Objects.requireNonNull(responseMap.get("F039")).getDataStr(); +// } catch (NullPointerException e) { +// e.printStackTrace(); +// } +// +// LogUtil.d(Constant.TAG, "SALE PROCESS RESPONSE CODE :" + resultStr); +// +// HashMap resp = (responseMap instanceof HashMap) ? (HashMap) responseMap +// : new HashMap<>(responseMap); +// +// if(BaseCardType.IC.getValue() == payDetail.getCardType() && responseMap.get("F055") != null) { +// AuthorizationProcessUtil.authorizationProcess(resp, payDetail); +// } else { +// boolean equals = TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED); +// EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity(); +// MsgField field38,field39,field55; +// if (resp != null) { +// field38 = resp.get("F038"); +// field39 = resp.get("F039"); +// field55 = resp.get("F055"); +// +// if(equals) +// LogUtil.d(TAG,"Field 38:"+field38.getDataStr()); +// LogUtil.d(TAG,"Field 39:"+field39.getDataStr()); +// LogUtil.d(TAG,"Field 55:"+field55.getDataStr()); +// if(equals) +// emvOnlineResult.setAuthCode(field38.getDataStr()); +// emvOnlineResult.setRejCode(field39.getDataStr()); +// emvOnlineResult.setRecvField55(ByteUtil.hexStr2Bytes(field55.getDataStr())); +// } +// if(equals) { +// importOnlineProcessStatus(SdkResult.Success,emvOnlineResult); +// } else { +// importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult); +// } +// } +// +// } + private void emvProcess(PayDetail payDetail) { - String resultStr = ""; - try { - resultStr = Objects.requireNonNull(responseMap.get("F039")).getDataStr(); - } catch (NullPointerException e) { - e.printStackTrace(); - } - LogUtil.d(Constant.TAG, "SALE PROCESS RESPONSE CODE :" + resultStr); + MsgField f39 = responseMap != null ? responseMap.get("F039") : null; + String resultStr = f39 != null ? f39.getDataStr() : ""; - HashMap resp = (responseMap instanceof HashMap) ? (HashMap) responseMap - : new HashMap<>(responseMap); + LogUtil.d(Constant.TAG, "SALE PROCESS RESPONSE CODE : " + resultStr); + + boolean approved = + TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) + || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED); + + HashMap resp = + (responseMap instanceof HashMap) + ? (HashMap) responseMap + : new HashMap<>(responseMap); + + MsgField field38 = resp.get("F038"); + MsgField field55 = resp.get("F055"); + + LogUtil.d(TAG, "Field 55: " + (field55 != null ? field55.getDataStr() : "null")); + + if (BaseCardType.IC.getValue() == payDetail.getCardType() + && approved + && field55 != null + && !TextUtils.isEmpty(field55.getDataStr())) { - if(BaseCardType.IC.getValue() == payDetail.getCardType() && responseMap.get("F055") != null) { AuthorizationProcessUtil.authorizationProcess(resp, payDetail); - } else { - boolean equals = TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED); - EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity(); - MsgField field38,field39,field55; - if (resp != null) { - field38 = resp.get("F038"); - field39 = resp.get("F039"); - field55 = resp.get("F055"); - - if(equals) - LogUtil.d(TAG,"Field 38:"+field38.getDataStr()); - LogUtil.d(TAG,"Field 39:"+field39.getDataStr()); - LogUtil.d(TAG,"Field 55:"+field55.getDataStr()); - if(equals) - emvOnlineResult.setAuthCode(field38.getDataStr()); - emvOnlineResult.setRejCode(field39.getDataStr()); - emvOnlineResult.setRecvField55(ByteUtil.hexStr2Bytes(field55.getDataStr())); - } - if(equals) { - importOnlineProcessStatus(SdkResult.Success,emvOnlineResult); - } else { - importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult); - } + return; } + if (BaseCardType.IC.getValue() == payDetail.getCardType() && approved) { + + EmvOnlineResultEntity emptyResult = new EmvOnlineResultEntity(); + emptyResult.setRejCode(resultStr); + + importOnlineProcessStatus(SdkResult.Success, emptyResult); + return; + } + + EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity(); + + if (approved && field38 != null) { + emvOnlineResult.setAuthCode(field38.getDataStr()); + } + + if (f39 != null) { + emvOnlineResult.setRejCode(f39.getDataStr()); + } + + importOnlineProcessStatus( + approved ? SdkResult.Success : SdkResult.Fail, + emvOnlineResult + ); } + } 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 8bbbaa0..c6c5180 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 @@ -42,10 +42,10 @@ public class SystemParamsSettings implements Serializable { // private String tmsAddress = "https://tms.smile-mm.com"; // private String tmsAddress = "http://128.199.170.203"; - private String tmsAddress = "https://sirius-nest.utsmyanmar.com"; -// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat - private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; //for on prime -// private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat +// private String tmsAddress = "https://sirius-nest.utsmyanmar.com"; + private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat +// private String ereceiptAddress = "http://receipt-nest.utsmyanmar.com"; //for on prime + private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat private String binValues = ""; From 95ec5993b59860cf5e839956631b1bc3fd57475f Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Wed, 28 Jan 2026 11:08:44 +0630 Subject: [PATCH 7/7] Update SettlementTransactionFragment.java --- .../kbz/ui/settlement/SettlementTransactionFragment.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java index 7783e23..640b5ee 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/settlement/SettlementTransactionFragment.java @@ -399,10 +399,7 @@ public class SettlementTransactionFragment extends DataBindingFragment implement } public void onConfirm(){ - if(saleCount == 0){ - showDeclineDialog("No Transaction Found!"); - return; - } + if(sharedViewModel.getTransMenu().getValue() == TransMenu.SETTLEMENT) { /* April 10 , 2024 Smile requested not to send to host even settlement button was clicked */ settlementViewModel.startSettlementProcess();