fixed QR Settlement & History
This commit is contained in:
parent
c697d6c3f9
commit
4e26b2ec4d
File diff suppressed because one or more lines are too long
@ -4,6 +4,14 @@
|
|||||||
<selectionStates>
|
<selectionStates>
|
||||||
<SelectionState runConfigName="app">
|
<SelectionState runConfigName="app">
|
||||||
<option name="selectionMode" value="DROPDOWN" />
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
<DropdownSelection timestamp="2025-12-11T11:35:06.715134Z">
|
||||||
|
<Target type="DEFAULT_BOOT">
|
||||||
|
<handle>
|
||||||
|
<DeviceId pluginId="PhysicalDevice" identifier="serial=0123456789ABCDEF" />
|
||||||
|
</handle>
|
||||||
|
</Target>
|
||||||
|
</DropdownSelection>
|
||||||
|
<DialogSelection />
|
||||||
</SelectionState>
|
</SelectionState>
|
||||||
</selectionStates>
|
</selectionStates>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@ -853,9 +853,14 @@ public class MainFragment extends DataBindingFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onClickQR(){
|
public void onClickQR(){
|
||||||
// navigate to new QR Pay fragment
|
|
||||||
routeId = R.id.action_nav_main_to_qrFragment;
|
if(TMSUtil.getInstance().checkQRParams().isStatus() == ValidityStatus.FAILURE) {
|
||||||
safeNavigateToRouteId();
|
showDeclineDialog(getResourceString(R.string.txt_please_download_config)+"\n"+TMSUtil.getInstance().checkQRParams().getMessage());
|
||||||
|
} else {
|
||||||
|
routeId = R.id.action_nav_main_to_qrFragment;
|
||||||
|
safeNavigateToRouteId();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onClickQRPay() {
|
public void onClickQRPay() {
|
||||||
|
|||||||
@ -58,7 +58,6 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
private int count = 0;
|
private int count = 0;
|
||||||
|
|
||||||
|
|
||||||
// Data binding will handle view access automatically
|
|
||||||
private FragmentSettingsModernBinding binding;
|
private FragmentSettingsModernBinding binding;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@ -66,14 +65,12 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void initViewModel() {
|
protected void initViewModel() {
|
||||||
// Initialize ViewModels in initViewModel as per pattern
|
|
||||||
settlementViewModel = getFragmentScopeViewModel(SettlementViewModel.class);
|
settlementViewModel = getFragmentScopeViewModel(SettlementViewModel.class);
|
||||||
mainViewModel = getFragmentScopeViewModel(MainViewModel.class);
|
mainViewModel = getFragmentScopeViewModel(MainViewModel.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected DataBindingConfig getDataBindingConfig() {
|
protected DataBindingConfig getDataBindingConfig() {
|
||||||
// This is the key method that links the XML and fragment properly
|
|
||||||
return new DataBindingConfig(R.layout.fragment_settings_modern, 0, null)
|
return new DataBindingConfig(R.layout.fragment_settings_modern, 0, null)
|
||||||
.addBindingParam(BR.click, new ClickEvent());
|
.addBindingParam(BR.click, new ClickEvent());
|
||||||
}
|
}
|
||||||
@ -97,19 +94,14 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
try {
|
try {
|
||||||
LogUtil.d(TAG, "onViewCreated called");
|
|
||||||
SystemParamsOperation.getInstance().setDemoStatus(false);
|
SystemParamsOperation.getInstance().setDemoStatus(false);
|
||||||
|
|
||||||
// Get the binding from the base class - this is automatically created
|
|
||||||
binding = (FragmentSettingsModernBinding) mBinding;
|
binding = (FragmentSettingsModernBinding) mBinding;
|
||||||
updateDemoSettings();
|
updateDemoSettings();
|
||||||
|
|
||||||
LogUtil.d(TAG, "Updating settings...");
|
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
||||||
LogUtil.d(TAG, "Settings fragment initialized successfully");
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtil.e(TAG, "Error initializing fragment: " + e.getMessage());
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,12 +110,7 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
try {
|
setToolBarTitleWithBackIcon("Settings");
|
||||||
setToolBarTitleWithBackIcon("Settings");
|
|
||||||
LogUtil.d(TAG, "Settings screen resumed");
|
|
||||||
} catch (Exception e) {
|
|
||||||
LogUtil.e(TAG, "Error in onResume: " + e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -304,7 +291,6 @@ public class SettingsFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
public void onUpdateConfigClick() {
|
public void onUpdateConfigClick() {
|
||||||
try {
|
try {
|
||||||
LogUtil.d(TAG, "Update config clicked");
|
|
||||||
settlementViewModel.getSettlementPOS().observe(getViewLifecycleOwner(), payDetails -> {
|
settlementViewModel.getSettlementPOS().observe(getViewLifecycleOwner(), payDetails -> {
|
||||||
try {
|
try {
|
||||||
if (payDetails != null && payDetails.size() > 0) {
|
if (payDetails != null && payDetails.size() > 0) {
|
||||||
|
|||||||
@ -84,14 +84,12 @@ public class SignatureFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSigned() {
|
public void onSigned() {
|
||||||
LogUtil.d(TAG,"ON Signed !");
|
|
||||||
isSigned = true;
|
isSigned = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClear() {
|
public void onClear() {
|
||||||
isSigned = false;
|
isSigned = false;
|
||||||
LogUtil.d(TAG,"ON Clear !");
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -121,7 +121,7 @@ public class TransactionResultFragment extends DataBindingFragment implements Da
|
|||||||
}
|
}
|
||||||
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_trans_result));
|
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_trans_result));
|
||||||
} else if(qrStatus == 1 || qrStatus == -1 || qrStatus == 2 || qrStatus == 3 ) {
|
} else if(qrStatus == 1 || qrStatus == -1 || qrStatus == 2 || qrStatus == 3 ) {
|
||||||
/* WAVE QR STATUS */
|
/* QR STATUS */
|
||||||
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_qr_pay));
|
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_qr_pay));
|
||||||
} else {
|
} else {
|
||||||
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_error));
|
setToolBarTitleWithoutBackIcon(getResourceString(R.string.txt_title_error));
|
||||||
|
|||||||
@ -71,7 +71,7 @@ public class TMSProcessViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void loadEmvParameters() {
|
public void loadEmvParameters() {
|
||||||
emvParamOperation.loadAidRids();
|
// emvParamOperation.loadAidRids();
|
||||||
emvParamOperation.loadEmvTerminalParam();
|
emvParamOperation.loadEmvTerminalParam();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -344,6 +344,8 @@ public class QRTransactionFragment extends DataBindingFragment implements DataBi
|
|||||||
EReceiptRequest request = EReceiptUtil.getInstance().generateQRReceipt(payDetail, TransResultStatus.FAIL);
|
EReceiptRequest request = EReceiptUtil.getInstance().generateQRReceipt(payDetail, TransResultStatus.FAIL);
|
||||||
sharedViewModel.pushReceipt(request);
|
sharedViewModel.pushReceipt(request);
|
||||||
|
|
||||||
|
sharedViewModel.insertPayDetail(payDetail);
|
||||||
|
|
||||||
sharedViewModel.payDetail.postValue(payDetail);
|
sharedViewModel.payDetail.postValue(payDetail);
|
||||||
safeNavigateToRouteId();
|
safeNavigateToRouteId();
|
||||||
|
|
||||||
@ -353,14 +355,20 @@ public class QRTransactionFragment extends DataBindingFragment implements DataBi
|
|||||||
LogUtil.d(TAG, "On Exception::");
|
LogUtil.d(TAG, "On Exception::");
|
||||||
// sharedViewModel.pushReceipt(buildEReceiptQRReceipt(payDetail, false, "QR Failed! :" + e.getMessage()));
|
// sharedViewModel.pushReceipt(buildEReceiptQRReceipt(payDetail, false, "QR Failed! :" + e.getMessage()));
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
EReceiptRequest request = EReceiptUtil.getInstance().generateQRReceipt(payDetail, TransResultStatus.TIME_OUT);
|
|
||||||
sharedViewModel.pushReceipt(request);
|
|
||||||
|
|
||||||
|
|
||||||
if (count == totalCount) {
|
if (count == totalCount) {
|
||||||
if(payDetail.getQrTransStatus() != -1) {
|
if(payDetail.getQrTransStatus() != -1) {
|
||||||
payDetail.setQrTransStatus(2);
|
payDetail.setQrTransStatus(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EReceiptRequest request = EReceiptUtil.getInstance().generateQRReceipt(payDetail, TransResultStatus.TIME_OUT);
|
||||||
|
sharedViewModel.pushReceipt(request);
|
||||||
|
|
||||||
|
sharedViewModel.insertPayDetail(payDetail);
|
||||||
|
|
||||||
sharedViewModel.payDetail.postValue(payDetail);
|
sharedViewModel.payDetail.postValue(payDetail);
|
||||||
safeNavigateToRouteId();
|
safeNavigateToRouteId();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -299,10 +299,10 @@ public class ReprintAnyTransactionFragment extends DataBindingFragment {
|
|||||||
//
|
//
|
||||||
// LogUtil.d(TAG,"----------------------------------------------------------");
|
// LogUtil.d(TAG,"----------------------------------------------------------");
|
||||||
|
|
||||||
if(sharedViewModel.transactionsType.getValue() != null && sharedViewModel.transactionsType.getValue() == TransactionsType.MMQR_INQUIRY_STATUS) {
|
if(sharedViewModel.transactionsType.getValue() != null && sharedViewModel.transactionsType.getValue() == TransactionsType.MMQR_HISTORY) {
|
||||||
// Wave Inquiry Status::
|
// Wave Inquiry Status::
|
||||||
// April 2, 2024 QR Inquiry status check is for unsuccessful transactions.
|
// April 2, 2024 QR Inquiry status check is for unsuccessful transactions.
|
||||||
if(yesterday.compareTo(transDate) <= 0 && pay.getTransactionType() == TransactionsType.MMQR.value && pay.getQrTransStatus() != 1) {
|
if(yesterday.compareTo(transDate) <= 0 && pay.getTransactionType() == TransactionsType.MMQR.value ) {
|
||||||
|
|
||||||
filteredLists.add(pay);
|
filteredLists.add(pay);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -130,6 +130,7 @@ public class QRPayFragment extends DataBindingFragment {
|
|||||||
|
|
||||||
private void onClickHistory(){
|
private void onClickHistory(){
|
||||||
sharedViewModel.hostType.setValue(HostType.QR);
|
sharedViewModel.hostType.setValue(HostType.QR);
|
||||||
|
sharedViewModel.setTransactionsType(TransactionsType.MMQR_HISTORY);
|
||||||
routeId = R.id.action_qrFragment_to_qrHistory;
|
routeId = R.id.action_qrFragment_to_qrHistory;
|
||||||
safeNavigateToRouteId();
|
safeNavigateToRouteId();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -282,7 +282,7 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
|||||||
delayFunctionCall(()->{
|
delayFunctionCall(()->{
|
||||||
routeId = R.id.action_QRSettlementTransactionFragment_to_transactionResultFragment;
|
routeId = R.id.action_QRSettlementTransactionFragment_to_transactionResultFragment;
|
||||||
safeNavigateToRouteId();
|
safeNavigateToRouteId();
|
||||||
},500);
|
},1000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ public class QRSettlementTransactionFragment extends DataBindingFragment impleme
|
|||||||
if(sharedViewModel.getTransMenu().getValue() == TransMenu.SETTLEMENT) {
|
if(sharedViewModel.getTransMenu().getValue() == TransMenu.SETTLEMENT) {
|
||||||
if (!qrTransactionsList.isEmpty()) {
|
if (!qrTransactionsList.isEmpty()) {
|
||||||
for (PayDetail payDetail : qrTransactionsList) {
|
for (PayDetail payDetail : qrTransactionsList) {
|
||||||
settlementViewModel.deletePayDetail(payDetail);
|
// settlementViewModel.deletePayDetail(payDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateData();
|
updateData();
|
||||||
|
|||||||
@ -45,7 +45,7 @@ public class EReceiptUtil {
|
|||||||
serialNum = TMSUtil.getInstance().getSerialNumber();
|
serialNum = TMSUtil.getInstance().getSerialNumber();
|
||||||
packageName = BuildConfig.APPLICATION_ID;
|
packageName = BuildConfig.APPLICATION_ID;
|
||||||
qrTerminalId = SystemParamsOperation.getInstance().getSecHostTerminalId();
|
qrTerminalId = SystemParamsOperation.getInstance().getSecHostTerminalId();
|
||||||
qrMerchantId = SystemParamsOperation.getInstance().getSecHostMerchantId();
|
qrMerchantId = SystemParamsOperation.getInstance().getShortCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public EReceiptRequest generateQRReceipt(PayDetail payDetail, TransResultStatus status) {
|
public EReceiptRequest generateQRReceipt(PayDetail payDetail, TransResultStatus status) {
|
||||||
|
|||||||
@ -251,6 +251,28 @@ public class TMSUtil {
|
|||||||
return tmsValidity;
|
return tmsValidity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TMSValidity checkQRParams() {
|
||||||
|
TMSValidity tmsValidity;
|
||||||
|
|
||||||
|
String shortCode = SystemParamsOperation.getInstance().getShortCode();
|
||||||
|
String appId = SystemParamsOperation.getInstance().getAppId();
|
||||||
|
String appKey = SystemParamsOperation.getInstance().getAppKey();
|
||||||
|
|
||||||
|
|
||||||
|
if(shortCode.length() == 11 && !appId.isEmpty() && !appKey.isEmpty()) {
|
||||||
|
tmsValidity = new TMSValidity(ValidityStatus.SUCCESS,"Success");
|
||||||
|
} else if(shortCode.length() != 11) {
|
||||||
|
tmsValidity = new TMSValidity(ValidityStatus.FAILURE,"Invalid Short Code!");
|
||||||
|
} else if(appId.isEmpty() ) {
|
||||||
|
tmsValidity = new TMSValidity(ValidityStatus.FAILURE,"Invalid AppId!");
|
||||||
|
} else {
|
||||||
|
tmsValidity = new TMSValidity(ValidityStatus.FAILURE,"Invalid AppKey!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return tmsValidity;
|
||||||
|
}
|
||||||
|
|
||||||
public TMSValidity checkSecHostParams() {
|
public TMSValidity checkSecHostParams() {
|
||||||
TMSValidity tmsValidity;
|
TMSValidity tmsValidity;
|
||||||
|
|
||||||
|
|||||||
@ -101,21 +101,16 @@ public class BaseApplication extends Application {
|
|||||||
TerminalKeyUtil.initNexKey();
|
TerminalKeyUtil.initNexKey();
|
||||||
emvParamOperation.loadAidRids();
|
emvParamOperation.loadAidRids();
|
||||||
} catch (UnsatisfiedLinkError e) {
|
} catch (UnsatisfiedLinkError e) {
|
||||||
// Handle missing native library gracefully
|
|
||||||
android.util.Log.e("BaseApplication", "Failed to initialize NexGo SDK due to missing native library: " + e.getMessage());
|
android.util.Log.e("BaseApplication", "Failed to initialize NexGo SDK due to missing native library: " + e.getMessage());
|
||||||
// You can set a flag here to indicate that NexGo functionality is unavailable
|
|
||||||
// and handle this condition in your app's UI/logic
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
android.util.Log.e("BaseApplication", "Failed to initialize NexGo SDK: " + e.getMessage());
|
android.util.Log.e("BaseApplication", "Failed to initialize NexGo SDK: " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initFallbackMode() {
|
private void initFallbackMode() {
|
||||||
// Initialize basic functionality without NexGo SDK
|
|
||||||
android.util.Log.w("BaseApplication", "Running in fallback mode without NexGo SDK");
|
android.util.Log.w("BaseApplication", "Running in fallback mode without NexGo SDK");
|
||||||
// You can add basic initialization here that doesn't depend on the device SDK
|
|
||||||
try {
|
try {
|
||||||
// Only load EMV parameters if emvParamOperation is available
|
|
||||||
if (emvParamOperation != null) {
|
if (emvParamOperation != null) {
|
||||||
emvParamOperation.loadAidRids();
|
emvParamOperation.loadAidRids();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,4 +37,7 @@ public interface JSpeedyDao {
|
|||||||
|
|
||||||
@Query("DELETE FROM j_speedy")
|
@Query("DELETE FROM j_speedy")
|
||||||
Completable deleteAll();
|
Completable deleteAll();
|
||||||
|
|
||||||
|
@Query("UPDATE j_speedy SET ttq = :ttq")
|
||||||
|
Completable updateTTQ(String ttq);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,4 +39,7 @@ public interface PayPassDao {
|
|||||||
|
|
||||||
@Query("DELETE FROM pay_pass")
|
@Query("DELETE FROM pay_pass")
|
||||||
Completable deleteAll();
|
Completable deleteAll();
|
||||||
|
|
||||||
|
@Query("UPDATE pay_pass SET ttq = :ttq")
|
||||||
|
Completable updateTTQ(String ttq);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,4 +37,7 @@ public interface PayWaveDao {
|
|||||||
|
|
||||||
@Query("DELETE FROM pay_wave")
|
@Query("DELETE FROM pay_wave")
|
||||||
Completable deleteAll();
|
Completable deleteAll();
|
||||||
|
|
||||||
|
@Query("UPDATE pay_wave SET ttq = :ttq")
|
||||||
|
Completable updateTTQ(String ttq);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -503,7 +503,7 @@ public class EmvParamHelper {
|
|||||||
capkV2.setRid(ridEntity.getRid());
|
capkV2.setRid(ridEntity.getRid());
|
||||||
}
|
}
|
||||||
if (ridEntity.getIndx() != null && !ridEntity.getIndx().isEmpty()) {
|
if (ridEntity.getIndx() != null && !ridEntity.getIndx().isEmpty()) {
|
||||||
capkV2.setCapkIdx(Integer.parseInt(ridEntity.getIndx()));
|
capkV2.setCapkIdx(Integer.parseInt(ridEntity.getIndx(),16));
|
||||||
}
|
}
|
||||||
if (ridEntity.getHashInd() != null && !ridEntity.getHashInd().isEmpty()) {
|
if (ridEntity.getHashInd() != null && !ridEntity.getHashInd().isEmpty()) {
|
||||||
capkV2.setHashInd(Integer.parseInt(ridEntity.getHashInd()));
|
capkV2.setHashInd(Integer.parseInt(ridEntity.getHashInd()));
|
||||||
|
|||||||
@ -119,13 +119,15 @@ public class EmvParamOperation extends ParamOperation{
|
|||||||
processPayPass();
|
processPayPass();
|
||||||
processQuickPass();
|
processQuickPass();
|
||||||
processJSpeedy();
|
processJSpeedy();
|
||||||
// processMPUCtls();
|
processMPUCtls();
|
||||||
processChips();
|
processChips();
|
||||||
processRids();
|
processRids();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadEmvTerminalParam() {
|
public void loadEmvTerminalParam() {
|
||||||
initEmvTerminalParam();
|
// initEmvTerminalParam();
|
||||||
|
|
||||||
|
loadAidRids();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initEmvTerminalParam() {
|
private void initEmvTerminalParam() {
|
||||||
@ -255,10 +257,10 @@ public class EmvParamOperation extends ParamOperation{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void updateQuickPassTTQ(String ttq) {
|
public void updateQuickPassTTQ(String ttq) {
|
||||||
processUpdateQuickPassTTQ(quickPassEntityRxUtil, quickPassRepository, ttq, new RxCallbackUpdateX() {
|
processUpdateTTQ(quickPassEntityRxUtil, quickPassRepository, ttq, new RxCallbackUpdateX() {
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable throwable) {
|
public void onError(Throwable throwable) {
|
||||||
LogUtil.d(TAG,"Error occur updating JCB Ctls CurrencyCode");
|
LogUtil.d(TAG,"Error occur updating UPI Ctls ttq");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -267,6 +269,48 @@ public class EmvParamOperation extends ParamOperation{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateJSpeedyTTQ(String ttq) {
|
||||||
|
processUpdateTTQ(jSpeedyEntityRxUtil, jSpeedyRepository, ttq, new RxCallbackUpdateX() {
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable throwable) {
|
||||||
|
LogUtil.d(TAG,"Error occur updating JCB Ctls ttq");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
LogUtil.d(TAG,"Updated UPI TTQ to "+ttq);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatePayWaveTTQ(String ttq) {
|
||||||
|
processUpdateTTQ(payWaveEntityRxUtil, payWaveRepository, ttq, new RxCallbackUpdateX() {
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable throwable) {
|
||||||
|
LogUtil.d(TAG,"Error occur updating visa Ctls ttq");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
LogUtil.d(TAG,"Updated visa TTQ to "+ttq);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updatePayPassTTQ(String ttq) {
|
||||||
|
processUpdateTTQ(payPassEntityRxUtil, payPassRepository, ttq, new RxCallbackUpdateX() {
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable throwable) {
|
||||||
|
LogUtil.d(TAG,"Error occur updating master Ctls ttq");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
LogUtil.d(TAG,"Updated master TTQ to "+ttq);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
public void updateJCBCurrencyCode(String currencyCode) {
|
public void updateJCBCurrencyCode(String currencyCode) {
|
||||||
processUpdateCtlsCurrencyCode(jSpeedyEntityRxUtil, jSpeedyRepository, currencyCode, new RxCallbackUpdateX() {
|
processUpdateCtlsCurrencyCode(jSpeedyEntityRxUtil, jSpeedyRepository, currencyCode, new RxCallbackUpdateX() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -82,7 +82,7 @@ public class ParamOperation {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected <T> void processUpdateQuickPassTTQ(RxHelper<T> rxHelper, QuickPassRepository paramRepository, String ttq, RxCallbackUpdateX rxCallbackUpdateX) {
|
protected <T> void processUpdateTTQ(RxHelper<T> rxHelper, ParamRepository paramRepository, String ttq, RxCallbackUpdateX rxCallbackUpdateX) {
|
||||||
rxHelper.updateData(paramRepository.updateTTQ(ttq), new RxCallbackUpdateX() {
|
rxHelper.updateData(paramRepository.updateTTQ(ttq), new RxCallbackUpdateX() {
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable throwable) {
|
public void onError(Throwable throwable) {
|
||||||
@ -96,6 +96,7 @@ public class ParamOperation {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected <T> void processUpdateCtlsCurrencyCode(RxHelper<T> rxHelper, ParamRepository<T> paramRepository, String currencyCode, RxCallbackUpdateX rxCallbackUpdateX) {
|
protected <T> void processUpdateCtlsCurrencyCode(RxHelper<T> rxHelper, ParamRepository<T> paramRepository, String currencyCode, RxCallbackUpdateX rxCallbackUpdateX) {
|
||||||
rxHelper.updateData(paramRepository.updateCurrencyCode(currencyCode), new RxCallbackUpdateX() {
|
rxHelper.updateData(paramRepository.updateCurrencyCode(currencyCode), new RxCallbackUpdateX() {
|
||||||
@Override
|
@Override
|
||||||
@ -129,27 +130,25 @@ public class ParamOperation {
|
|||||||
rxHelper.queryData(paramRepository.getAll(), new RxCallbackX<List<T>>() {
|
rxHelper.queryData(paramRepository.getAll(), new RxCallbackX<List<T>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(List<T> data) {
|
public void onSuccess(List<T> data) {
|
||||||
List<T> list = loadJsonConfig(id, clazz);
|
if (data != null && !data.isEmpty()) {
|
||||||
|
LogUtil.d(TAG, clazz.getSimpleName() + " loaded from DB: " + data.size());
|
||||||
if (data.isEmpty() || list.size() != data.size()) {
|
|
||||||
deleteAll(rxHelper, paramRepository, new RxCallbackUpdateX() {
|
|
||||||
@Override
|
|
||||||
public void onError(Throwable throwable) {
|
|
||||||
throwable.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onComplete() {
|
|
||||||
insertData(paramRepository, list);
|
|
||||||
LogUtil.d(TAG, clazz.getSimpleName() + "json file extract size: " + list.size());
|
|
||||||
result.onSuccess(list);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} else {
|
|
||||||
result.onSuccess(data);
|
result.onSuccess(data);
|
||||||
LogUtil.d(TAG, clazz.getSimpleName() + " db size: " + data.size());
|
return;
|
||||||
}
|
}
|
||||||
|
List<T> list = loadJsonConfig(id, clazz);
|
||||||
|
deleteAll(rxHelper, paramRepository, new RxCallbackUpdateX() {
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable throwable) {
|
||||||
|
throwable.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
insertData(paramRepository, list);
|
||||||
|
LogUtil.d(TAG, clazz.getSimpleName() + "json file extract size: " + list.size());
|
||||||
|
result.onSuccess(list);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -62,4 +62,9 @@ public class BinRepository implements ParamRepository<BinEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return binDao.deleteAll();
|
return binDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,6 +64,11 @@ public class ChipAidRepository implements ParamRepository<ChipAidEntity> {
|
|||||||
return chipAidDao.deleteAll();
|
return chipAidDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public Completable updateChipCVM(String scheme, long cvmLimit) { return chipAidDao.updateCVMByScheme(scheme,cvmLimit);}
|
public Completable updateChipCVM(String scheme, long cvmLimit) { return chipAidDao.updateCVMByScheme(scheme,cvmLimit);}
|
||||||
|
|
||||||
public Completable updateAidByAid(boolean aidEnable,String aid) {
|
public Completable updateAidByAid(boolean aidEnable,String aid) {
|
||||||
|
|||||||
@ -61,4 +61,9 @@ public class JSpeedyRepository implements ParamRepository<JSpeedyEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return jSpeedyDao.deleteAll();
|
return jSpeedyDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,4 +60,9 @@ public class MPUCtlsRepository implements ParamRepository<MPUCtlsEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return mpuCtlsDao.deleteAll();
|
return mpuCtlsDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,4 +24,6 @@ public interface ParamRepository <T>{
|
|||||||
|
|
||||||
Completable deleteAll();
|
Completable deleteAll();
|
||||||
|
|
||||||
|
Completable updateTTQ(String ttq);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,4 +61,9 @@ public class PayPassRepository implements ParamRepository<PayPassEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return payPassDao.deleteAll();
|
return payPassDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,4 +63,9 @@ public class PayWaveRepository implements ParamRepository<PayWaveEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return payWaveDao.deleteAll();
|
return payWaveDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,4 +63,9 @@ public class RidRepository implements ParamRepository<RidEntity> {
|
|||||||
public Completable deleteAll() {
|
public Completable deleteAll() {
|
||||||
return ridDao.deleteAll();
|
return ridDao.deleteAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Completable updateTTQ(String ttq) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import com.nexgo.oaf.apiv3.SdkResult;
|
|||||||
import com.nexgo.oaf.apiv3.device.pinpad.AlgorithmModeEnum;
|
import com.nexgo.oaf.apiv3.device.pinpad.AlgorithmModeEnum;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.OnPinPadInputListener;
|
import com.nexgo.oaf.apiv3.device.pinpad.OnPinPadInputListener;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.PinAlgorithmModeEnum;
|
import com.nexgo.oaf.apiv3.device.pinpad.PinAlgorithmModeEnum;
|
||||||
|
import com.nexgo.oaf.apiv3.device.pinpad.PinKeyboardModeEnum;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.PinKeyboardViewModeEnum;
|
import com.nexgo.oaf.apiv3.device.pinpad.PinKeyboardViewModeEnum;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
|
import com.nexgo.oaf.apiv3.device.pinpad.PinPad;
|
||||||
import com.nexgo.oaf.apiv3.device.pinpad.PinPadKeyCode;
|
import com.nexgo.oaf.apiv3.device.pinpad.PinPadKeyCode;
|
||||||
@ -64,6 +65,7 @@ import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
|||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -601,20 +603,21 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
|
|
||||||
|
|
||||||
pinPad.setPinKeyboardViewMode(PinKeyboardViewModeEnum.DEFAULT);
|
pinPad.setPinKeyboardViewMode(PinKeyboardViewModeEnum.DEFAULT);
|
||||||
pinPad.setAlgorithmMode(AlgorithmModeEnum.DES);
|
pinPad.setPinKeyboardMode(PinKeyboardModeEnum.FIXED);
|
||||||
|
// pinPad.setAlgorithmMode(AlgorithmModeEnum.DES);
|
||||||
|
|
||||||
|
|
||||||
if(cardNo == null){
|
if(cardNo == null){
|
||||||
cardNo = emvHandler.getEmvCardDataInfo().getCardNo();
|
cardNo = emvHandler.getEmvCardDataInfo().getCardNo();
|
||||||
}
|
}
|
||||||
// int length = cardNo.length();
|
int length = cardNo.length();
|
||||||
// byte[] panBytes = cardNo.substring(length - 13).getBytes(StandardCharsets.US_ASCII);
|
byte[] panBytes = cardNo.substring( length- 13).getBytes(StandardCharsets.US_ASCII);
|
||||||
LogUtil.d(TAG,"card num :"+cardNo);
|
LogUtil.d(TAG,"card num :"+cardNo);
|
||||||
LogUtil.d(TAG,"Is Online Pin:"+isOnlinePin);
|
LogUtil.d(TAG,"Is Online Pin:"+isOnlinePin);
|
||||||
// pinPad.inputOnlinePin(supperLen, 60, pan, 0, PinAlgorithmModeEnum.ISO9564FMT0, pinPadInputListener);
|
// pinPad.inputOnlinePin(supperLen, 60, pan, 0, PinAlgorithmModeEnum.ISO9564FMT0, pinPadInputListener);
|
||||||
if (isOnlinePin) {
|
if (isOnlinePin) {
|
||||||
|
|
||||||
pinPad.inputOnlinePin(supperLen, 60, cardNo, pinIndex, PinAlgorithmModeEnum.ISO9564FMT0, pinPadInputListener);
|
pinPad.inputOnlinePin(supperLen, 60, panBytes, pinIndex, PinAlgorithmModeEnum.ISO9564FMT0, pinPadInputListener);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
mPayDetail.transCVM = TransCVM.OFFLINE_PIN;
|
mPayDetail.transCVM = TransCVM.OFFLINE_PIN;
|
||||||
@ -775,7 +778,6 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
byte[] tlv_95 = emvHandler.getTlv(new byte[]{(byte) 0x95}, EmvDataSourceEnum.FROM_KERNEL);
|
byte[] tlv_95 = emvHandler.getTlv(new byte[]{(byte) 0x95}, EmvDataSourceEnum.FROM_KERNEL);
|
||||||
LogUtil.d(TAG, "tlv_95--" + ByteUtils.byteArray2HexString(tlv_95));
|
LogUtil.d(TAG, "tlv_95--" + ByteUtils.byteArray2HexString(tlv_95));
|
||||||
|
|
||||||
|
|
||||||
byte[] tlv_84 = emvHandler.getTlv(new byte[]{(byte) 0x84}, EmvDataSourceEnum.FROM_KERNEL);
|
byte[] tlv_84 = emvHandler.getTlv(new byte[]{(byte) 0x84}, EmvDataSourceEnum.FROM_KERNEL);
|
||||||
LogUtil.d(TAG, "tlv_84--" + ByteUtils.byteArray2HexString(tlv_84));
|
LogUtil.d(TAG, "tlv_84--" + ByteUtils.byteArray2HexString(tlv_84));
|
||||||
|
|
||||||
@ -1216,8 +1218,9 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
byte[] TTQ;
|
byte[] TTQ;
|
||||||
byte[] kernelTTQ = emvHandler.getTlv(ByteUtils.hexString2ByteArray("9F66"), EmvDataSourceEnum.FROM_KERNEL);
|
byte[] kernelTTQ = emvHandler.getTlv(ByteUtils.hexString2ByteArray("9F66"), EmvDataSourceEnum.FROM_KERNEL);
|
||||||
LogUtil.d(TAG, "configPaywaveParameters, TTQ" + ByteUtils.byteArray2HexString(kernelTTQ));
|
LogUtil.d(TAG, "configPaywaveParameters, TTQ" + ByteUtils.byteArray2HexString(kernelTTQ));
|
||||||
|
|
||||||
//default TTQ value
|
//default TTQ value
|
||||||
TTQ = ByteUtils.hexString2ByteArray("36004000");
|
TTQ = ByteUtils.hexString2ByteArray("36A04000");
|
||||||
kernelTTQ[0] = TTQ[0];
|
kernelTTQ[0] = TTQ[0];
|
||||||
kernelTTQ[2] = TTQ[2];
|
kernelTTQ[2] = TTQ[2];
|
||||||
kernelTTQ[3] = TTQ[3];
|
kernelTTQ[3] = TTQ[3];
|
||||||
|
|||||||
@ -390,6 +390,29 @@
|
|||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"aidEnable": true,
|
||||||
|
"aid": "A0000000043060",
|
||||||
|
"cardScheme": "MASTERCARD",
|
||||||
|
"applicationVersion": "0002",
|
||||||
|
"emvDDOL": "9F3704",
|
||||||
|
"emvTDOL": "9F3704",
|
||||||
|
"partialAidSelection": false,
|
||||||
|
"targetPercent": "99",
|
||||||
|
"maxTargetPercent": "99",
|
||||||
|
"threshold": "00000040",
|
||||||
|
"tacDefault": "FE50B8A000",
|
||||||
|
"tacOnline": "FE50B8F800",
|
||||||
|
"tacDenial": "0000000000",
|
||||||
|
"floorLimit": "000000000000",
|
||||||
|
"cvmLimit": 75000,
|
||||||
|
"transLimit": "999999999999",
|
||||||
|
"transLimitCDV": "999999999999",
|
||||||
|
"terminalCapability": "0000000000000000",
|
||||||
|
"riskManageData": "6C7A800000000000",
|
||||||
|
"cateCode": "2701",
|
||||||
|
"currencyCode": "0104"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"aidEnable": true,
|
"aidEnable": true,
|
||||||
"aid": "A000000333010101",
|
"aid": "A000000333010101",
|
||||||
|
|||||||
@ -3,26 +3,26 @@
|
|||||||
"aidEnable": true,
|
"aidEnable": true,
|
||||||
"aid": "A0000000651010",
|
"aid": "A0000000651010",
|
||||||
"cardLabel": "JCB",
|
"cardLabel": "JCB",
|
||||||
"applicationVersion": "0021",
|
"applicationVersion": "0020",
|
||||||
"emvDDOL": "9F3704",
|
"emvDDOL": "9F3704",
|
||||||
"emvTDOL": "9F3704",
|
"emvTDOL": "9F3704",
|
||||||
"partialAidSelection": false,
|
"partialAidSelection": false,
|
||||||
"targetPercent": "00",
|
"targetPercent": "99",
|
||||||
"maxTargetPercent": "00",
|
"maxTargetPercent": "99",
|
||||||
"threshold": "00000000",
|
"threshold": "00000000",
|
||||||
"tacDefault": "0000000000",
|
"tacDefault": "D84000A800",
|
||||||
"tacOnline": "D84000A800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "00000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 75000,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "9999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "9999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "06",
|
"kernelType": "06",
|
||||||
"ttq": "32004000",
|
"ttq": "32004000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0840"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -20,8 +20,9 @@
|
|||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "02",
|
"kernelType": "02",
|
||||||
"ttq": "36800000",
|
"ttq": "32800000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
"cvmLimit": 75000,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "E0F828",
|
"terminalCapability": "E0F8F8",
|
||||||
"riskManageData": "6C7A800000000000",
|
"riskManageData": "6C7A800000000000",
|
||||||
"kernelType": "02",
|
"kernelType": "02",
|
||||||
"ttq": "36804000",
|
"ttq": "36804000",
|
||||||
@ -43,7 +43,7 @@
|
|||||||
"cvmLimit": 75000,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "E0F828",
|
"terminalCapability": "E0F8F8",
|
||||||
"riskManageData": "6C7A800000000000",
|
"riskManageData": "6C7A800000000000",
|
||||||
"kernelType": "02",
|
"kernelType": "02",
|
||||||
"ttq": "36804000",
|
"ttq": "36804000",
|
||||||
@ -68,7 +68,7 @@
|
|||||||
"cvmLimit": 75000,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "E0F828",
|
"terminalCapability": "E0F8F8",
|
||||||
"riskManageData": "6C7A800000000000",
|
"riskManageData": "6C7A800000000000",
|
||||||
"kernelType": "02",
|
"kernelType": "02",
|
||||||
"ttq": "36804000",
|
"ttq": "36804000",
|
||||||
|
|||||||
@ -1,29 +1,4 @@
|
|||||||
[
|
[
|
||||||
{
|
|
||||||
"aidEnable": true,
|
|
||||||
"aid": "A000000003",
|
|
||||||
"cardLabel": "VISA",
|
|
||||||
"applicationVersion": "008C",
|
|
||||||
"emvDDOL": "9F3704",
|
|
||||||
"emvTDOL": "9F3704",
|
|
||||||
"partialAidSelection": false,
|
|
||||||
"targetPercent": "00",
|
|
||||||
"maxTargetPercent": "00",
|
|
||||||
"threshold": "00000040",
|
|
||||||
"tacDefault": "DC4000A800",
|
|
||||||
"tacOnline": "DC4004F800",
|
|
||||||
"tacDenial": "0000000000",
|
|
||||||
"floorLimit": "000000000000",
|
|
||||||
"cvmLimit": 75000,
|
|
||||||
"transLimit": "4000000000",
|
|
||||||
"transLimitCDV": "9999999",
|
|
||||||
"terminalCapability": "0000000000000000",
|
|
||||||
"riskManageData": "01",
|
|
||||||
"kernelType": "03",
|
|
||||||
"ttq": "36A00000",
|
|
||||||
"cateCode": "2701",
|
|
||||||
"currencyCode": "0104"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"aidEnable": true,
|
"aidEnable": true,
|
||||||
"aid": "A0000000031010",
|
"aid": "A0000000031010",
|
||||||
@ -39,13 +14,13 @@
|
|||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 75000,
|
"cvmLimit": 70000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "03",
|
"kernelType": "03",
|
||||||
"ttq": "36A04000",
|
"ttq": "32A04000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
},
|
},
|
||||||
@ -64,13 +39,13 @@
|
|||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 75000,
|
"cvmLimit": 70000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "03",
|
"kernelType": "03",
|
||||||
"ttq": "36A04000",
|
"ttq": "32A04000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
},
|
},
|
||||||
@ -89,13 +64,13 @@
|
|||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 75000,
|
"cvmLimit": 70000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "03",
|
"kernelType": "03",
|
||||||
"ttq": "36A04000",
|
"ttq": "32A04000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
},
|
},
|
||||||
@ -114,13 +89,13 @@
|
|||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 75000,
|
"cvmLimit": 70000,
|
||||||
"transLimit": "999999999999",
|
"transLimit": "999999999999",
|
||||||
"transLimitCDV": "999999999999",
|
"transLimitCDV": "999999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "01",
|
"riskManageData": "01",
|
||||||
"kernelType": "03",
|
"kernelType": "03",
|
||||||
"ttq": "36A04000",
|
"ttq": "32A04000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,24 +7,23 @@
|
|||||||
"emvDDOL": "9F3704",
|
"emvDDOL": "9F3704",
|
||||||
"emvTDOL": "9F3704",
|
"emvTDOL": "9F3704",
|
||||||
"partialAidSelection": false,
|
"partialAidSelection": false,
|
||||||
"targetPercent": "00",
|
"targetPercent": "99",
|
||||||
"maxTargetPercent": "00",
|
"maxTargetPercent": "99",
|
||||||
"threshold": "00000000",
|
"threshold": "00000000",
|
||||||
"tacDefault": "084000A800",
|
"tacDefault": "D84000A800",
|
||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0010000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 300,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "999999999",
|
"transLimit": "9999999999",
|
||||||
"transLimitCDV": "999999999",
|
"transLimitCDV": "9999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "0CB0800000000000",
|
"riskManageData": "01",
|
||||||
"kernelType": "",
|
"kernelType": "01",
|
||||||
"ttq": "30004000",
|
"ttq": "36800000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"aidEnable": true,
|
"aidEnable": true,
|
||||||
"aid": "A000000333010102",
|
"aid": "A000000333010102",
|
||||||
@ -33,119 +32,19 @@
|
|||||||
"emvDDOL": "9F3704",
|
"emvDDOL": "9F3704",
|
||||||
"emvTDOL": "9F3704",
|
"emvTDOL": "9F3704",
|
||||||
"partialAidSelection": false,
|
"partialAidSelection": false,
|
||||||
"targetPercent": "00",
|
"targetPercent": "99",
|
||||||
"maxTargetPercent": "00",
|
"maxTargetPercent": "99",
|
||||||
"threshold": "00000000",
|
"threshold": "00000000",
|
||||||
"tacDefault": "D84000A800",
|
"tacDefault": "D84000A800",
|
||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
"tacDenial": "0000000000",
|
"tacDenial": "0000000000",
|
||||||
"floorLimit": "000000000000",
|
"floorLimit": "000000000000",
|
||||||
"cvmLimit": 300,
|
"cvmLimit": 75000,
|
||||||
"transLimit": "999999999",
|
"transLimit": "9999999999",
|
||||||
"transLimitCDV": "999999999",
|
"transLimitCDV": "9999999999",
|
||||||
"terminalCapability": "0000000000000000",
|
"terminalCapability": "0000000000000000",
|
||||||
"riskManageData": "0CB0800000000000",
|
"riskManageData": "01",
|
||||||
"kernelType": "",
|
"kernelType": "01",
|
||||||
"ttq": "30004000",
|
|
||||||
"cateCode": "2701",
|
|
||||||
"currencyCode": "0104"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aidEnable": true,
|
|
||||||
"aid": "A000000333010103",
|
|
||||||
"cardLabel": "UPI",
|
|
||||||
"applicationVersion": "0002",
|
|
||||||
"emvDDOL": "9F3704",
|
|
||||||
"emvTDOL": "9F3704",
|
|
||||||
"partialAidSelection": false,
|
|
||||||
"targetPercent": "00",
|
|
||||||
"maxTargetPercent": "00",
|
|
||||||
"threshold": "00000000",
|
|
||||||
"tacDefault": "D84000A800",
|
|
||||||
"tacOnline": "DC4004F800",
|
|
||||||
"tacDenial": "0000000000",
|
|
||||||
"floorLimit": "000000000000",
|
|
||||||
"cvmLimit": 300,
|
|
||||||
"transLimit": "999999999",
|
|
||||||
"transLimitCDV": "999999999",
|
|
||||||
"terminalCapability": "0000000000000000",
|
|
||||||
"riskManageData": "0CB0800000000000",
|
|
||||||
"kernelType": "",
|
|
||||||
"ttq": "36800000",
|
|
||||||
"cateCode": "2701",
|
|
||||||
"currencyCode": "0104"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aidEnable": true,
|
|
||||||
"aid": "A000000333010106",
|
|
||||||
"cardLabel": "UPI",
|
|
||||||
"applicationVersion": "0002",
|
|
||||||
"emvDDOL": "9F3704",
|
|
||||||
"emvTDOL": "9F3704",
|
|
||||||
"partialAidSelection": false,
|
|
||||||
"targetPercent": "00",
|
|
||||||
"maxTargetPercent": "00",
|
|
||||||
"threshold": "00000000",
|
|
||||||
"tacDefault": "D84000A800",
|
|
||||||
"tacOnline": "DC4004F800",
|
|
||||||
"tacDenial": "0000000000",
|
|
||||||
"floorLimit": "000000000000",
|
|
||||||
"cvmLimit": 300,
|
|
||||||
"transLimit": "999999999",
|
|
||||||
"transLimitCDV": "999999999",
|
|
||||||
"terminalCapability": "0000000000000000",
|
|
||||||
"riskManageData": "0CB0800000000000",
|
|
||||||
"kernelType": "",
|
|
||||||
"ttq": "36800000",
|
|
||||||
"cateCode": "2701",
|
|
||||||
"currencyCode": "0104"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aidEnable": true,
|
|
||||||
"aid": "A000000333010108",
|
|
||||||
"cardLabel": "UPI",
|
|
||||||
"applicationVersion": "0002",
|
|
||||||
"emvDDOL": "9F3704",
|
|
||||||
"emvTDOL": "9F3704",
|
|
||||||
"partialAidSelection": false,
|
|
||||||
"targetPercent": "00",
|
|
||||||
"maxTargetPercent": "00",
|
|
||||||
"threshold": "00000000",
|
|
||||||
"tacDefault": "D84000A800",
|
|
||||||
"tacOnline": "DC4004F800",
|
|
||||||
"tacDenial": "0000000000",
|
|
||||||
"floorLimit": "000000000000",
|
|
||||||
"cvmLimit": 300,
|
|
||||||
"transLimit": "999999999",
|
|
||||||
"transLimitCDV": "999999999",
|
|
||||||
"terminalCapability": "0000000000000000",
|
|
||||||
"riskManageData": "0CB0800000000000",
|
|
||||||
"kernelType": "",
|
|
||||||
"ttq": "36800000",
|
|
||||||
"cateCode": "2701",
|
|
||||||
"currencyCode": "0104"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aidEnable": true,
|
|
||||||
"aid": "A0000003330101021111111111111111",
|
|
||||||
"cardLabel": "UPI",
|
|
||||||
"applicationVersion": "0002",
|
|
||||||
"emvDDOL": "9F3704",
|
|
||||||
"emvTDOL": "9F3704",
|
|
||||||
"partialAidSelection": false,
|
|
||||||
"targetPercent": "00",
|
|
||||||
"maxTargetPercent": "00",
|
|
||||||
"threshold": "00000000",
|
|
||||||
"tacDefault": "D84000A800",
|
|
||||||
"tacOnline": "DC4004F800",
|
|
||||||
"tacDenial": "0000000000",
|
|
||||||
"floorLimit": "000000000000",
|
|
||||||
"cvmLimit": 300,
|
|
||||||
"transLimit": "999999999",
|
|
||||||
"transLimitCDV": "999999999",
|
|
||||||
"terminalCapability": "0000000000000000",
|
|
||||||
"riskManageData": "0CB0800000000000",
|
|
||||||
"kernelType": "",
|
|
||||||
"ttq": "36800000",
|
"ttq": "36800000",
|
||||||
"cateCode": "2701",
|
"cateCode": "2701",
|
||||||
"currencyCode": "0104"
|
"currencyCode": "0104"
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"rid": "A000000333",
|
"rid": "A000000333",
|
||||||
"indx": "10",
|
"indx": "0A",
|
||||||
"hashInd": "01",
|
"hashInd": "01",
|
||||||
"arithInd": "01",
|
"arithInd": "01",
|
||||||
"modul": "B2AB1B6E9AC55A75ADFD5BBC34490E53C4C3381F34E60E7FAC21CC2B26DD34462B64A6FAE2495ED1DD383B8138BEA100FF9B7A111817E7B9869A9742B19E5C9DAC56F8B8827F11B05A08ECCF9E8D5E85B0F7CFA644EFF3E9B796688F38E006DEB21E101C01028903A06023AC5AAB8635F8E307A53AC742BDCE6A283F585F48EF",
|
"modul": "B2AB1B6E9AC55A75ADFD5BBC34490E53C4C3381F34E60E7FAC21CC2B26DD34462B64A6FAE2495ED1DD383B8138BEA100FF9B7A111817E7B9869A9742B19E5C9DAC56F8B8827F11B05A08ECCF9E8D5E85B0F7CFA644EFF3E9B796688F38E006DEB21E101C01028903A06023AC5AAB8635F8E307A53AC742BDCE6A283F585F48EF",
|
||||||
@ -31,10 +31,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"rid": "A000000333",
|
"rid": "A000000333",
|
||||||
"indx": "11",
|
"indx": "0B",
|
||||||
"hashInd": "01",
|
"hashInd": "01",
|
||||||
"arithInd": "01",
|
"arithInd": "01",
|
||||||
"modul": "51E35BD2290A0792BA55AEA169F5BCC33E96BF06E4A021301A97E73A85A7777A40494033433DD945E568065F3BE56255B26BB5CF3F8700AF734A0D5564DE1AFA5F9014704EA42BF929B64BEC7BFABA8D68ADDFECBDFEDEBF36C50DC7FCF0BD8CE33A8A3290216337B02AE6515D7C727F837DA6A18D794CCE62DACFBDB5B4EBE15F79553E05A5562CAE6A7B2C0587ECB362F4080DAC37D4F288440820B422D3692D5E8C57015D3AE21F558ED4733967B3",
|
"modul": "CF9FDF46B356378E9AF311B0F981B21A1F22F250FB11F55C958709E3C7241918293483289EAE688A094C02C344E2999F315A72841F489E24B1BA0056CFAB3B479D0E826452375DCDBB67E97EC2AA66F4601D774FEAEF775ACCC621BFEB65FB0053FC5F392AA5E1D4C41A4DE9FFDFDF1327C4BB874F1F63A599EE3902FE95E729FD78D4234DC7E6CF1ABABAA3F6DB29B7F05D1D901D2E76A606A8CBFFFFECBD918FA2D278BDB43B0434F5D45134BE1C2781D157D501FF43E5F1C470967CD57CE53B64D82974C8275937C5D8502A1252A8A5D6088A259B694F98648D9AF2CB0EFD9D943C69F896D49FA39702162ACB5AF29B90BADE005BC157",
|
||||||
"exponent": "03",
|
"exponent": "03",
|
||||||
"expDate": "3230333031323331",
|
"expDate": "3230333031323331",
|
||||||
"checkSum": "BD331F9996A490B33C13441066A09AD3FEB5F66C"
|
"checkSum": "BD331F9996A490B33C13441066A09AD3FEB5F66C"
|
||||||
@ -78,6 +78,56 @@
|
|||||||
"exponent": "03",
|
"exponent": "03",
|
||||||
"expDate": "3230333431323331",
|
"expDate": "3230333431323331",
|
||||||
"checkSum": "C4A3C43CCF87327D136B804160E47D43B60E6E0F"
|
"checkSum": "C4A3C43CCF87327D136B804160E47D43B60E6E0F"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rid": "A000000003",
|
||||||
|
"indx": "95",
|
||||||
|
"hashInd": "01",
|
||||||
|
"arithInd": "01",
|
||||||
|
"modul": "BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B1508AC6BF38860D3C6C2E5B12A3CAAF2A7005A7241EBAA7771112C74CF9A0634652FBCA0E5980C54A64761EA101A114E0F0B5572ADD57D010B7C9C887E104CA4EE1272DA66D997B9A90B5A6D624AB6C57E73C8F919000EB5F684898EF8C3DBEFB330C62660BED88EA78E909AFF05F6DA627B",
|
||||||
|
"exponent": "03",
|
||||||
|
"expDate": "3230323831323331",
|
||||||
|
"checkSum": "EE1511CEC71020A9B90443B37B1D5F6E703030F6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rid": "A000000003",
|
||||||
|
"indx": "99",
|
||||||
|
"hashInd": "01",
|
||||||
|
"arithInd": "01",
|
||||||
|
"modul": "AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295EEA4BD0C2781DE7F31CD3D041F565F747306EED62954B17EDABA3A6C5B85A1DE1BEB9A34141AF38FCF8279C9DEA0D5A6710D08DB4124F041945587E20359BAB47B7575AD94262D4B25F264AF33DEDCF28E09615E937DE32EDC03C54445FE7E382777",
|
||||||
|
"exponent": "03",
|
||||||
|
"expDate": "3230333431323331",
|
||||||
|
"checkSum": "4ABFFD6B1C51212D05552E431C5B17007D2F5E6D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rid": "A000000003",
|
||||||
|
"indx": "09",
|
||||||
|
"hashInd": "01",
|
||||||
|
"arithInd": "01",
|
||||||
|
"modul": "9D912248DE0A4E39C1A7DDE3F6D2588992C1A4095AFBD1824D1BA74847F2BC4926D2EFD904B4B54954CD189A54C5D1179654F8F9B0D2AB5F0357EB642FEDA95D3912C6576945FAB897E7062CAA44A4AA06B8FE6E3DBA18AF6AE3738E30429EE9BE03427C9D64F695FA8CAB4BFE376853EA34AD1D76BFCAD15908C077FFE6DC5521ECEF5D278A96E26F57359FFAEDA19434B937F1AD999DC5C41EB11935B44C18100E857F431A4A5A6BB65114F174C2D7B59FDF237D6BB1DD0916E644D709DED56481477C75D95CDD68254615F7740EC07F330AC5D67BCD75BF23D28A140826C026DBDE971A37CD3EF9B8DF644AC385010501EFC6509D7A41",
|
||||||
|
"exponent": "03",
|
||||||
|
"expDate": "3230333431323331",
|
||||||
|
"checkSum": "1FF80A40173F52D7D27E0F26A146A1C8CCB29046"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rid": "A000000004",
|
||||||
|
"indx": "F1",
|
||||||
|
"hashInd": "01",
|
||||||
|
"arithInd": "01",
|
||||||
|
"modul": "A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7",
|
||||||
|
"exponent": "03",
|
||||||
|
"expDate": "3230333431323331",
|
||||||
|
"checkSum": "D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rid": "A000000004",
|
||||||
|
"indx": "EF",
|
||||||
|
"hashInd": "01",
|
||||||
|
"arithInd": "01",
|
||||||
|
"modul": "A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B",
|
||||||
|
"exponent": "03",
|
||||||
|
"expDate": "3230333431323331",
|
||||||
|
"checkSum": "21766EBB0EE122AFB65D7845B73DB46BAB65427A"
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
BIN
paylibs/src/main/assets/fonts/victor_mono.ttf
Normal file
BIN
paylibs/src/main/assets/fonts/victor_mono.ttf
Normal file
Binary file not shown.
@ -81,10 +81,9 @@ public abstract class BaseXPrint {
|
|||||||
protected final int FONT_SIZE_NORMAL = 24;
|
protected final int FONT_SIZE_NORMAL = 24;
|
||||||
protected final int FONT_SIZE_BIG = 24;
|
protected final int FONT_SIZE_BIG = 24;
|
||||||
|
|
||||||
protected int fontSmall = 20;
|
protected int fontSmall = 16;
|
||||||
// protected FontEntity fontSmall = new FontEntity(DotMatrixFontEnum.CH_SONG_20X20, DotMatrixFontEnum.ASC_SONG_8X16);
|
|
||||||
|
|
||||||
protected int fontNormal = 25;
|
protected int fontNormal = 20;
|
||||||
|
|
||||||
// protected FontEntity fontNormal = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_12X24);
|
// protected FontEntity fontNormal = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_12X24);
|
||||||
protected FontEntity fontBold = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_BOLD_16X24);
|
protected FontEntity fontBold = new FontEntity(DotMatrixFontEnum.CH_SONG_24X24, DotMatrixFontEnum.ASC_SONG_BOLD_16X24);
|
||||||
@ -117,7 +116,7 @@ public abstract class BaseXPrint {
|
|||||||
Resources resources = PayLibsUtils.getInstance().context.getResources();
|
Resources resources = PayLibsUtils.getInstance().context.getResources();
|
||||||
// Typeface typeface = ResourcesCompat.getFont(PayLibsUtils.getInstance().context, R.font.consolas);
|
// Typeface typeface = ResourcesCompat.getFont(PayLibsUtils.getInstance().context, R.font.consolas);
|
||||||
// printer.setTypeface(typeface);
|
// printer.setTypeface(typeface);
|
||||||
printer.setTypeface(Typeface.createFromAsset(PayLibsUtils.getInstance().context.getAssets(), "fonts/consolab.ttf"));
|
printer.setTypeface(Typeface.createFromAsset(PayLibsUtils.getInstance().context.getAssets(), "fonts/victor_mono.ttf"));
|
||||||
printer.setGray(getGrayLevel());
|
printer.setGray(getGrayLevel());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,9 @@ public enum TransactionsType {
|
|||||||
DETAIL_REPORT("DETAIL_REPORT",33,"000000"),
|
DETAIL_REPORT("DETAIL_REPORT",33,"000000"),
|
||||||
|
|
||||||
MMQR_REFUND("QR_REFUND",34,"000000"),
|
MMQR_REFUND("QR_REFUND",34,"000000"),
|
||||||
MMQR_SETTLEMENT("QR_SETTLEMENT",35,"000000");
|
MMQR_SETTLEMENT("QR_SETTLEMENT",35,"000000"),
|
||||||
|
|
||||||
|
MMQR_HISTORY("QR_HISTORY",36,"000000");
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user