Compare commits
2 Commits
84311f4dc8
...
b808a87f23
| Author | SHA1 | Date | |
|---|---|---|---|
| b808a87f23 | |||
| 8791e6de4c |
@ -652,6 +652,7 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
byte[] aid = emvHandler.getTlv(new byte[]{0x4F}, EmvDataSourceEnum.FROM_KERNEL);
|
byte[] aid = emvHandler.getTlv(new byte[]{0x4F}, EmvDataSourceEnum.FROM_KERNEL);
|
||||||
LogUtil.d(TAG, "onTransInitBeforeGPO :");
|
LogUtil.d(TAG, "onTransInitBeforeGPO :");
|
||||||
String terminalCapability = SystemParamsOperation.getInstance().getTerminalCapability();
|
String terminalCapability = SystemParamsOperation.getInstance().getTerminalCapability();
|
||||||
|
LogUtil.d(TAG,"Terminal capability :"+terminalCapability);
|
||||||
// emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, new byte[]{(byte) 0xE0, (byte) 0x28, (byte) 0xC8});
|
// emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, new byte[]{(byte) 0xE0, (byte) 0x28, (byte) 0xC8});
|
||||||
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, ByteUtil.hexStr2Bytes(terminalCapability));
|
emvHandler.setTlv(new byte[]{(byte) 0x9F, (byte) 0x33}, ByteUtil.hexStr2Bytes(terminalCapability));
|
||||||
if (mPayDetail.getCardType() == CardTypeX.NFC.value) {
|
if (mPayDetail.getCardType() == CardTypeX.NFC.value) {
|
||||||
@ -1214,11 +1215,11 @@ public abstract class EmvBaseViewModel extends BaseViewModel {
|
|||||||
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x1B}, new byte[]{(byte) 0x30});
|
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x1B}, new byte[]{(byte) 0x30});
|
||||||
|
|
||||||
//EMV MODE :amount >contactless cvm limit, set 60 = online pin and signature , set 20 = signature
|
//EMV MODE :amount >contactless cvm limit, set 60 = online pin and signature , set 20 = signature
|
||||||
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF8});
|
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x18}, new byte[]{(byte) 0xF0}); //F8
|
||||||
//EMV mode :amount < contactless cvm limit, set 08 = no cvm
|
//EMV mode :amount < contactless cvm limit, set 08 = no cvm
|
||||||
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x19}, new byte[]{(byte) 0x08}); //08
|
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x19}, new byte[]{(byte) 0x08}); //08
|
||||||
|
|
||||||
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x25}, ByteUtils.hexString2ByteArray("000999999999"));
|
emvHandler.setTlv(new byte[]{(byte) 0xDF, (byte) 0x81, (byte) 0x25}, ByteUtils.hexString2ByteArray("999999999999"));
|
||||||
|
|
||||||
if (ByteUtils.byteArray2HexString(aid).toUpperCase().contains("A0000000043060")) {
|
if (ByteUtils.byteArray2HexString(aid).toUpperCase().contains("A0000000043060")) {
|
||||||
Log.d("nexgo", "======maestro===== ");
|
Log.d("nexgo", "======maestro===== ");
|
||||||
|
|||||||
@ -7,8 +7,8 @@
|
|||||||
"emvDDOL": "9F3704",
|
"emvDDOL": "9F3704",
|
||||||
"emvTDOL": "9F3704",
|
"emvTDOL": "9F3704",
|
||||||
"partialAidSelection": false,
|
"partialAidSelection": false,
|
||||||
"targetPercent": "00",
|
"targetPercent": "99",
|
||||||
"maxTargetPercent": "00",
|
"maxTargetPercent": "99",
|
||||||
"threshold": "00000040",
|
"threshold": "00000040",
|
||||||
"tacDefault": "D84000A800",
|
"tacDefault": "D84000A800",
|
||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
@ -32,8 +32,8 @@
|
|||||||
"emvDDOL": "9F3704",
|
"emvDDOL": "9F3704",
|
||||||
"emvTDOL": "9F3704",
|
"emvTDOL": "9F3704",
|
||||||
"partialAidSelection": false,
|
"partialAidSelection": false,
|
||||||
"targetPercent": "00",
|
"targetPercent": "99",
|
||||||
"maxTargetPercent": "00",
|
"maxTargetPercent": "99",
|
||||||
"threshold": "00000040",
|
"threshold": "00000040",
|
||||||
"tacDefault": "D84000A800",
|
"tacDefault": "D84000A800",
|
||||||
"tacOnline": "DC4004F800",
|
"tacOnline": "DC4004F800",
|
||||||
|
|||||||
@ -434,6 +434,7 @@ public class TransactionsOperation {
|
|||||||
} else {
|
} else {
|
||||||
boolean equals = TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED);
|
boolean equals = TextUtils.equals(resultStr, Constant.ANSWER_CODE_ACCEPT) || TextUtils.equals(resultStr, Constant.ANSWER_CODE_APPROVED);
|
||||||
EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity();
|
EmvOnlineResultEntity emvOnlineResult = new EmvOnlineResultEntity();
|
||||||
|
emvOnlineResult.setRejCode("00");
|
||||||
// MsgField field38,field39,field55;
|
// MsgField field38,field39,field55;
|
||||||
// if (resp != null) {
|
// if (resp != null) {
|
||||||
// field38 = resp.get("F038");
|
// field38 = resp.get("F038");
|
||||||
@ -456,6 +457,8 @@ public class TransactionsOperation {
|
|||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
if(equals) {
|
if(equals) {
|
||||||
|
emvOnlineResult.setRejCode("00");
|
||||||
|
emvOnlineResult.setRecvField55(null);
|
||||||
importOnlineProcessStatus(SdkResult.Success,emvOnlineResult);
|
importOnlineProcessStatus(SdkResult.Success,emvOnlineResult);
|
||||||
} else {
|
} else {
|
||||||
importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult);
|
importOnlineProcessStatus(SdkResult.Fail,emvOnlineResult);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user