Compare commits
No commits in common. "7346bae0866822ad6ea508c313381d56d358ac3e" and "fc8349ad2d90bd15c7a1cc6c4546904bb8d76c6b" have entirely different histories.
7346bae086
...
fc8349ad2d
@ -13,6 +13,17 @@
|
|||||||
</DropdownSelection>
|
</DropdownSelection>
|
||||||
<DialogSelection />
|
<DialogSelection />
|
||||||
</SelectionState>
|
</SelectionState>
|
||||||
|
<SelectionState runConfigName="testResponseSalePacket()">
|
||||||
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
<DropdownSelection timestamp="2026-01-20T10:15:53.662415Z">
|
||||||
|
<Target type="DEFAULT_BOOT">
|
||||||
|
<handle>
|
||||||
|
<DeviceId pluginId="PhysicalDevice" identifier="serial=0123456789ABCDEF" />
|
||||||
|
</handle>
|
||||||
|
</Target>
|
||||||
|
</DropdownSelection>
|
||||||
|
<DialogSelection />
|
||||||
|
</SelectionState>
|
||||||
</selectionStates>
|
</selectionStates>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@ -1,6 +1,5 @@
|
|||||||
package com.utsmm.kbz;
|
package com.utsmm.kbz;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.databinding.DataBindingUtil;
|
import androidx.databinding.DataBindingUtil;
|
||||||
@ -158,10 +157,10 @@ public class MainActivity extends AppCompatActivity implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initKey(){
|
private void initKey(){
|
||||||
// SystemParamsOperation.getInstance().setTmsAddress("https://api-tms-uat.kbzbank.com:8443/sirius");
|
SystemParamsOperation.getInstance().setTmsAddress("https://api-tms-uat.kbzbank.com:8443/sirius");
|
||||||
SystemParamsOperation.getInstance().setTmsAddress("https://sirius-nest.utsmyanmar.com");
|
// SystemParamsOperation.getInstance().setTmsAddress("https://sirius-nest.utsmyanmar.com");
|
||||||
// SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt");
|
SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt");
|
||||||
SystemParamsOperation.getInstance().setEReceiptAddress("https://receipt-nest.utsmyanmar.com");
|
// SystemParamsOperation.getInstance().setEReceiptAddress("http://receipt-nest.utsmyanmar.com");
|
||||||
|
|
||||||
PinPad pinPad = MyApplication.getInstance().deviceEngine.getPinPad();
|
PinPad pinPad = MyApplication.getInstance().deviceEngine.getPinPad();
|
||||||
byte[] encryptedPIK = SystemParamsOperation.getInstance().getPIK();
|
byte[] encryptedPIK = SystemParamsOperation.getInstance().getPIK();
|
||||||
|
|||||||
@ -321,7 +321,6 @@ public class MainFragment extends DataBindingFragment {
|
|||||||
private void updateButtonStatus() {
|
private void updateButtonStatus() {
|
||||||
mainViewModel.settlementStatus.setValue(SystemParamsOperation.getInstance().getSettlementStatus());
|
mainViewModel.settlementStatus.setValue(SystemParamsOperation.getInstance().getSettlementStatus());
|
||||||
mainViewModel.kPayStatus.setValue(SystemParamsOperation.getInstance().getQRPayStatus());
|
mainViewModel.kPayStatus.setValue(SystemParamsOperation.getInstance().getQRPayStatus());
|
||||||
mainViewModel.voidStatus.setValue(SystemParamsOperation.getInstance().getVoidStatus());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpCarouselImages() {
|
private void setUpCarouselImages() {
|
||||||
|
|||||||
@ -68,60 +68,8 @@ public class DashboardTransFragment extends DataBindingFragment {
|
|||||||
initData();
|
initData();
|
||||||
}
|
}
|
||||||
|
|
||||||
// private void initData() {
|
|
||||||
// TMSUtil.getInstance().checkFeaturesList(requireActivity(),featuresList);
|
|
||||||
// mainAdapter.notifyDataSetChanged();
|
|
||||||
// }
|
|
||||||
|
|
||||||
Boolean isRefundEnabled = SystemParamsOperation.getInstance().getRefundStatus();
|
|
||||||
Boolean isVoidEnabled = SystemParamsOperation.getInstance().getVoidStatus();
|
|
||||||
Boolean isPreAuthEnabled = SystemParamsOperation.getInstance().getPreAuthStatus();
|
|
||||||
Boolean isCashAdvanceEnabled = SystemParamsOperation.getInstance().getCashAdvanceStatus();
|
|
||||||
private void initData() {
|
private void initData() {
|
||||||
featuresList.clear();
|
TMSUtil.getInstance().checkFeaturesList(requireActivity(),featuresList);
|
||||||
|
|
||||||
ArrayList<Features> allFeatures = new ArrayList<>();
|
|
||||||
TMSUtil.getInstance().checkFeaturesList(requireActivity(), allFeatures);
|
|
||||||
|
|
||||||
for (Features feature : allFeatures) {
|
|
||||||
|
|
||||||
switch (feature.getFeaturesType()) {
|
|
||||||
|
|
||||||
case REFUND:
|
|
||||||
if (isRefundEnabled) {
|
|
||||||
featuresList.add(feature);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case VOID:
|
|
||||||
if (isVoidEnabled) {
|
|
||||||
featuresList.add(feature);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PRE_AUTH_SALE:
|
|
||||||
|
|
||||||
case PRE_AUTH_COMPLETE_VOID:
|
|
||||||
|
|
||||||
case PRE_AUTH_VOID:
|
|
||||||
|
|
||||||
case PRE_AUTH_COMPLETE:
|
|
||||||
if (isPreAuthEnabled) {
|
|
||||||
featuresList.add(feature);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CASH_ADVANCE:
|
|
||||||
if(isCashAdvanceEnabled){
|
|
||||||
featuresList.add(feature);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
featuresList.add(feature);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mainAdapter.notifyDataSetChanged();
|
mainAdapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,6 +131,7 @@ public class DashboardTransFragment extends DataBindingFragment {
|
|||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
Boolean demoStatus = SystemParamsOperation.getInstance().getDemoStatus();
|
Boolean demoStatus = SystemParamsOperation.getInstance().getDemoStatus();
|
||||||
|
LogUtil.d("KMK", "demo => " + demoStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ClickEvent {
|
public class ClickEvent {
|
||||||
|
|||||||
@ -1,18 +1,11 @@
|
|||||||
package com.utsmm.kbz.ui.settings;
|
package com.utsmm.kbz.ui.settings;
|
||||||
|
|
||||||
import static com.utsmyanmar.paylibs.print.printx.BaseXPrint.wrapAddressText;
|
|
||||||
|
|
||||||
import android.text.TextUtils;
|
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
import androidx.lifecycle.ViewModel;
|
import androidx.lifecycle.ViewModel;
|
||||||
|
|
||||||
import com.utsmm.kbz.BuildConfig;
|
import com.utsmm.kbz.BuildConfig;
|
||||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class HostConfigViewModel extends ViewModel {
|
public class HostConfigViewModel extends ViewModel {
|
||||||
public String appVersion = BuildConfig.VERSION_NAME;
|
public String appVersion = BuildConfig.VERSION_NAME;
|
||||||
|
|
||||||
@ -45,11 +38,13 @@ public class HostConfigViewModel extends ViewModel {
|
|||||||
|
|
||||||
|
|
||||||
public void loadConfig() {
|
public void loadConfig() {
|
||||||
|
|
||||||
SystemParamsOperation sp = SystemParamsOperation.getInstance();
|
SystemParamsOperation sp = SystemParamsOperation.getInstance();
|
||||||
|
|
||||||
// Merchant Info
|
// Merchant Info
|
||||||
merchantName.setValue(sp.getMerchantName());
|
merchantName.setValue(sp.getMerchantName());
|
||||||
merchantPhone.setValue(sp.getMerchantPhoneNo());
|
merchantPhone.setValue(sp.getMerchantPhoneNo());
|
||||||
merchantAddress1.setValue(wrapForUi(sp.getMerchantAddress()));
|
merchantAddress1.setValue(sp.getMerchantAddress());
|
||||||
merchantAddress2.setValue(sp.getMerchantAddress2());
|
merchantAddress2.setValue(sp.getMerchantAddress2());
|
||||||
terminalName.setValue(sp.getTerminalName());
|
terminalName.setValue(sp.getTerminalName());
|
||||||
|
|
||||||
@ -86,22 +81,6 @@ public class HostConfigViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String wrapForUi(String text) {
|
|
||||||
if (text == null || text.isEmpty()) return "";
|
|
||||||
|
|
||||||
List<String> result = new ArrayList<>();
|
|
||||||
|
|
||||||
String[] paragraphs = text.split("\\n");
|
|
||||||
|
|
||||||
for (String paragraph : paragraphs) {
|
|
||||||
List<String> wrappedLines = wrapAddressText(paragraph.trim(), 29);
|
|
||||||
|
|
||||||
result.addAll(wrappedLines);
|
|
||||||
}
|
|
||||||
|
|
||||||
return TextUtils.join("\n", result);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String[] split(String raw) {
|
private String[] split(String raw) {
|
||||||
if (raw == null || raw.trim().isEmpty()) {
|
if (raw == null || raw.trim().isEmpty()) {
|
||||||
return new String[]{"", ""};
|
return new String[]{"", ""};
|
||||||
|
|||||||
@ -399,7 +399,10 @@ public class SettlementTransactionFragment extends DataBindingFragment implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onConfirm(){
|
public void onConfirm(){
|
||||||
|
if(saleCount == 0){
|
||||||
|
showDeclineDialog("No Transaction Found!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(sharedViewModel.getTransMenu().getValue() == TransMenu.SETTLEMENT) {
|
if(sharedViewModel.getTransMenu().getValue() == TransMenu.SETTLEMENT) {
|
||||||
/* April 10 , 2024 Smile requested not to send to host even settlement button was clicked */
|
/* April 10 , 2024 Smile requested not to send to host even settlement button was clicked */
|
||||||
settlementViewModel.startSettlementProcess();
|
settlementViewModel.startSettlementProcess();
|
||||||
|
|||||||
@ -647,7 +647,7 @@ public class TMSSetupsImpl implements TMSSetups{
|
|||||||
else if(TextUtils.equals(name,"bin_list")) {
|
else if(TextUtils.equals(name,"bin_list")) {
|
||||||
SystemParamsOperation.getInstance().setBinValue(data);
|
SystemParamsOperation.getInstance().setBinValue(data);
|
||||||
}
|
}
|
||||||
else if(TextUtils.equals(name, "printer_disabled")){
|
else if(TextUtils.equals(name, "printer_disable")){
|
||||||
SystemParamsOperation.getInstance().setPrinterDisabled(parseBoolean(data));
|
SystemParamsOperation.getInstance().setPrinterDisabled(parseBoolean(data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,23 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
<layout xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
xmlns:bind="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
<import type="android.view.View"/>
|
<import type="android.view.View"/>
|
||||||
<import type="android.text.TextUtils"/>
|
<import type="android.text.TextUtils"/>
|
||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="viewModel"
|
name="viewModel"
|
||||||
type="com.utsmm.kbz.ui.settings.HostConfigViewModel"/>
|
type="com.utsmm.kbz.ui.settings.HostConfigViewModel" />
|
||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="sharedViewModel"
|
name="sharedViewModel"
|
||||||
type="com.utsmm.kbz.ui.core_viewmodel.SharedViewModel"/>
|
type="com.utsmm.kbz.ui.core_viewmodel.SharedViewModel" />
|
||||||
|
|
||||||
<variable
|
<variable
|
||||||
name="click"
|
name="click"
|
||||||
type="com.utsmm.kbz.ui.settings.HostConfigFragment.ClickHandler"/>
|
type="com.utsmm.kbz.ui.settings.HostConfigFragment.ClickHandler" />
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
@ -25,11 +23,12 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:padding="16dp">
|
android:padding="16dp">
|
||||||
|
|
||||||
<!-- ================= CARD ================= -->
|
<!-- CARD SECTION -->
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView
|
||||||
android:id="@+id/hostCard"
|
android:id="@+id/hostCard"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginBottom="8dp"
|
||||||
app:cardCornerRadius="16dp"
|
app:cardCornerRadius="16dp"
|
||||||
app:cardElevation="0dp"
|
app:cardElevation="0dp"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
@ -54,204 +53,292 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<!-- ===== HEADER ===== -->
|
<!-- HEADER -->
|
||||||
<TextView
|
|
||||||
android:text="@{viewModel.terminalName}"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:gravity="center"
|
|
||||||
style="@style/HostLabelStyle"
|
|
||||||
android:fontFamily="@font/rubik_regular"
|
|
||||||
tools:text="Terminal Name"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:text="@{viewModel.merchantAddress1}"
|
|
||||||
android:textSize="14sp"
|
|
||||||
style="@style/HostLabelStyle"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:gravity="center"
|
|
||||||
android:fontFamily="@font/rubik_regular"
|
|
||||||
tools:text="Merchant Address Line 1"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
|
<!-- Merchant Info -->
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:text="@{viewModel.merchantName}"-->
|
||||||
|
<!-- android:fontFamily="@font/rubik_regular"-->
|
||||||
|
<!-- android:textSize="16sp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- android:textAlignment="center"-->
|
||||||
|
<!-- tools:text="Someone Mart"/>-->
|
||||||
<TextView
|
<TextView
|
||||||
android:text="--------------------------------------------------------------------------"
|
|
||||||
android:gravity="left"
|
|
||||||
android:paddingVertical="8dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:text="TERMINAL CONFIGURATION"
|
|
||||||
android:textSize="16sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
style="@style/HostLabelStyle"
|
|
||||||
android:gravity="center"
|
|
||||||
android:paddingBottom="12dp"
|
|
||||||
android:fontFamily="@font/rubik_regular"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
<!-- ===== PRIMARY HOST ===== -->
|
|
||||||
<TextView
|
|
||||||
android:text="PRIMARY HOST"
|
|
||||||
android:paddingBottom="4dp"
|
|
||||||
style="@style/HostLabelStyle"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
<TableLayout
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:stretchColumns="1">
|
android:text="@{viewModel.terminalName}"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
<TableRow>
|
android:textSize="16sp"
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Name"/>
|
android:textStyle="bold"
|
||||||
<TextView style="@style/HostValueStyle"
|
android:textAlignment="center"
|
||||||
android:text='@{": " + viewModel.hostName}'/>
|
tools:text="Terminal_Name"/>
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="TID"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.tid}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="MID"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.mid}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Primary IP"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.primaryIp}'/>
|
|
||||||
</TableRow>
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Primary Port"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.primaryPort}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Secondary IP"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secondaryIp}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Secondary Port"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secondaryPort}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Currency"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.currencyCode}'/>
|
|
||||||
</TableRow>
|
|
||||||
</TableLayout>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="--------------------------------------------------------------------------"
|
android:layout_width="match_parent"
|
||||||
android:gravity="left"
|
|
||||||
android:paddingVertical="8dp"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="match_parent"/>
|
android:text="@{viewModel.merchantAddress1}"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textAlignment="center"
|
||||||
|
tools:text="Corner of Bogyoke and Botahtaung Pagoda Street"/>
|
||||||
|
|
||||||
<!-- ===== SECONDARY HOST ===== -->
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@{viewModel.merchantAddress2}"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textAlignment="center"
|
||||||
|
tools:text="Yangon"/>
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:text="@{viewModel.terminalName}"-->
|
||||||
|
<!-- android:fontFamily="@font/rubik_regular"-->
|
||||||
|
<!-- android:textSize="16sp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- tools:text="Terminal_Name"/>-->
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="*************************************************"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
tools:text="*********************************************************"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="TERMINAL CONFIGURATION"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textAlignment="center"
|
||||||
|
android:paddingBottom="12dp"
|
||||||
|
tools:text="TERMINAL CONFIGURATION"/>
|
||||||
|
|
||||||
|
<!-- PRIMARY HOST -->
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="PRIMARY HOST"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="PRIMARY HOST"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Name : " + viewModel.hostName}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Name : Card Host"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"TID : " + viewModel.tid}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="TID : 12345678"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"MID : " + viewModel.mid}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="MID : 123456789876543"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"PRIMARY IP : " + viewModel.primaryIp}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="PRIMARY IP : primaryidport.com"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"PRIMARY PORT : " + viewModel.primaryPort}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="PRIMARY PORT : 8080"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"SECONDARY IP : " + viewModel.secondaryIp}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="SECONDARY IP : secondaryidport.com"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"SECONDARY PORT : " + viewModel.secondaryPort}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="SECONDARY PORT : 8080"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"CURRENCY CODE : " + viewModel.currencyCode}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="CURRENCY CODE : MMK"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="*************************************************"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
tools:text="********************************************************"/>
|
||||||
|
|
||||||
|
<!-- SECONDARY HOST -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:visibility='@{!TextUtils.isEmpty(viewModel.secHostName) ? View.VISIBLE : View.GONE}'
|
android:visibility='@{!viewModel.secHostName.isEmpty() ? View.VISIBLE : View.GONE}'
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="SECONDARY HOST"
|
|
||||||
android:textSize="14sp"
|
|
||||||
style="@style/HostLabelStyle"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="@font/rubik_regular"
|
|
||||||
android:paddingTop="8dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
|
|
||||||
<TableLayout
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:stretchColumns="1">
|
android:text="SECONDARY HOST"
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
<TableRow>
|
android:textSize="14sp"
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Name"/>
|
android:textStyle="bold"
|
||||||
<TextView style="@style/HostValueStyle"
|
tools:text="SECONDARY HOST"/>
|
||||||
android:text='@{": " + viewModel.secHostName}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Short Code"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.shortCode}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Primary IP"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secHostPrimaryIp}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Primary Port"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secHostPrimaryPort}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Secondary IP"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secHostSecondaryIp}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Secondary Port"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.secHostSecondaryPort}'/>
|
|
||||||
</TableRow>
|
|
||||||
|
|
||||||
<TableRow>
|
|
||||||
<TextView style="@style/HostLabelStyle" android:text="Currency"/>
|
|
||||||
<TextView style="@style/HostValueStyle"
|
|
||||||
android:text='@{": " + viewModel.currencyCode}'/>
|
|
||||||
</TableRow>
|
|
||||||
</TableLayout>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="--------------------------------------------------------------------------"
|
android:layout_width="match_parent"
|
||||||
android:gravity="left"
|
|
||||||
android:paddingVertical="8dp"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_width="match_parent"/>
|
android:text='@{"Name : " + viewModel.secHostName}'
|
||||||
</LinearLayout>
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Name : QR Host"/>
|
||||||
|
|
||||||
<!-- ===== APP VERSION ===== -->
|
<!-- <TextView-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:text='@{"TID : " + viewModel.secHostTid}'-->
|
||||||
|
<!-- android:fontFamily="@font/rubik_regular"-->
|
||||||
|
<!-- android:textSize="14sp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- tools:text="TID : 87654321"/>-->
|
||||||
|
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:text='@{"MID : " + viewModel.secHostMid}'-->
|
||||||
|
<!-- android:fontFamily="@font/rubik_regular"-->
|
||||||
|
<!-- android:textSize="14sp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- tools:text="MID : 987654321012345"/>-->
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"SHORT CODE : " + viewModel.shortCode}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="SHORT CODE : 12345678987"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Primary Ip : " + viewModel.secHostPrimaryIp}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Primary Ip : 10.10.10.10"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Primary Port : " + viewModel.secHostPrimaryPort}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Primary Port : 5000"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Secondary Ip : " + viewModel.secHostSecondaryIp}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Secondary Ip : 10.10.10.11"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Secondary Port : " + viewModel.secHostSecondaryPort}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Secondary Port : 5001"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"Currency Code : " + viewModel.currencyCode}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:text="Currency Code : MMK"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="*************************************************"
|
||||||
|
android:paddingTop="8dp"
|
||||||
|
android:paddingBottom="8dp"
|
||||||
|
tools:text="********************************************************"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
|
tools:visibility="visible">
|
||||||
<TextView
|
<TextView
|
||||||
android:text='@{"App Version : " + viewModel.appVersion}'
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text='@{"App Version : " + viewModel.appVersion}'
|
||||||
|
android:fontFamily="@font/rubik_regular"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
style="@style/HostLabelStyle"
|
tools:text="App Version : 1.0"/>
|
||||||
android:fontFamily="@font/rubik_regular"
|
</LinearLayout>
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_width="match_parent"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
<!-- ================= BUTTONS ================= -->
|
<!-- ACTION BUTTONS -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/actionButtons"
|
android:id="@+id/actionButtons"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -269,7 +356,8 @@
|
|||||||
android:onClick="@{()-> click.onCancel()}"
|
android:onClick="@{()-> click.onCancel()}"
|
||||||
android:background="@drawable/bg_rounded_btn_cancel_cv"
|
android:background="@drawable/bg_rounded_btn_cancel_cv"
|
||||||
android:textColor="@color/colorPrimary"
|
android:textColor="@color/colorPrimary"
|
||||||
android:textStyle="bold"/>
|
android:textStyle="bold"
|
||||||
|
tools:text="Cancel"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@ -280,7 +368,8 @@
|
|||||||
android:onClick="@{()-> click.onPrint()}"
|
android:onClick="@{()-> click.onPrint()}"
|
||||||
android:background="@drawable/bg_rounded_btn_cv"
|
android:background="@drawable/bg_rounded_btn_cv"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textStyle="bold"/>
|
android:textStyle="bold"
|
||||||
|
tools:text="Print"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|||||||
@ -1,37 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:paddingVertical="2dp">
|
|
||||||
|
|
||||||
<!-- LABEL -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvLabel"
|
|
||||||
android:layout_width="120dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="Label"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="@font/rubik_regular"/>
|
|
||||||
|
|
||||||
<!-- COLON -->
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text=" : "
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="@font/rubik_regular"/>
|
|
||||||
|
|
||||||
<!-- VALUE -->
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tvValue"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:text="Value"
|
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
android:fontFamily="@font/rubik_regular"/>
|
|
||||||
</LinearLayout>
|
|
||||||
@ -94,21 +94,4 @@
|
|||||||
<item name="android:textColor">@color/colorPrimary</item>
|
<item name="android:textColor">@color/colorPrimary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="HostLabelStyle">
|
|
||||||
<item name="android:layout_width">110dp</item> <item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:fontFamily">@font/rubik_regular</item>
|
|
||||||
<item name="android:textSize">14sp</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
<item name="android:textColor">#000000</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="HostValueStyle">
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:fontFamily">@font/rubik_regular</item>
|
|
||||||
<item name="android:textSize">14sp</item>
|
|
||||||
<item name="android:textStyle">bold</item>
|
|
||||||
<item name="android:textColor">#000000</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@ -287,8 +287,8 @@ public class NetworkModule {
|
|||||||
tmsAddress = getTMSUrlFromNative();
|
tmsAddress = getTMSUrlFromNative();
|
||||||
}
|
}
|
||||||
|
|
||||||
String baseUrl = tmsAddress.trim() + "/api/v1/"; //for on prim
|
// String baseUrl = tmsAddress.trim() + "/api/v1/"; //for on prim
|
||||||
// String baseUrl = tmsAddress.trim() + "/"; //for uat and prod
|
String baseUrl = tmsAddress.trim() + "/"; //for uat and prod
|
||||||
|
|
||||||
final Gson gson =
|
final Gson gson =
|
||||||
new GsonBuilder().create();
|
new GsonBuilder().create();
|
||||||
|
|||||||
@ -24,12 +24,12 @@ public interface KPayApiService {
|
|||||||
|
|
||||||
|
|
||||||
//this accept "url" bez this api start with https and other are http in uat
|
//this accept "url" bez this api start with https and other are http in uat
|
||||||
@POST
|
|
||||||
Observable<KPayQRRequest.CloseOrderResponse> closeOrder(@Url String url, @Body KPayQRRequest.CloseOrderRequest closeOrderRequest);
|
|
||||||
|
|
||||||
|
|
||||||
//this 2 is for production
|
|
||||||
// @POST("closeorder")
|
// @POST("closeorder")
|
||||||
// Observable<KPayQRRequest.CloseOrderResponse> closeOrder(@Body KPayQRRequest.CloseOrderRequest closeOrderRequest);
|
// Observable<KPayQRRequest.CloseOrderResponse> closeOrder(@Body KPayQRRequest.CloseOrderRequest closeOrderRequest);
|
||||||
|
|
||||||
|
|
||||||
|
//this 2 is for production
|
||||||
|
@POST("closeorder")
|
||||||
|
Observable<KPayQRRequest.CloseOrderResponse> closeOrder(@Url String url, @Body KPayQRRequest.CloseOrderRequest closeOrderRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,7 +86,7 @@ public class Repository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Observable<KPayQRRequest.CloseOrderResponse> qrCloseOrder(KPayQRRequest.CloseOrderRequest request){
|
public Observable<KPayQRRequest.CloseOrderResponse> qrCloseOrder(KPayQRRequest.CloseOrderRequest request){
|
||||||
String url = "https://api-uat.kbzpay.com/payment/gateway/uat/closeorder"; //close this in prod
|
String url = "https://api.kbzpay.com/payment/gateway/uat/closeorder"; //close this in prod
|
||||||
return kPayApiService.closeOrder(url, request); // this is for local
|
return kPayApiService.closeOrder(url, request); // this is for local
|
||||||
// return kPayApiService.closeOrder(request); //this is for prod
|
// return kPayApiService.closeOrder(request); //this is for prod
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,6 @@ import com.utsmyanmar.paylibs.utils.print_utils.BitmapUtils;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@ -320,11 +319,11 @@ public abstract class BaseXPrint {
|
|||||||
String secondLineName = PrintUtils.getInstance().processNameSpaceSecondLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()));
|
String secondLineName = PrintUtils.getInstance().processNameSpaceSecondLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()));
|
||||||
String firsLineName = PrintUtils.getInstance().processNameSpaceFirstLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()), secondLineName);
|
String firsLineName = PrintUtils.getInstance().processNameSpaceFirstLine(PrintUtils.getInstance().getCardHolderName(payDetail.getCardHolderName()), secondLineName);
|
||||||
|
|
||||||
print2ColumnsStringNoSpace("CARD NUM :", PrintUtils.getInstance().maskCardNumberPciDss(payDetail.getCardNo()));
|
print2ColumnsStringNoSpace("CARD NUM :", PrintUtils.getInstance().maskCardNumberPciDss(payDetail.getCardNo()));
|
||||||
print2ColumnsStringNoSpace("ENTRY MODE :", PrintUtils.getInstance().getEntryType(payDetail.getCardType()));
|
print2ColumnsStringNoSpace("ENTRY MODE:", PrintUtils.getInstance().getEntryType(payDetail.getCardType()));
|
||||||
print2ColumnsStringNoSpace("EXP DATE :",PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()));
|
print2ColumnsStringNoSpace("EXP DATE :",PrintUtils.getInstance().getFormatExpDate(payDetail.getEXPDate()));
|
||||||
print2ColumnsStringNoSpace("CARD TYPE :", payDetail.getAccountType());
|
print2ColumnsStringNoSpace("CARD TYPE :", payDetail.getAccountType());
|
||||||
print2ColumnsStringNoSpace("TRACE NUM :", payDetail.getVoucherNo());
|
print2ColumnsStringNoSpace("TRACE NUM :", payDetail.getVoucherNo());
|
||||||
|
|
||||||
if (payDetail.getCardType() != BaseCardType.MAGNETIC.getValue()) {
|
if (payDetail.getCardType() != BaseCardType.MAGNETIC.getValue()) {
|
||||||
print2ColumnsStringNoSpace("CARD HOLDER:", firsLineName);
|
print2ColumnsStringNoSpace("CARD HOLDER:", firsLineName);
|
||||||
@ -334,10 +333,10 @@ public abstract class BaseXPrint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
|
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED)) {
|
||||||
print2ColumnsStringNoSpace( "APPR CODE :" ,payDetail.getApprovalCode());
|
print2ColumnsStringNoSpace( "APPR CODE :" ,payDetail.getApprovalCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
print2ColumnsStringNoSpace("TRANS REF :", payDetail.getReferNo());
|
print2ColumnsStringNoSpace("TRANS REF :", payDetail.getReferNo());
|
||||||
|
|
||||||
|
|
||||||
// if (payDetail.getCardType() != BaseCardType.MAGNETIC.getValue()) {
|
// if (payDetail.getCardType() != BaseCardType.MAGNETIC.getValue()) {
|
||||||
@ -356,31 +355,33 @@ public abstract class BaseXPrint {
|
|||||||
print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount()));
|
print2ColumnsStringNoSpace("TXN FEES", ":" + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAdditionalAmount()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dotBreak();
|
// emptyLine(2);
|
||||||
|
lineBreak();
|
||||||
// check is pin change
|
// check is pin change
|
||||||
|
|
||||||
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
if (payDetail.getTradeAnswerCode().equals("00") || payDetail.getTradeAnswerCode().equals("000")) {
|
||||||
String currencySign = currencyCodeToText(payDetail.getCurrencyCode());
|
String currencySign = currencyCodeToText(payDetail.getCurrencyCode());
|
||||||
if (payDetail.getTransactionType() == TransactionType.BALANCE_INQUIRY) {
|
if (payDetail.getTransactionType() == TransactionType.BALANCE_INQUIRY) {
|
||||||
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("MMK " + PrintUtils.getInstance().getBalanceInquiryNumberFormat(payDetail.getAmount()), fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
} else if (payDetail.getTransactionType() == TransactionType.VOID || payDetail.getTransactionType() == TransactionType.REFUND || payDetail.getTransactionType() == TransactionType.PRE_SALE_CANCEL || payDetail.getTransactionType() == TransactionType.PRE_SALE_COMPLETE_VOID) {
|
} else if (payDetail.getTransactionType() == TransactionType.VOID || payDetail.getTransactionType() == TransactionType.REFUND || payDetail.getTransactionType() == TransactionType.PRE_SALE_CANCEL || payDetail.getTransactionType() == TransactionType.PRE_SALE_COMPLETE_VOID) {
|
||||||
print2SideString("AMT:" + currencySign, "- " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
print2SideString("AMOUNT:" + currencySign, "- " + PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
} else if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
} else if (payDetail.getTransactionType() == TransactionType.CASH_ADVANCE) {
|
||||||
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
long totalAmount = payDetail.getAmount() + payDetail.getAdditionalAmount();
|
||||||
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
print2SideString("AMOUNT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(totalAmount));
|
||||||
} else {
|
} else {
|
||||||
print2SideString("AMT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
print2SideString("AMOUNT:" + currencySign, PrintUtils.getInstance().getSeparatorNumberFormat(payDetail.getAmount()));
|
||||||
}
|
}
|
||||||
dotBreak();
|
lineBreak();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
dotBreak();
|
lineBreak();
|
||||||
emptyLine(2);
|
emptyLine(2);
|
||||||
printer.appendPrnStr("TRANSACTION FAIL", fontNormal, AlignEnum.CENTER,true);
|
printer.appendPrnStr("TRANSACTION FAIL", fontNormal, AlignEnum.CENTER,true);
|
||||||
printer.appendPrnStr(BaseErrorCode.getCode(payDetail.getTradeAnswerCode()), fontNormal, AlignEnum.CENTER,true);
|
printer.appendPrnStr(BaseErrorCode.getCode(payDetail.getTradeAnswerCode()), fontNormal, AlignEnum.CENTER,true);
|
||||||
|
|
||||||
emptyLine(2);
|
emptyLine(2);
|
||||||
dotBreak();
|
lineBreak();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -431,28 +432,32 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
|
|
||||||
// printer.appendPrnStr("DATE :" + payDetail.getTransDate() + " TIME: " + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("DATE :" + payDetail.getTransDate() + " TIME: " + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
||||||
if (Objects.equals(payDetail.getAccountType(), CardScheme.MPU_CTLS.name)) {
|
if (Objects.equals(payDetail.getAccountType(), CardScheme.MPU_CTLS.name)) {
|
||||||
hostName = HOST_NAME_MPU;
|
hostName = HOST_NAME_MPU;
|
||||||
} else {
|
} else {
|
||||||
hostName = HOST_NAME_VM;
|
hostName = HOST_NAME_VM;
|
||||||
}
|
}
|
||||||
printer.appendPrnStr("HOST :" + hostName, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("HOST:" + hostName, fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("TID :" + payDetail.getTerminalNo(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("TID :" + payDetail.getTerminalNo(), fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("MID :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("MID :" + payDetail.getMerchantNo(), fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
if (payDetail.getTransType().equals("SUMMARY_REPORT")) {
|
if (payDetail.getTransType().equals("SUMMARY_REPORT")) {
|
||||||
printer.appendPrnStr("BTH NO:" + batchNum, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("BATCH NO :" + batchNum, fontNormal, AlignEnum.LEFT,false);
|
||||||
} else {
|
} else {
|
||||||
// printer.printColumnsString(new String[]{"BATCH NO :" + batchNum, "INV NO: " + invoiceNo}, new int[]{2, 2}, new int[]{0, 2}, null);
|
// printer.printColumnsString(new String[]{"BATCH NO :" + batchNum, "INV NO: " + invoiceNo}, new int[]{2, 2}, new int[]{0, 2}, null);
|
||||||
printer.appendPrnStr("BTH NO:" + batchNum + " TRACE NO:" + traceNo, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("BATCH NO :" + batchNum + " TRACE NO:" + traceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
|
|
||||||
printer.appendPrnStr(transType.replace("_", " "), fontNormal, AlignEnum.CENTER,true);
|
printer.appendPrnStr(transType.replace("_", " "), fontNormal, AlignEnum.CENTER,true);
|
||||||
|
|
||||||
|
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("\n", fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
@ -1002,32 +1007,6 @@ public abstract class BaseXPrint {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> wrapAddressText(String text, int maxLen) {
|
|
||||||
List<String> lines = new ArrayList<>();
|
|
||||||
String[] words = text.split("\\s+");
|
|
||||||
|
|
||||||
StringBuilder currentLine = new StringBuilder();
|
|
||||||
|
|
||||||
for (String word : words) {
|
|
||||||
// +1 for space (if line is not empty)
|
|
||||||
if (currentLine.length() + word.length() + 1 <= maxLen) {
|
|
||||||
if (currentLine.length() > 0) {
|
|
||||||
currentLine.append(" ");
|
|
||||||
}
|
|
||||||
currentLine.append(word);
|
|
||||||
} else {
|
|
||||||
lines.add(currentLine.toString());
|
|
||||||
currentLine = new StringBuilder(word);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentLine.length() > 0) {
|
|
||||||
lines.add(currentLine.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
return lines;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void printMerchantHeader() {
|
protected void printMerchantHeader() {
|
||||||
String receiptHeader = "";
|
String receiptHeader = "";
|
||||||
String merchantName = "";
|
String merchantName = "";
|
||||||
@ -1037,27 +1016,41 @@ public abstract class BaseXPrint {
|
|||||||
String merchantPhoneNo = "";
|
String merchantPhoneNo = "";
|
||||||
String terminalName = "";
|
String terminalName = "";
|
||||||
|
|
||||||
|
|
||||||
merchantName = SystemParamsOperation.getInstance().getMerchantName();
|
merchantName = SystemParamsOperation.getInstance().getMerchantName();
|
||||||
receiptHeader = SystemParamsOperation.getInstance().getReceiptHeader();
|
receiptHeader = SystemParamsOperation.getInstance().getReceiptHeader();
|
||||||
merchantAddress = SystemParamsOperation.getInstance().getMerchantAddress();
|
merchantAddress = SystemParamsOperation.getInstance().getMerchantAddress();
|
||||||
|
merchantAddress2 = SystemParamsOperation.getInstance().getMerchantAddress2();
|
||||||
|
merchantAddress3 = SystemParamsOperation.getInstance().getMerchantAddress3();
|
||||||
|
merchantPhoneNo = SystemParamsOperation.getInstance().getMerchantPhoneNo();
|
||||||
terminalName = SystemParamsOperation.getInstance().getTerminalName();
|
terminalName = SystemParamsOperation.getInstance().getTerminalName();
|
||||||
|
|
||||||
List<String> result = wrapAddressText(merchantAddress, 29);
|
|
||||||
|
|
||||||
if (receiptHeader == null || TextUtils.equals(receiptHeader, "") || receiptHeader.trim().isEmpty()) {
|
if (receiptHeader == null || TextUtils.equals(receiptHeader, "") || receiptHeader.trim().isEmpty()) {
|
||||||
receiptHeader = merchantName;
|
receiptHeader = merchantName;
|
||||||
}
|
}
|
||||||
if (TextUtils.equals(merchantAddress, "") || merchantAddress == null) {
|
if (TextUtils.equals(merchantAddress, "") || merchantAddress == null) {
|
||||||
merchantAddress = "";
|
merchantAddress = "";
|
||||||
}
|
}
|
||||||
|
if (TextUtils.equals(merchantAddress2, "") || merchantAddress2 == null) {
|
||||||
|
merchantAddress2 = "";
|
||||||
|
}
|
||||||
|
if (TextUtils.equals(merchantAddress3, "") || merchantAddress3 == null) {
|
||||||
|
merchantAddress3 = "";
|
||||||
|
}
|
||||||
|
// if (TextUtils.equals(merchantPhoneNo, "") || merchantPhoneNo == null) {
|
||||||
|
// merchantPhoneNo = "MERCHANT PHONENO";
|
||||||
|
// }
|
||||||
if(TextUtils.equals(terminalName, "") || terminalName == null){
|
if(TextUtils.equals(terminalName, "") || terminalName == null){
|
||||||
terminalName = "";
|
terminalName = "";
|
||||||
}
|
}
|
||||||
|
// emptyLine(1);
|
||||||
|
// printer.appendPrnStr(receiptHeader, fontNormal, AlignEnum.CENTER,false);
|
||||||
printer.appendPrnStr(terminalName, fontNormal, AlignEnum.CENTER, true);
|
printer.appendPrnStr(terminalName, fontNormal, AlignEnum.CENTER, true);
|
||||||
for (String line : result) {
|
printer.appendPrnStr(merchantAddress, fontNormal, AlignEnum.CENTER,false);
|
||||||
printer.appendPrnStr(line, fontNormal, AlignEnum.CENTER, false);
|
printer.appendPrnStr(merchantAddress2, fontNormal, AlignEnum.CENTER,false);
|
||||||
}
|
printer.appendPrnStr(merchantAddress3, fontNormal, AlignEnum.CENTER,false);
|
||||||
|
// printer.appendPrnStr(merchantPhoneNo, fontNormal, AlignEnum.CENTER,false);
|
||||||
|
// emptyLine(1);
|
||||||
dotBreak();
|
dotBreak();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1121,9 +1114,11 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("DATE :" + POSUtil.getInstance().formatDisplayDate(payDetail.getTransDate()), fontNormal, AlignEnum.LEFT, false);
|
||||||
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
printer.appendPrnStr("TIME :" + payDetail.getTransTime(), fontNormal, AlignEnum.LEFT, false);
|
||||||
if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
||||||
|
// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("TRACE NO :" + traceNum , fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("TRACE NO :" + traceNum , fontNormal, AlignEnum.LEFT,false);
|
||||||
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) {
|
} else if (!payDetail.getTransType().equals(SETTLEMENT) && !payDetail.getTransType().equals(SUMMARY) && payDetail.getTransactionType() != TransactionsType.MMQR_REFUND.value && payDetail.getTransactionType() != TransactionsType.MMQR.value) {
|
||||||
printer.appendPrnStr("BTH NO:" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("BTH NO :" + batchNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
} else if (payDetail.getTransType().equals(SUMMARY)) {
|
} else if (payDetail.getTransType().equals(SUMMARY)) {
|
||||||
printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("HOST :" + HOST_NAME_MPU + "", fontNormal, AlignEnum.LEFT,false);
|
||||||
}
|
}
|
||||||
@ -1138,17 +1133,19 @@ public abstract class BaseXPrint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(isSettlement) {
|
if(isSettlement) {
|
||||||
|
|
||||||
printer.appendPrnStr("BATCH :" + batchNum, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("BATCH :" + batchNum, fontNormal, AlignEnum.LEFT,false);
|
||||||
printer.appendPrnStr("HOST :" + "KBZ Bank "+currencySign, fontNormal, AlignEnum.LEFT,false);
|
printer.appendPrnStr("HOST :" + "KBZ Bank "+currencySign, fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isCardTransaction) {
|
if(isCardTransaction) {
|
||||||
dotBreak();
|
lineBreak();
|
||||||
} else {
|
} else {
|
||||||
emptyLine(1);
|
emptyLine(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
printer.appendPrnStr(transType.replace("_", " "),fontNormal, AlignEnum.CENTER,true);
|
printer.appendPrnStr(transType.replace("_", " "),fontNormal, AlignEnum.CENTER,true);
|
||||||
// printer.appendPrnStr("TRAN TYPE :" + transType.replace("_", " "),fontNormal, AlignEnum.LEFT,false);
|
// printer.appendPrnStr("TRAN TYPE :" + transType.replace("_", " "),fontNormal, AlignEnum.LEFT,false);
|
||||||
|
|
||||||
@ -1182,6 +1179,10 @@ public abstract class BaseXPrint {
|
|||||||
printer.appendPrnStr("", printedTime, fontNormal, false);
|
printer.appendPrnStr("", printedTime, fontNormal, false);
|
||||||
printer.appendPrnStr(title, fontNormal , AlignEnum.CENTER, false);
|
printer.appendPrnStr(title, fontNormal , AlignEnum.CENTER, false);
|
||||||
|
|
||||||
|
// if (payDetail.getTransactionType() == TransactionsType.MMQR.value && payDetail.getQrTransStatus() == 1) {
|
||||||
|
//// printer.appendPrnStr("TRACE NO:" + traceNum + " INV NO:" + invoiceNo, fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// printer.appendPrnStr("INV NO :" + invoiceNo , fontNormal, AlignEnum.LEFT,false);
|
||||||
|
// }
|
||||||
dotBreak();
|
dotBreak();
|
||||||
}
|
}
|
||||||
protected void printTransHeader(PayDetail payDetail, HostType hostType) {
|
protected void printTransHeader(PayDetail payDetail, HostType hostType) {
|
||||||
|
|||||||
@ -266,7 +266,6 @@ public class PrintXImpl extends BaseXPrint implements PrintX {
|
|||||||
printTransDetail(payDetail);
|
printTransDetail(payDetail);
|
||||||
|
|
||||||
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT)) {
|
if (payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_APPROVED) || payDetail.getTradeAnswerCode().equals(Constant.ANSWER_CODE_ACCEPT)) {
|
||||||
emptyLine(2);
|
|
||||||
printTransFooter(false,payDetail, isMerchantCopy);
|
printTransFooter(false,payDetail, isMerchantCopy);
|
||||||
} else {
|
} else {
|
||||||
String receiptFooter = SystemParamsOperation.getInstance().getReceiptFooter();
|
String receiptFooter = SystemParamsOperation.getInstance().getReceiptFooter();
|
||||||
|
|||||||
@ -417,103 +417,47 @@ public class TransactionsOperation {
|
|||||||
/*
|
/*
|
||||||
* handling issuer script
|
* 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<String, MsgField> resp = (responseMap instanceof HashMap) ? (HashMap<String, MsgField>) 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) {
|
private void emvProcess(PayDetail payDetail) {
|
||||||
|
String resultStr = "";
|
||||||
|
try {
|
||||||
|
resultStr = Objects.requireNonNull(responseMap.get("F039")).getDataStr();
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
MsgField f39 = responseMap != null ? responseMap.get("F039") : null;
|
LogUtil.d(Constant.TAG, "SALE PROCESS RESPONSE CODE :" + resultStr);
|
||||||
String resultStr = f39 != null ? f39.getDataStr() : "";
|
|
||||||
|
|
||||||
LogUtil.d(Constant.TAG, "SALE PROCESS RESPONSE CODE : " + resultStr);
|
HashMap<String, MsgField> resp = (responseMap instanceof HashMap) ? (HashMap<String, MsgField>) responseMap
|
||||||
|
: new HashMap<>(responseMap);
|
||||||
boolean approved =
|
|
||||||
TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT)
|
|
||||||
|| TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED);
|
|
||||||
|
|
||||||
HashMap<String, MsgField> resp =
|
|
||||||
(responseMap instanceof HashMap)
|
|
||||||
? (HashMap<String, MsgField>) 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);
|
AuthorizationProcessUtil.authorizationProcess(resp, payDetail);
|
||||||
return;
|
} 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ public class SystemParamsSettings implements Serializable {
|
|||||||
// private String tmsAddress = "http://128.199.170.203";
|
// private String tmsAddress = "http://128.199.170.203";
|
||||||
private String tmsAddress = "https://sirius-nest.utsmyanmar.com";
|
private String tmsAddress = "https://sirius-nest.utsmyanmar.com";
|
||||||
// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat
|
// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius"; //for uat
|
||||||
private String ereceiptAddress = "https://receipt-nest.utsmyanmar.com"; //for on prime
|
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 ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt"; //for uat
|
||||||
|
|
||||||
private String binValues = "";
|
private String binValues = "";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user