Compare commits

..

No commits in common. "714500017556ca6bf42923f1ac16e12132b45e44" and "4de793fd7623b3784912c521c1d6f897ede60cca" have entirely different histories.

9 changed files with 91 additions and 108 deletions

View File

@ -116,8 +116,8 @@ public class MainActivity extends AppCompatActivity implements
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// BaseApplication.getInstance().deviceEngine.getPlatform().hideNavigationBar();
BaseApplication.getInstance().deviceEngine.getPlatform().showNavigationBar();
BaseApplication.getInstance().deviceEngine.getPlatform().hideNavigationBar();
// BaseApplication.getInstance().deviceEngine.getPlatform().showNavigationBar();
// Keep screen on
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
@ -162,10 +162,8 @@ public class MainActivity extends AppCompatActivity implements
private void initKey(){
// SystemParamsOperation.getInstance().setTmsAddress("https://api-tms.kbzbank.com/sirius");
// SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms.kbzbank.com/receipt");
// SystemParamsOperation.getInstance().setTmsAddress("https://api-tms-uat.kbzbank.com:8443/sirius");
// SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt");
SystemParamsOperation.getInstance().setTmsAddress("https://sirius-nest.utsmyanmar.com/api/v1");
SystemParamsOperation.getInstance().setEReceiptAddress("https://receipt-nest.utsmyanmar.com/api/v1");
SystemParamsOperation.getInstance().setTmsAddress("https://api-tms-uat.kbzbank.com:8443/sirius");
SystemParamsOperation.getInstance().setEReceiptAddress("https://api-tms-uat.kbzbank.com:8443/receipt");
PinPad pinPad = MyApplication.getInstance().deviceEngine.getPinPad();
byte[] encryptedPIK = SystemParamsOperation.getInstance().getPIK();
@ -438,8 +436,8 @@ public class MainActivity extends AppCompatActivity implements
SystemParamsOperation.getInstance().setDownloadedParams(false);
handleAutoSettlementIntent(getIntent());
// BaseApplication.getInstance().deviceEngine.getPlatform().hideNavigationBar();
BaseApplication.getInstance().deviceEngine.getPlatform().showNavigationBar();
BaseApplication.getInstance().deviceEngine.getPlatform().hideNavigationBar();
// BaseApplication.getInstance().deviceEngine.getPlatform().showNavigationBar();
}

View File

