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] 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 = "";