jcb fix
This commit is contained in:
parent
14ad87e41f
commit
2eac171a6c
@ -298,7 +298,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
LogUtil.d(TAG, "TransData :" + transData.getTransAmount());
|
LogUtil.d(TAG, "TransData :" + transData.getTransAmount());
|
||||||
LogUtil.d(TAG, "start emv ");
|
LogUtil.d(TAG, "start emv ");
|
||||||
|
|
||||||
// emvHandler.emvDebugLog(true);
|
emvHandler.emvDebugLog(true);
|
||||||
emvHandler.emvProcess(transData, emvProcessListener);
|
emvHandler.emvProcess(transData, emvProcessListener);
|
||||||
|
|
||||||
|
|
||||||
@ -1016,13 +1016,11 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
/* For Yoma */
|
/* For Yoma */
|
||||||
String[] tagList = {
|
String[] tagList = {
|
||||||
"9F2A", "9F26", "9F27", "9F10", "9F37", "9F36", "95", "9A", "9C", "9F02", "5F2A", "5F34", "82", "9F1A", //field 55 tag
|
"9F2A", "9F26", "9F27", "9F10", "9F37", "9F36", "95", "9A", "9C", "9F02", "5F2A", "5F34", "82", "9F1A", //field 55 tag
|
||||||
"9F03", "9F33", "4F", "9F08", "9F34", "9F35", "9F1E", "9F53", "84", "9F09", "9F41", //field55 tag
|
"9F03", "9F33", "4F", "9F08", "9F34", "9F35", "9F1E", "9F52","9F53", "84", "9F09", "9F41", //field55 tag
|
||||||
"9F5B", "8A", "9B", "9F6E", "9F7C", "9F4C", "50", "9F12", "DF01", "9F63", "5F20", "9F0B", "9F42",
|
"9F5B", "8A", "9B", "9F6E", "9F7C", "9F4C", "50", "9F12", "DF01", "9F63", "5F20", "9F0B", "9F42",
|
||||||
"FF31", "9F7B", "8E"
|
"FF31", "9F7B", "8E","9F15"
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String data = emvHandler.getTlvByTags(tagList);
|
String data = emvHandler.getTlvByTags(tagList);
|
||||||
LogUtil.d(TAG, "getTlvByTags :" + data);
|
LogUtil.d(TAG, "getTlvByTags :" + data);
|
||||||
@ -1385,13 +1383,50 @@ 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() {
|
private void configJcbContactlessParameter() {
|
||||||
LogUtil.d(TAG, "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));
|
||||||
|
|
||||||
emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("708000"));
|
// emvHandler.setJcbContactlessTIP(ByteUtils.hexString2ByteArray("EE8000"));
|
||||||
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F52"), ByteUtils.hexString2ByteArray("03"));
|
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F53"), ByteUtils.hexString2ByteArray("EE8000"));
|
||||||
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F53"), ByteUtils.hexString2ByteArray("708000"));
|
// emvHandler.setTlv(ByteUtils.hexString2ByteArray("DF8161"), ByteUtils.hexString2ByteArray("7F00"));
|
||||||
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));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void importOnlineProcess(int sdkResult, EmvOnlineResultEntity emvOnlineResult) {
|
protected void importOnlineProcess(int sdkResult, EmvOnlineResultEntity emvOnlineResult) {
|
||||||
|
|||||||
@ -593,9 +593,16 @@ public class KernelDataProcessUtil {
|
|||||||
// /*
|
// /*
|
||||||
// * merchant category code
|
// * merchant category code
|
||||||
// * */
|
// * */
|
||||||
// if (tlvMap.get("9F53") != null) {
|
if (tlvMap.get("9F52") != null) {
|
||||||
// f55DataStr += "9F5301" + tlvMap.get("9F53").getValue();
|
f55DataStr += "9F5201" + tlvMap.get("9F52").getValue();
|
||||||
// } else {
|
f55WaveDataStr += "9F5201" + tlvMap.get("9F52").getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tlvMap.get("9F53") != null) {
|
||||||
|
f55DataStr += "9F5301" + tlvMap.get("9F53").getValue();
|
||||||
|
f55WaveDataStr += "9F5301" + tlvMap.get("9F53").getValue();
|
||||||
|
}
|
||||||
|
// else {
|
||||||
// f55DataStr += "9F530150";
|
// f55DataStr += "9F530150";
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user