@ -150,8 +150,7 @@ public class MainFragment extends DataBindingFragment {
@Override
public void onResume() {
super.onResume();
// int result = BaseApplication.getInstance().deviceEngine.getPlatform().disableControlBar();
int result = BaseApplication.getInstance().deviceEngine.getPlatform().enableControlBar();
int result = BaseApplication.getInstance().deviceEngine.getPlatform().disableControlBar();
LogUtil.d(TAG, "control bar result " + result);
setNavBarIconWithTitle(getResourceString(R.string.menu_dashboard));

View File

@ -275,8 +275,10 @@ public class EReceiptUtil {
request.setDE39("A");
request.setDE37("0000");
request.setDE49("MMK");
request.setDE41(terminalId);
request.setDE42(merchantId);
request.setSerial(serialNum);
request.setAppId(packageName);

View File

@ -116,7 +116,7 @@ public class EmvParamOperation extends ParamOperation{
processPayWave();
processPayPass();
processQuickPass();
processJSpeedy();
// processJSpeedy();
processMPUCtls();
processChips();
processRids();

View File

@ -298,7 +298,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
LogUtil.d(TAG, "TransData :" + transData.getTransAmount());
LogUtil.d(TAG, "start emv ");
emvHandler.emvDebugLog(true);
// emvHandler.emvDebugLog(true);
emvHandler.emvProcess(transData, emvProcessListener);
@ -560,27 +560,6 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
@Override
public void onTransInitBeforeGPO() {
byte[] tag9F15 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x15}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "tag9F15 (MCC)-->" + ByteUtils.byteArray2HexString(tag9F15));
if (tag9F15 != null) {
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F15"), ByteUtils.hexString2ByteArray("0000"));
tag9F15 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x15}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "after tag9F15-->" + ByteUtils.byteArray2HexString(tag9F15));
} else {
Log.d(TAG, "tag9F15 not found in kernel");
}
byte[] tag9F01 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x01}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "tag9F01-->" + ByteUtils.byteArray2HexString(tag9F15));
if (tag9F01 != null) {
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F01"), ByteUtils.hexString2ByteArray("000000000000"));
tag9F01 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x01}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "after tag9F01-->" + ByteUtils.byteArray2HexString(tag9F01));
} else {
Log.d(TAG, "tag9F01 not found in kernel");
}
if (mMPUContactlessConfigured) {
LogUtil.d(TAG, "onTransInitBeforeGPO: skipping — MPU contactless already configured");
@ -1037,11 +1016,13 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
/* For Yoma */
String[] tagList = {
"9F2A", "9F26", "9F27", "9F10", "9F37", "9F36", "95", "9A", "9C", "9F02", "5F2A", "5F34", "82", "9F1A", //field 55 tag
"9F03", "9F33", "4F", "9F08", "9F34", "9F35", "9F1E", "9F52","9F53", "84", "9F09", "9F41", //field55 tag
"9F03", "9F33", "4F", "9F08", "9F34", "9F35", "9F1E", "9F53", "84", "9F09", "9F41", //field55 tag
"9F5B", "8A", "9B", "9F6E", "9F7C", "9F4C", "50", "9F12", "DF01", "9F63", "5F20", "9F0B", "9F42",
"FF31", "9F7B", "8E","9F15", "9F01", "9F1B"
"FF31", "9F7B", "8E"
};
try {
String data = emvHandler.getTlvByTags(tagList);
LogUtil.d(TAG, "getTlvByTags :" + data);
@ -1404,61 +1385,13 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
}
// private void configJcbContactlessParameter() {
// LogUtil.d(TAG, "configJcbContactlessParameter");
//
// emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("EE8000"));
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F52"), ByteUtils.hexString2ByteArray("02"));
//// emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("708000"));
//// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F52"), ByteUtils.hexString2ByteArray("02"));
//// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F53"), ByteUtils.hexString2ByteArray("EE8000"));
//// emvHandler.setTlv(ByteUtils.hexString2ByteArray("DF8161"), ByteUtils.hexString2ByteArray("7F00"));
//// emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("F88000"));
// }
private void configJcbContactlessParameter() {
LogUtil.d(TAG, "configJcbContactlessParameter");
//9F52 to set magstripe mode not support
byte[] tagff8178 = emvHandler.getTlv(new byte[]{(byte) 0xff, (byte) 0x81,(byte) 0x78}, EmvDataSourceEnum.FROM_KERNEL);
LogUtil.d(TAG,"tagff8178-->" + ByteUtils.byteArray2HexString(tagff8178));
tagff8178[0] = setBitValue(tagff8178[0], 3, (byte) 0);
// tagff8178[0] = setBitValue(tagff8178[0], 1, (byte) 0);
emvHandler.setTlv(ByteUtils.hexString2ByteArray("ff8178"),tagff8178);
tagff8178 = emvHandler.getTlv(new byte[]{(byte) 0xff, (byte) 0x81,(byte) 0x78}, EmvDataSourceEnum.FROM_KERNEL);
LogUtil.d(TAG,"after tagff8178-->" + ByteUtils.byteArray2HexString(tagff8178));
private void configJcbContactlessParameter() {
LogUtil.d(TAG, "configJcbContactlessParameter");
// emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("EE8000"));
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F53"), ByteUtils.hexString2ByteArray("EE8000"));
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("DF8161"), ByteUtils.hexString2ByteArray("7F00"));
byte[] tag9F53 = emvHandler.getJcbContactlessTIP();
Log.d("nexgo", "getJcbContactlessTIP: tag9F53->:" + ByteUtils.byteArray2HexString(tag9F53));
if (tag9F53 != null) {
tag9F53[1] &= 0x7F; //disable issuer update
emvHandler.setJcbContactlessTIP(tag9F53);
Log.d("nexgo", "tag9F53->:" + ByteUtils.byteArray2HexString(tag9F53));
}
byte[] tag9F15 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x15}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "tag9F15 (MCC)-->" + ByteUtils.byteArray2HexString(tag9F15));
if (tag9F15 != null) {
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F15"), ByteUtils.hexString2ByteArray("0000"));
tag9F15 = emvHandler.getTlv(new byte[]{(byte) 0x9F, (byte) 0x15}, EmvDataSourceEnum.FROM_KERNEL);
Log.d(TAG, "after tag9F15-->" + ByteUtils.byteArray2HexString(tag9F15));
} else {
Log.d(TAG, "tag9F15 not found in kernel");
}
}
private byte setBitValue(byte originalByte, int bitPosition, byte bitValue) {
int shift = bitPosition - 1; // convert 1-based to 0-based
if (bitValue == 1) {
// Set bit to 1
return (byte) (originalByte | (1 << shift));
} else {
// Set bit to 0
return (byte) (originalByte & ~(1 << shift));
}
emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("708000"));
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F52"), ByteUtils.hexString2ByteArray("03"));
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F53"), ByteUtils.hexString2ByteArray("708000"));
emvHandler.setTlv(ByteUtils.hexString2ByteArray("DF8161"), ByteUtils.hexString2ByteArray("7F00"));
}
protected void importOnlineProcess(int sdkResult, EmvOnlineResultEntity emvOnlineResult) {

View File

@ -530,10 +530,10 @@
"currencyCode": "0104"
},
{
"aidEnable": true,
"aidEnable": false,
"aid": "A00000006510",
"cardScheme": "JCB",
"applicationVersion": "0200",
"applicationVersion": "0030",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
@ -553,10 +553,10 @@
"currencyCode": "0104"
},
{
"aidEnable": true,
"aidEnable": false,
"aid": "A0000000651010",
"cardScheme": "JCB",
"applicationVersion": "0200",
"applicationVersion": "0030",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,
@ -576,10 +576,10 @@
"currencyCode": "0104"
},
{
"aidEnable": true,
"aidEnable": false,
"aid": "A0000001570040",
"cardScheme": "JCB",
"applicationVersion": "0200",
"applicationVersion": "0030",
"emvDDOL": "9F3704",
"emvTDOL": "9F3704",
"partialAidSelection": false,

View File

@ -250,7 +250,66 @@
"expDate": "3230333031323331",
"checkSum": "BD331F9996A490B33C13441066A09AD3FEB5F66C"
},
{
"rid": "A000000065",
"indx": "07",
"hashInd": "01",
"arithInd": "00",
"modul": "B8DAB883EF1B5763E4F861F9EA3044B276635D402F3AE5E6B6C0547E368E79A36366DAC5609B6EC486DA1A8D2002CA4F4EFC2CB0EC1573A0B0917969EB60645BAEDF11C050C5D07FED817D11E84A174859A0DAE7F7935F109229C0AC4EE5BFB3D65533A679F0486C5AEFCC937379833BEC45D79DCF97B5228B1910FA03765331",
"exponent": "010001",
"expDate": "20201231",
"checkSum": "4896DD5A9EB5B11B9DCCA6DFE336C009F69F509A"
},
{
"rid": "A000000065",
"indx": "08",
"hashInd": "01",
"arithInd": "00",
"modul": "B74670DAD1DC8983652000E5A7F2F8B35DFD083EE593E5BA895C95729F2BADE9C8ABF3DD9CE240C451C6CEFFC768D83CBAC76ABB8FEA58F013C647007CFF7617BAC2AE3981816F25CC7E5238EF34C4F02D0B01C24F80C2C65E7E7743A4FA8E23206A23ECE290C26EA56DB085C5C5EAE26292451FC8292F9957BE8FF20FAD53E5",
"exponent": "03",
"expDate": "20201231",
"checkSum": "DD36D5896228C8C4900742F107E2F91FE50BC7EE"
},
{
"rid": "A000000065",
"indx": "09",
"hashInd": "01",
"arithInd": "00",
"modul": "B72A8FEF5B27F2B550398FDCC256F714BAD497FF56094B7408328CB626AA6F0E6A9DF8388EB9887BC930170BCC1213E90FC070D52C8DCD0FF9E10FAD36801FE93FC998A721705091F18BC7C98241CADC15A2B9DA7FB963142C0AB640D5D0135E77EBAE95AF1B4FEFADCF9C012366BDDA0455C1564A68810D7127676D493890BD",
"exponent": "03",
"expDate": "3230333031323331",
"checkSum": "4410C6D51C2F83ADFD92528FA6E38A32DF048D0A"
},
{
"rid": "A000000065",
"indx": "10",
"hashInd": "01",
"arithInd": "00",
"modul": "99B63464EE0B4957E4FD23BF923D12B61469B8FFF8814346B2ED6A780F8988EA9CF0433BC1E655F05EFA66D0C98098F25B659D7A25B8478A36E489760D071F54CDF7416948ED733D816349DA2AADDA227EE45936203CBF628CD033AABA5E5A6E4AE37FBACB4611B4113ED427529C636F6C3304F8ABDD6D9AD660516AE87F7F2DDF1D2FA44C164727E56BBC9BA23C0285",
"exponent": "03",
"expDate": "20201231",
"checkSum": "C75E5210CBE6E8F0594A0F1911B07418CADB5BAB"
},
{
"rid": "A000000065",
"indx": "11",
"hashInd": "01",
"arithInd": "00",
"modul": "A2583AA40746E3A63C22478F576D1EFC5FB046135A6FC739E82B55035F71B09BEB566EDB9968DD649B94B6DEDC033899884E908C27BE1CD291E5436F762553297763DAA3B890D778C0F01E3344CECDFB3BA70D7E055B8C760D0179A403D6B55F2B3B083912B183ADB7927441BED3395A199EEFE0DEBD1F5FC3264033DA856F4A8B93916885BD42F9C1F456AAB8CFA83AC574833EB5E87BB9D4C006A4B5346BD9E17E139AB6552D9C58BC041195336485",
"exponent": "03",
"expDate": "20201231",
"checkSum": "D9FD62C9DD4E6DE7741E9A17FB1FF2C5DB948BCB"
},
{
"rid": "A000000065",
"indx": "14",
"hashInd": "01",
"arithInd": "00",
"modul": "AEED55B9EE00E1ECEB045F61D2DA9A66AB637B43FB5CDBDB22A2FBB25BE061E937E38244EE5132F530144A3F268907D8FD648863F5A96FED7E42089E93457ADC0E1BC89C58A0DB72675FBC47FEE9FF33C16ADE6D341936B06B6A6F5EF6F66A4EDD981DF75DA8399C3053F430ECA342437C23AF423A211AC9F58EAF09B0F837DE9D86C7109DB1646561AA5AF0289AF5514AC64BC2D9D36A179BB8A7971E2BFA03A9E4B847FD3D63524D43A0E8003547B94A8A75E519DF3177D0A60BC0B4BAB1EA59A2CBB4D2D62354E926E9C7D3BE4181E81BA60F8285A896D17DA8C3242481B6C405769A39D547C74ED9FF95A70A796046B5EFF36682DC29",
"exponent": "03",
"expDate": "20201231",
"checkSum": "43A3151513B7ADCEB92DBEA2A262CEB336D26C83"
},
{
"rid": "A000000065",
"indx": "13",

View File

@ -593,16 +593,9 @@ public class KernelDataProcessUtil {
// /*
// * merchant category code
// * */
// if (tlvMap.get("9F52") != null) {
// f55DataStr += "9F5201" + tlvMap.get("9F52").getValue();
// f55WaveDataStr += "9F5201" + tlvMap.get("9F52").getValue();
// }
//
// if (tlvMap.get("9F53") != null) {
// f55DataStr += "9F5301" + tlvMap.get("9F53").getValue();
// f55WaveDataStr += "9F5301" + tlvMap.get("9F53").getValue();
// }
// else {
// } else {
// f55DataStr += "9F530150";
// }

View File

@ -42,13 +42,12 @@ public class SystemParamsSettings implements Serializable {
// private String tmsAddress = "https://api-tms.kbzbank.com/sirius";
// private String ereceiptAddress = "https://api-tms.kbzbank.com/receipt";
// private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius";
// private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt";
private String tmsAddress = "https://sirius-nest.utsmyanmar.com/api/v1";
private String ereceiptAddress = "https://receipt-nest.utsmyanmar.com/api/v1";
private String tmsAddress = "https://api-tms-uat.kbzbank.com:8443/sirius";
private String ereceiptAddress = "https://api-tms-uat.kbzbank.com:8443/receipt";
private String binValues = "";
private String restrictedBinValues = "";
private String terminalName = "";
// private String terminalCapability = "E0E8C8";