UPI fix for certification
This commit is contained in:
parent
dd265c1fa8
commit
99b9f4835c
@ -359,7 +359,11 @@ public class PinPadViewModel extends ViewModel {
|
|||||||
handler.obtainMessage(ON_ERROR_PIN_PAD,retCode).sendToTarget();
|
handler.obtainMessage(ON_ERROR_PIN_PAD,retCode).sendToTarget();
|
||||||
}
|
}
|
||||||
LogUtil.d(TAG,"RetCode:"+retCode);
|
LogUtil.d(TAG,"RetCode:"+retCode);
|
||||||
payDetail.setPINCipher(ByteUtil.bytes2HexStr(data));
|
if(retCode != SdkResult.PinPad_No_Pin_Input) {
|
||||||
|
LogUtil.d(TAG, "called me!");
|
||||||
|
payDetail.setPINCipher(ByteUtil.bytes2HexStr(data));
|
||||||
|
}
|
||||||
|
// payDetail.setPINCipher(ByteUtil.bytes2HexStr(data));
|
||||||
LogUtil.d(TAG,"data bytes:"+ByteUtil.bytes2HexStr(data));
|
LogUtil.d(TAG,"data bytes:"+ByteUtil.bytes2HexStr(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import com.utsmyanmar.paylibs.model.CardInfo;
|
|||||||
import com.utsmyanmar.paylibs.model.MAGCardInfo;
|
import com.utsmyanmar.paylibs.model.MAGCardInfo;
|
||||||
import com.utsmyanmar.paylibs.model.PayDetail;
|
import com.utsmyanmar.paylibs.model.PayDetail;
|
||||||
import com.utsmyanmar.paylibs.model.TradeData;
|
import com.utsmyanmar.paylibs.model.TradeData;
|
||||||
|
import com.utsmyanmar.paylibs.model.enums.TransCVM;
|
||||||
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
import com.utsmyanmar.paylibs.utils.core_utils.SystemParamsOperation;
|
||||||
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
import com.utsmyanmar.paylibs.utils.iso_utils.TransactionsType;
|
||||||
import com.utsmyanmar.paylibs.utils.params.Params;
|
import com.utsmyanmar.paylibs.utils.params.Params;
|
||||||
@ -98,7 +99,8 @@ public class TransactionUtil {
|
|||||||
PayDetail payDetail = tradeData.getPayDetail();
|
PayDetail payDetail = tradeData.getPayDetail();
|
||||||
payDetail.setCardNo(cardDataX.getPan());
|
payDetail.setCardNo(cardDataX.getPan());
|
||||||
payDetail.setEXPDate(cardDataX.getExp());
|
payDetail.setEXPDate(cardDataX.getExp());
|
||||||
|
payDetail.setTransCVM(TransCVM.SIGNATURE);
|
||||||
|
|
||||||
if(cardDataX.getPan().startsWith("4")) {
|
if(cardDataX.getPan().startsWith("4")) {
|
||||||
payDetail.setAccountType(VISA_CARD_SCHEME);
|
payDetail.setAccountType(VISA_CARD_SCHEME);
|
||||||
} else if(cardDataX.getPan().startsWith("5")) {
|
} else if(cardDataX.getPan().startsWith("5")) {
|
||||||
|
|||||||
@ -22,8 +22,8 @@ public final class TerminalKeyUtil {
|
|||||||
|
|
||||||
public static final String TAG = TerminalKeyUtil.class.getSimpleName();
|
public static final String TAG = TerminalKeyUtil.class.getSimpleName();
|
||||||
|
|
||||||
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase()); // KBZ UAT
|
private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase()); // KBZ UAT
|
||||||
private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase());
|
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("875f63741753d18811a3449090d1777b".toUpperCase());
|
||||||
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("e121249099a677e8b7d4f6a9d49fe8d1".toUpperCase()); // MPU
|
// private static final byte[] main_key_data = ByteUtil.hexStr2Bytes("e121249099a677e8b7d4f6a9d49fe8d1".toUpperCase()); // MPU
|
||||||
private static final byte[] work_key_data = new byte[16];
|
private static final byte[] work_key_data = new byte[16];
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ public final class TerminalKeyUtil {
|
|||||||
Arrays.fill(work_key_data, (byte) 0x31);
|
Arrays.fill(work_key_data, (byte) 0x31);
|
||||||
PinPad pinPad = BaseApplication.getInstance().deviceEngine.getPinPad();
|
PinPad pinPad = BaseApplication.getInstance().deviceEngine.getPinPad();
|
||||||
int result = pinPad.writeMKey(9, main_key_data, main_key_data.length);
|
int result = pinPad.writeMKey(9, main_key_data, main_key_data.length);
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// int resultPINKEY = pinPad.writeWKey(0, WorkKeyTypeEnum.PINKEY, work_key_data, work_key_data.length);
|
// int resultPINKEY = pinPad.writeWKey(0, WorkKeyTypeEnum.PINKEY, work_key_data, work_key_data.length);
|
||||||
|
|||||||
@ -316,8 +316,8 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
LogUtil.d(TAG, "Selected :" + position);
|
LogUtil.d(TAG, "Selected :" + position + 1);
|
||||||
emvHandler.onSetSelAppResponse(position);
|
emvHandler.onSetSelAppResponse(position + 1);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtil.e(TAG, "Exception during app selection: " + e.getMessage());
|
LogUtil.e(TAG, "Exception during app selection: " + e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -751,6 +751,9 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
byte[] tlv_50 = emvHandler.getTlv(new byte[]{(byte) 0x50}, EmvDataSourceEnum.FROM_KERNEL);
|
byte[] tlv_50 = emvHandler.getTlv(new byte[]{(byte) 0x50}, EmvDataSourceEnum.FROM_KERNEL);
|
||||||
LogUtil.d(TAG, "tlv_50--" + ByteUtils.byteArray2HexString(tlv_50));
|
LogUtil.d(TAG, "tlv_50--" + ByteUtils.byteArray2HexString(tlv_50));
|
||||||
|
|
||||||
|
byte[] tlv_9B = emvHandler.getTlv(new byte[]{(byte) 0x9B}, EmvDataSourceEnum.FROM_KERNEL);
|
||||||
|
LogUtil.d(TAG, "tlv_9B--" + ByteUtils.byteArray2HexString(tlv_9B));
|
||||||
|
|
||||||
switch (retCode) {
|
switch (retCode) {
|
||||||
case SdkResult.Emv_Success_Arpc_Fail:
|
case SdkResult.Emv_Success_Arpc_Fail:
|
||||||
case SdkResult.Success:
|
case SdkResult.Success:
|
||||||
@ -1207,8 +1210,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
kernelTTQ[1] = TTQ[1];
|
kernelTTQ[1] = TTQ[1];
|
||||||
kernelTTQ[2] = TTQ[2];
|
kernelTTQ[2] = TTQ[2];
|
||||||
kernelTTQ[3] = TTQ[3];
|
kernelTTQ[3] = TTQ[3];
|
||||||
|
|
||||||
// FIXME: 2019/3/20
|
|
||||||
//If there is no special requirements, do not change TTQ byte1
|
//If there is no special requirements, do not change TTQ byte1
|
||||||
//if online force required , can set byte2 bit 8 = 1
|
//if online force required , can set byte2 bit 8 = 1
|
||||||
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F66"), kernelTTQ);
|
emvHandler.setTlv(ByteUtils.hexString2ByteArray("9F66"), kernelTTQ);
|
||||||
|
|||||||
@ -154,7 +154,6 @@ public class AuthorizationProcessUtil {
|
|||||||
hexValues[i] = value;
|
hexValues[i] = value;
|
||||||
}
|
}
|
||||||
int status;
|
int status;
|
||||||
String f055Data = getF055Data();
|
|
||||||
LogUtil.d(TAG,"is equal:"+equals);
|
LogUtil.d(TAG,"is equal:"+equals);
|
||||||
LogUtil.d(TAG,"Emv Online Result:"+emvOnlineResult);
|
LogUtil.d(TAG,"Emv Online Result:"+emvOnlineResult);
|
||||||
if (equals) {
|
if (equals) {
|
||||||
@ -177,7 +176,7 @@ public class AuthorizationProcessUtil {
|
|||||||
LogUtil.e(Constant.TAG, "scriptResult: " + scriptResult);
|
LogUtil.e(Constant.TAG, "scriptResult: " + scriptResult);
|
||||||
payDetail.setScriptResult(scriptResult);
|
payDetail.setScriptResult(scriptResult);
|
||||||
|
|
||||||
|
String f055Data = getF055Data();
|
||||||
LogUtil.e(Constant.TAG, "f055Data: " + f055Data);
|
LogUtil.e(Constant.TAG, "f055Data: " + f055Data);
|
||||||
|
|
||||||
// if (status >= 0) {
|
// if (status >= 0) {
|
||||||
@ -205,6 +204,9 @@ public class AuthorizationProcessUtil {
|
|||||||
private void importOnlineProcessStatus(int sdkResult,EmvOnlineResultEntity emvOnlineResult) {
|
private void importOnlineProcessStatus(int sdkResult,EmvOnlineResultEntity emvOnlineResult) {
|
||||||
LogUtil.d(TAG, "importOnlineProcessStatus sdkResult:"+sdkResult);
|
LogUtil.d(TAG, "importOnlineProcessStatus sdkResult:"+sdkResult);
|
||||||
LogUtil.d(TAG, "importOnlineProcessStatus emvOnlineResult:"+emvOnlineResult.toString());
|
LogUtil.d(TAG, "importOnlineProcessStatus emvOnlineResult:"+emvOnlineResult.toString());
|
||||||
|
LogUtil.d(TAG, "importOnlineProcessStatus emvOnlineResult:"+emvOnlineResult.getAuthCode());
|
||||||
|
LogUtil.d(TAG, "importOnlineProcessStatus emvOnlineResult:"+emvOnlineResult.getRejCode());
|
||||||
|
LogUtil.d(TAG, "importOnlineProcessStatus emvOnlineResult:"+ ByteUtil.bytes2HexStr(emvOnlineResult.getRecvField55()));
|
||||||
PayLibNex.getInstance().deviceEngine.getEmvHandler2("app2").onSetOnlineProcResponse(sdkResult, emvOnlineResult);
|
PayLibNex.getInstance().deviceEngine.getEmvHandler2("app2").onSetOnlineProcResponse(sdkResult, emvOnlineResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user