From 666325ed828cdfa57292db5923a61fe690d4a7d9 Mon Sep 17 00:00:00 2001 From: MooN <56061215+MgKyawLay@users.noreply.github.com> Date: Wed, 17 Dec 2025 22:55:44 +0630 Subject: [PATCH] e-receipt new fields --- .../utsmm/kbz/ui/qr_pay/QRRefundProcessFragment.java | 2 ++ .../main/java/com/utsmm/kbz/util/EReceiptUtil.java | 9 +++++++-- .../java/com/utsmm/kbz/util/tms/TMSSetupsImpl.java | 1 + .../network/model/e_receipt/EReceiptRequest.java | 12 ++++++++++-- .../baselib/network/model/sirius/SiriusHost.java | 10 +++++++++- .../utils/core_utils/SystemParamsOperation.java | 11 +++++++++++ .../utils/core_utils/SystemParamsSettings.java | 10 ++++++++++ 7 files changed, 50 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRRefundProcessFragment.java b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRRefundProcessFragment.java index d193713..117fc8d 100644 --- a/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRRefundProcessFragment.java +++ b/app/src/main/java/com/utsmm/kbz/ui/qr_pay/QRRefundProcessFragment.java @@ -167,6 +167,7 @@ public class QRRefundProcessFragment extends DataBindingFragment { referenceNo, payDetail != null ? payDetail.getInvoiceNo() : "", payDetail != null ? payDetail.getVoucherNo() : "", + payDetail != null ? payDetail.getQrReferNo() != null ? payDetail.getQrReferNo() : "" : "" , TransResultStatus.SUCCESS ); sharedViewModel.pushReceipt(request); @@ -189,6 +190,7 @@ public class QRRefundProcessFragment extends DataBindingFragment { referenceNo, payDetail != null ? payDetail.getInvoiceNo() : "", payDetail != null ? payDetail.getVoucherNo() : "", + payDetail != null ? payDetail.getQrReferNo() != null ? payDetail.getQrReferNo() : "" : "" , TransResultStatus.FAIL ); sharedViewModel.pushReceipt(request); diff --git a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java index c768dd2..dbd8e0c 100644 --- a/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java +++ b/app/src/main/java/com/utsmm/kbz/util/EReceiptUtil.java @@ -51,6 +51,7 @@ public class EReceiptUtil { public EReceiptRequest generateQRReceipt(PayDetail payDetail, TransResultStatus status) { String terminalIdForEreceipt = SystemParamsOperation.getInstance().getTerminalIdForEreceipt(); + String hostId = SystemParamsOperation.getInstance().getSecHostId(); double realAmount = payDetail.getAmount() / 100.0; DecimalFormat df = new DecimalFormat("0.00"); @@ -60,10 +61,8 @@ public class EReceiptUtil { .format(new java.util.Date()); EReceiptRequest request = new EReceiptRequest(); request.setDE3("QR"); - request.setDE7(currentTimeStamp); request.setDE37(payDetail.getReferNo()); - request.setDE49("MMK"); request.setSerial(serialNum); request.setAppId(packageName); @@ -71,6 +70,9 @@ public class EReceiptUtil { request.setDE42(qrMerchantId); request.setTerminalId(terminalIdForEreceipt); request.setShortCode(qrMerchantId); + request.setMmqrRef(payDetail.getQrReferNo() == null ? "" : payDetail.getQrReferNo()); + request.setHostId(hostId); + request.setInvoiceNumber(payDetail.getInvoiceNo()); request.setDE11(payDetail.getVoucherNo()); @@ -102,6 +104,7 @@ public class EReceiptUtil { String referenceNo, String invoiceNo, String voucherNo, + String mmqrRef, TransResultStatus status ) { long amt = POSUtil.getInstance().convertAmount(refundAmount); @@ -109,6 +112,7 @@ public class EReceiptUtil { DecimalFormat df = new DecimalFormat("0.00"); String amount = df.format(realAmount); String terminalIdForEreceipt = SystemParamsOperation.getInstance().getTerminalIdForEreceipt(); + String hostId = SystemParamsOperation.getInstance().getSecHostId(); String currentTimeStamp = new java.text.SimpleDateFormat("MMddHHmmss", java.util.Locale.getDefault()) .format(new java.util.Date()); @@ -127,6 +131,7 @@ public class EReceiptUtil { request.setShortCode(qrMerchantId); request.setInvoiceNumber(invoiceNo != null ? invoiceNo : ""); request.setDE11(voucherNo != null ? voucherNo : ""); + request.setHostId(hostId); // need to add payment identifier field too 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 3ee6aa4..afa5813 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 @@ -182,6 +182,7 @@ public class TMSSetupsImpl implements TMSSetups{ if( siriusHost.getTyp().equals("QR")) { + SystemParamsOperation.getInstance().setSecHostId(siriusHost.getId()); SystemParamsOperation.getInstance().setSecHostName(siriusHost.getName()); SystemParamsOperation.getInstance().setSecHostTerminalId(siriusHost.getTid()); SystemParamsOperation.getInstance().setSecHostMerchantId(extractDigits(siriusHost.getMid())); diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java index a4f676b..8357223 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/e_receipt/EReceiptRequest.java @@ -37,10 +37,19 @@ public class EReceiptRequest { private String batchNumber; private String shortCode; private String terminalId; + private String mmqrRef; + + private String hostId; public EReceiptRequest() {} // GETTERS + + + public String getHostId(){ return hostId; } + + public void setHostId(String hostId){ this.hostId = hostId; } + public String getMmqrRef(){ return mmqrRef; } public String getTerminalId(){ return terminalId; } public String getShortCode(){ return shortCode; } @@ -239,6 +248,5 @@ public class EReceiptRequest { public void setCardLabel(String cardLabel) { this.cardLabel = cardLabel; } - - + public void setMmqrRef(String mmqrRef){ this.mmqrRef = mmqrRef; } } diff --git a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/sirius/SiriusHost.java b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/sirius/SiriusHost.java index 622d02a..cca6cb1 100644 --- a/baselib/src/main/java/com/utsmyanmar/baselib/network/model/sirius/SiriusHost.java +++ b/baselib/src/main/java/com/utsmyanmar/baselib/network/model/sirius/SiriusHost.java @@ -2,6 +2,7 @@ package com.utsmyanmar.baselib.network.model.sirius; public class SiriusHost { + private String id; private String name; private String description; @@ -19,7 +20,7 @@ public class SiriusHost { private String typ; - public SiriusHost(String name, String description, String primaryIP, String secondaryIP, String currency, String mid, String tid) { + public SiriusHost(String id ,String name, String description, String primaryIP, String secondaryIP, String currency, String mid, String tid) { this.name = name; this.description = description; this.primaryIP = primaryIP; @@ -27,6 +28,13 @@ public class SiriusHost { this.currency = currency; this.mid = mid; this.tid = tid; + this.id = id; + } + + public void setId(String id){ this.id = id; } + + public String getId(){ + return id; } public void setName(String name) { 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 a21bb5a..72fe1ef 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 @@ -1676,4 +1676,15 @@ public class SystemParamsOperation { params.setTerminalName(description); saveSystemParamsSettings(params); } + + public void setSecHostId(String id) { + SystemParamsSettings params = getSystemParamsSettings(); + params.setSecHostId(id); + saveSystemParamsSettings(params); + } + + public String getSecHostId(){ + SystemParamsSettings paramsSettings = getSystemParamsSettings(); + return paramsSettings.getSecHostId(); + } } \ 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 332e2e5..f04955f 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 @@ -95,6 +95,8 @@ public class SystemParamsSettings implements Serializable { private String hostName = ""; + private String secHostId = ""; + private String secHostName = ""; private String secHostIpAddress = ""; @@ -1018,6 +1020,14 @@ public class SystemParamsSettings implements Serializable { this.terminalName = terminalName; } + public void setSecHostId(String id) { + this.secHostId = id; + } + + public String getSecHostId() { + return secHostId; + } + /* // 流水号起始 private String serialNum = Configs.getInstance().SERIAL_NUM(); // 批次号起始