@urovotest/urovosdk-docs-mcp 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +176 -0
- package/docs/00-overview.md +37 -0
- package/docs/01-integration/android-permissions.md +22 -0
- package/docs/01-integration/quickstart-zh.md +54 -0
- package/docs/02-reference/emv/emv-api.md +3308 -0
- package/docs/02-reference/emv/emv-appendix.md +112 -0
- package/docs/02-reference/emv/emv-callback.md +1155 -0
- package/docs/02-reference/emv/emv-enum.md +324 -0
- package/docs/02-reference/error-codes.md +59 -0
- package/docs/02-reference/general/beeper.md +160 -0
- package/docs/02-reference/general/devicemanager.md +460 -0
- package/docs/02-reference/general/insertcardreader.md +307 -0
- package/docs/02-reference/general/install-manager.md +202 -0
- package/docs/02-reference/general/led-light.md +144 -0
- package/docs/02-reference/general/magcardreader.md +191 -0
- package/docs/02-reference/general/pinpad.md +3309 -0
- package/docs/02-reference/general/printer.md +1410 -0
- package/docs/02-reference/general/psam2.md +55 -0
- package/docs/02-reference/general/rfcardreader.md +1090 -0
- package/docs/02-reference/general/scanner-custom.md +196 -0
- package/docs/02-reference/general/scanner.md +214 -0
- package/docs/02-reference/general/sdk-log-output-management.md +124 -0
- package/docs/02-reference/general/serial-port-deprecated-suggest-using-module-14-serialtool.md +406 -0
- package/docs/02-reference/general/serial-port.md +326 -0
- package/docs/02-reference/general/sle4428-4436-4442.md +1890 -0
- package/docs/02-reference/general/system-manager.md +212 -0
- package/docs/02-reference/module-index.md +30 -0
- package/docs/02-reference/source-emv_sdk.md +3927 -0
- package/docs/02-reference/source-general_sdk.md +8978 -0
- package/docs/02-reference/undocumented/kiosk-lock-task.md +92 -0
- package/docs/03-demo/activity-map.md +27 -0
- package/docs/api-registry.json +4733 -0
- package/docs/search-index.json +2688 -0
- package/docs/source/emv_sdk.md +3927 -0
- package/docs/source/general_sdk.md +8978 -0
- package/docs/source/kiosk_lock_task.md +86 -0
- package/package.json +36 -0
- package/src/launch.js +22 -0
- package/src/lib/check-update.js +92 -0
- package/src/lib/create-mcp-server.js +90 -0
- package/src/lib/docs-tools.js +206 -0
- package/src/server.js +10 -0
|
@@ -0,0 +1,3308 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: EMV API API
|
|
3
|
+
module: EMV API
|
|
4
|
+
domain: emv
|
|
5
|
+
tags: ["emv", "emv-api", "emv api"]
|
|
6
|
+
---
|
|
7
|
+
# EMV API
|
|
8
|
+
|
|
9
|
+
共 **45** 个 API/条目,来源 `emv_sdk.md`。
|
|
10
|
+
|
|
11
|
+
## API 索引
|
|
12
|
+
|
|
13
|
+
| 方法 | 类路径 | Demo Activity |
|
|
14
|
+
|------|--------|---------------|
|
|
15
|
+
| [startKernel](#startkernel) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
16
|
+
| [abortKernel](#abortkernel) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
17
|
+
| [setAmountEx](#setamountex) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
18
|
+
| [sendConfirmCardnoResult](#sendconfirmcardnoresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
19
|
+
| [selectApplication](#selectapplication) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
20
|
+
| [sendFinalConfirmResult](#sendfinalconfirmresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
21
|
+
| [sendOnlineProcessResult](#sendonlineprocessresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
22
|
+
| [ProcOnlinePinAgain](#proconlinepinagain) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
23
|
+
| [sendPinEntry](#sendpinentry) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
24
|
+
| [bypassPinEntry](#bypasspinentry) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
25
|
+
| [cancelPinEntry](#cancelpinentry) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
26
|
+
| [updateTerminalParamters](#updateterminalparamters) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
27
|
+
| [updateCAPK](#updatecapk) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew, TestEmv |
|
|
28
|
+
| [updateAID](#updateaid) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew, TestEmv |
|
|
29
|
+
| [updateExceptFile](#updateexceptfile) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
30
|
+
| [LogOutEnable](#logoutenable) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
31
|
+
| [sendOfflinePINVerifyResult](#sendofflinepinverifyresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
32
|
+
| [getIssuerScriptResult](#getissuerscriptresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
33
|
+
| [getEmvAIDDetail](#getemvaiddetail) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
34
|
+
| [getNfcAIDDetail](#getnfcaiddetail) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
35
|
+
| [getCAPKDetail](#getcapkdetail) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
36
|
+
| [getAIDList](#getaidlist) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
37
|
+
| [getCAPKList](#getcapklist) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
38
|
+
| [getTlvByTagLists](#gettlvbytaglists) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
39
|
+
| [getEMVLibVers](#getemvlibvers) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
40
|
+
| [getEMVjarVers](#getemvjarvers) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
41
|
+
| [getValByTag](#getvalbytag) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
42
|
+
| [setContext](#setcontext) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
43
|
+
| [SetTLV](#settlv) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
44
|
+
| [getMstripFlag](#getmstripflag) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
45
|
+
| [CheckCardIsOut](#checkcardisout) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
46
|
+
| [CheckCardIsOutDuringTrans](#checkcardisoutduringtrans) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
47
|
+
| [GetField55ForSAMA](#getfield55forsama) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
48
|
+
| [getDeviceType()](#getdevicetype) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
49
|
+
| [getField55ForJIO()](#getfield55forjio) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
50
|
+
| [GetL1Version](#getl1version) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
51
|
+
| [getNFCLibVers](#getnfclibvers) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
52
|
+
| [updateCAPK](#updatecapk) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew, TestEmv |
|
|
53
|
+
| [updateContactAID_TLV](#updatecontactaid-tlv) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew, TestEmv |
|
|
54
|
+
| [updateContactlessAID_TLV](#updatecontactlessaid-tlv) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew, TestEmv |
|
|
55
|
+
| [updateCAPK_TLV](#updatecapk-tlv) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
56
|
+
| [exportLogFilesToExternalStorage](#exportlogfilestoexternalstorage) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
57
|
+
| [getNfcCvmCode](#getnfccvmcode) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
58
|
+
| [getODAstatus](#getodastatus) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
59
|
+
| [setApproveRespcodeList](#setapproverespcodelist) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
60
|
+
|
|
61
|
+
## startKernel
|
|
62
|
+
|
|
63
|
+
EMV process.
|
|
64
|
+
|
|
65
|
+
```java
|
|
66
|
+
void startKernel(Hashtable<String,Object>transParams)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
70
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
71
|
+
- **源文档章节:** 1.01
|
|
72
|
+
|
|
73
|
+
- Source section: `1.01`
|
|
74
|
+
|
|
75
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
76
|
+
|
|
77
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
Purpose:
|
|
82
|
+
EMV process.
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
Signature/prototype:
|
|
86
|
+
```java
|
|
87
|
+
void startKernel(Hashtable<String,Object>transParams)
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
Parameters:
|
|
92
|
+
See below Hashtablekeystable.
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
Return value:
|
|
96
|
+
None
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
Usage notes:
|
|
100
|
+
onRequestSetAmount
|
|
101
|
+
startEmvHashtableKeys1/2
|
|
102
|
+
TransactionSettings
|
|
103
|
+
• emvOption: Indicatewhether toforcetransactiongo online, seeEmvOption
|
|
104
|
+
enumeration.
|
|
105
|
+
• checkCardMode:Indicatewhich checkcardmodetouse, seeCheckCardMode
|
|
106
|
+
enumeration.
|
|
107
|
+
• transactionType: Indicatethetype of financialtransaction(eg:00-goods,
|
|
108
|
+
01-cash,09-cashback, 20--refund)
|
|
109
|
+
• amount:Thetransactionamount. (e.g. "0.01")
|
|
110
|
+
• cashbackAmount:Thecashbackamount.
|
|
111
|
+
• amountEx:Thetransactionamount. (e.g. "001")
|
|
112
|
+
• cashbackAmountEx:Thecashbackamount.
|
|
113
|
+
• currencyCode:The3-digits transactioncurrencycode (e.g. "840" for USD).
|
|
114
|
+
• checkCardTimeout: Indicatethecheckcardtimeout, insecond.
|
|
115
|
+
• isEnterAmtAfterReadRecord:thisflagistrue,youneedtoentertheamountinthe
|
|
116
|
+
onRequestSetAmount callback
|
|
117
|
+
• FallbackSwitch: enableor disable thefallbackfunction 0-disable 1-enable
|
|
118
|
+
• supportDRL: true -Terminal support DRL for Visa, false-Terminel not support
|
|
119
|
+
DRLforVisa.
|
|
120
|
+
•enableBeeper: true - enable beeper when card read successful , false - disable
|
|
121
|
+
beeper when cardreadsuccessful.
|
|
122
|
+
•enableTapSwipeCollision: true - endable Tap/Swipe card collision check, false -
|
|
123
|
+
disableTap/Swipe cardcollision check.
|
|
124
|
+
•DisableCheckMSRFormat: true - Disable check MSR format ,false - Check MSR
|
|
125
|
+
format
|
|
126
|
+
•NeedFallBackTryTimes: (eg:1,2,3…) How many times does it take to fallback after
|
|
127
|
+
thecardreading fails.
|
|
128
|
+
•DisableCheckMSRFormat: true - check the magnetic stripe Format, false - Don`t
|
|
129
|
+
|
|
130
|
+
check
|
|
131
|
+
Mag StripeFormat.
|
|
132
|
+
• enableEncMagStripe: true - Return Encrypt magnetic stripe, false - Return
|
|
133
|
+
Plaintext magnetic stripe
|
|
134
|
+
•MSRKeyIndex: (1-4) DUKPTkey indexfor encrypted magneticstripe
|
|
135
|
+
•forceInputPIN: true - Force input of online PIN, valid for contactless. Note: This
|
|
136
|
+
functioncannot beusedfor L2authentication
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
Simplified example:
|
|
140
|
+
```java
|
|
141
|
+
Hashtable<String, Object> data = new Hashtable<>();
|
|
142
|
+
data.put("checkCardMode", ContantPara.CheckCardMode.SWIPE_OR_INSERT_OR_TAP);
|
|
143
|
+
data.put("emvOption", ContantPara.EmvOption.START);
|
|
144
|
+
data.put("amount", "0");
|
|
145
|
+
data.put("cashbackAmount", "0");
|
|
146
|
+
data.put("checkCardTimeout", "30");
|
|
147
|
+
data.put("transactionType", "00");
|
|
148
|
+
data.put("currencyCode", "156");
|
|
149
|
+
emv.updateTerminalParamters(ContantPara.CardSlot.ICC, "9F3303E0F8C85F2A0201569F1A020156");
|
|
150
|
+
emv.updateTerminalParamters(ContantPara.CardSlot.PICC, "9F3303E0F8C85F2A0201569F1A020156");
|
|
151
|
+
emv.startKernel(data);
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
Source details:
|
|
156
|
+
```text
|
|
157
|
+
Declare: void startKernel(Hashtable<String,Object>transParams)
|
|
158
|
+
Start the transaction with specified CheckCardMode,go through all the
|
|
159
|
+
Description:
|
|
160
|
+
EMV process.
|
|
161
|
+
Parameters: See below Hashtablekeystable.
|
|
162
|
+
Return: None
|
|
163
|
+
Remark: onRequestSetAmount
|
|
164
|
+
startEmvHashtableKeys1/2
|
|
165
|
+
TransactionSettings
|
|
166
|
+
• emvOption: Indicatewhether toforcetransactiongo online, seeEmvOption
|
|
167
|
+
enumeration.
|
|
168
|
+
• checkCardMode:Indicatewhich checkcardmodetouse, seeCheckCardMode
|
|
169
|
+
enumeration.
|
|
170
|
+
• transactionType: Indicatethetype of financialtransaction(eg:00-goods,
|
|
171
|
+
01-cash,09-cashback, 20--refund)
|
|
172
|
+
• amount:Thetransactionamount. (e.g. "0.01")
|
|
173
|
+
• cashbackAmount:Thecashbackamount.
|
|
174
|
+
• amountEx:Thetransactionamount. (e.g. "001")
|
|
175
|
+
• cashbackAmountEx:Thecashbackamount.
|
|
176
|
+
• currencyCode:The3-digits transactioncurrencycode (e.g. "840" for USD).
|
|
177
|
+
• checkCardTimeout: Indicatethecheckcardtimeout, insecond.
|
|
178
|
+
• isEnterAmtAfterReadRecord:thisflagistrue,youneedtoentertheamountinthe
|
|
179
|
+
onRequestSetAmount callback
|
|
180
|
+
• FallbackSwitch: enableor disable thefallbackfunction 0-disable 1-enable
|
|
181
|
+
• supportDRL: true -Terminal support DRL for Visa, false-Terminel not support
|
|
182
|
+
DRLforVisa.
|
|
183
|
+
•enableBeeper: true - enable beeper when card read successful , false - disable
|
|
184
|
+
beeper when cardreadsuccessful.
|
|
185
|
+
•enableTapSwipeCollision: true - endable Tap/Swipe card collision check, false -
|
|
186
|
+
disableTap/Swipe cardcollision check.
|
|
187
|
+
•DisableCheckMSRFormat: true - Disable check MSR format ,false - Check MSR
|
|
188
|
+
format
|
|
189
|
+
•NeedFallBackTryTimes: (eg:1,2,3…) How many times does it take to fallback after
|
|
190
|
+
thecardreading fails.
|
|
191
|
+
•DisableCheckMSRFormat: true - check the magnetic stripe Format, false - Don`t
|
|
192
|
+
|
|
193
|
+
check
|
|
194
|
+
Mag StripeFormat.
|
|
195
|
+
• enableEncMagStripe: true - Return Encrypt magnetic stripe, false - Return
|
|
196
|
+
Plaintext magnetic stripe
|
|
197
|
+
•MSRKeyIndex: (1-4) DUKPTkey indexfor encrypted magneticstripe
|
|
198
|
+
•forceInputPIN: true - Force input of online PIN, valid for contactless. Note: This
|
|
199
|
+
functioncannot beusedfor L2authentication
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## abortKernel
|
|
203
|
+
|
|
204
|
+
Declare: public void abortKernel ()
|
|
205
|
+
|
|
206
|
+
```java
|
|
207
|
+
public void abortKernel ()
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
211
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
212
|
+
- **源文档章节:** 1.02
|
|
213
|
+
|
|
214
|
+
- Source section: `1.02`
|
|
215
|
+
|
|
216
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
217
|
+
|
|
218
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
Purpose:
|
|
223
|
+
Declare: public void abortKernel ()
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
Signature/prototype:
|
|
227
|
+
```java
|
|
228
|
+
public void abortKernel ()
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
Simplified example:
|
|
233
|
+
```java
|
|
234
|
+
if (emv != null) {
|
|
235
|
+
emv.abortKernel();
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
Source details:
|
|
241
|
+
```text
|
|
242
|
+
Declare: public void abortKernel ()
|
|
243
|
+
Description: abortKernel,stopcheckcard,stopseephonecheckcard
|
|
244
|
+
Parameters: none
|
|
245
|
+
Return:
|
|
246
|
+
Remark:
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## setAmountEx
|
|
250
|
+
|
|
251
|
+
storethevaluesand
|
|
252
|
+
IfthefunctionreturnFalse, thetransactionshould beterminate
|
|
253
|
+
• amount :Thetransactionamount.
|
|
254
|
+
|
|
255
|
+
```java
|
|
256
|
+
cashbackAmount)
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
260
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
261
|
+
- **源文档章节:** 1.03
|
|
262
|
+
|
|
263
|
+
- Source section: `1.03`
|
|
264
|
+
|
|
265
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
266
|
+
|
|
267
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
Purpose:
|
|
272
|
+
storethevaluesand
|
|
273
|
+
IfthefunctionreturnFalse, thetransactionshould beterminate
|
|
274
|
+
• amount :Thetransactionamount.
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
Signature/prototype:
|
|
278
|
+
```java
|
|
279
|
+
cashbackAmount)
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
Parameters:
|
|
284
|
+
• cashbackAmount :The cashbackamount.
|
|
285
|
+
True-Amountvalues areset.
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
Return value:
|
|
289
|
+
False- Failed toset values.
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
Usage notes:
|
|
293
|
+
OnlyuseinonRequestSetAmount
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
Simplified example:
|
|
297
|
+
```java
|
|
298
|
+
public void onRequestSetAmount() {
|
|
299
|
+
emv.setAmountEx(100L, 0L);
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
Source details:
|
|
305
|
+
```text
|
|
306
|
+
public Boolean setAmountEx(String amount, String
|
|
307
|
+
Declare:
|
|
308
|
+
cashbackAmount)
|
|
309
|
+
Set theamount,cashbackamountin responseto
|
|
310
|
+
onRequestSetAmount.
|
|
311
|
+
Thisfunction canbe calledbefore atransaction.TheAPI will
|
|
312
|
+
Description:
|
|
313
|
+
storethevaluesand
|
|
314
|
+
IfthefunctionreturnFalse, thetransactionshould beterminate
|
|
315
|
+
• amount :Thetransactionamount.
|
|
316
|
+
Parameters: • cashbackAmount :The cashbackamount.
|
|
317
|
+
True-Amountvalues areset.
|
|
318
|
+
Return:
|
|
319
|
+
False- Failed toset values.
|
|
320
|
+
Remark: OnlyuseinonRequestSetAmount
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## sendConfirmCardnoResult
|
|
324
|
+
|
|
325
|
+
Confirmthecardnumberisright,callatonRequestConfirmCardno()
|
|
326
|
+
|
|
327
|
+
```java
|
|
328
|
+
void sendConfirmCardnoResult(Booleanisconfirm)
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
332
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
333
|
+
- **源文档章节:** 1.04
|
|
334
|
+
|
|
335
|
+
- Source section: `1.04`
|
|
336
|
+
|
|
337
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
338
|
+
|
|
339
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
Purpose:
|
|
344
|
+
Confirmthecardnumberisright,callatonRequestConfirmCardno()
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
Signature/prototype:
|
|
348
|
+
```java
|
|
349
|
+
void sendConfirmCardnoResult(Booleanisconfirm)
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
Parameters:
|
|
354
|
+
True false
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
Return value:
|
|
358
|
+
None
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
Usage notes:
|
|
362
|
+
None
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
Source details:
|
|
366
|
+
```text
|
|
367
|
+
Declare: void sendConfirmCardnoResult(Booleanisconfirm)
|
|
368
|
+
|
|
369
|
+
Description: Confirmthecardnumberisright,callatonRequestConfirmCardno()
|
|
370
|
+
Parameters: True false
|
|
371
|
+
Return: None
|
|
372
|
+
Remark: None
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
## selectApplication
|
|
376
|
+
|
|
377
|
+
onRequestSelectApplication.
|
|
378
|
+
TheAppshould prompt thecustomerfor anapplication to
|
|
379
|
+
continuethe
|
|
380
|
+
transaction.
|
|
381
|
+
|
|
382
|
+
```java
|
|
383
|
+
voidselectApplication(int index)
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
387
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
388
|
+
- **源文档章节:** 1.05
|
|
389
|
+
|
|
390
|
+
- Source section: `1.05`
|
|
391
|
+
|
|
392
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
393
|
+
|
|
394
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
Purpose:
|
|
399
|
+
onRequestSelectApplication.
|
|
400
|
+
TheAppshould prompt thecustomerfor anapplication to
|
|
401
|
+
continuethe
|
|
402
|
+
transaction.
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
Signature/prototype:
|
|
406
|
+
```java
|
|
407
|
+
voidselectApplication(int index)
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
Parameters:
|
|
412
|
+
Theindex oftheapplication selected.
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
Return value:
|
|
416
|
+
None
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
Usage notes:
|
|
420
|
+
onRequestSelectApplication
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
Source details:
|
|
424
|
+
```text
|
|
425
|
+
Declare: voidselectApplication(int index)
|
|
426
|
+
Anchip cardmaysupportmultiple payment applications.The list
|
|
427
|
+
ofApplications
|
|
428
|
+
IDssupportedbythecardanddevice isreturnedin
|
|
429
|
+
Description: onRequestSelectApplication.
|
|
430
|
+
TheAppshould prompt thecustomerfor anapplication to
|
|
431
|
+
continuethe
|
|
432
|
+
transaction.
|
|
433
|
+
Parameters: Theindex oftheapplication selected.
|
|
434
|
+
Return: None
|
|
435
|
+
Remark: onRequestSelectApplication
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
## sendFinalConfirmResult
|
|
439
|
+
|
|
440
|
+
inresponsetoonRequestFinalConfirm.
|
|
441
|
+
• isConfirmed: Indicate theconfirmation result.True- Confirm
|
|
442
|
+
|
|
443
|
+
```java
|
|
444
|
+
void sendFinalConfirmResult(boolean isConfirmed)
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
448
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
449
|
+
- **源文档章节:** 1.06
|
|
450
|
+
|
|
451
|
+
- Source section: `1.06`
|
|
452
|
+
|
|
453
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
454
|
+
|
|
455
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
Purpose:
|
|
460
|
+
inresponsetoonRequestFinalConfirm.
|
|
461
|
+
• isConfirmed: Indicate theconfirmation result.True- Confirm
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
Signature/prototype:
|
|
465
|
+
```java
|
|
466
|
+
void sendFinalConfirmResult(boolean isConfirmed)
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
Parameters:
|
|
471
|
+
tocontinue thetransaction. False- Cancel thetransaction.
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
Return value:
|
|
475
|
+
None
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
Usage notes:
|
|
479
|
+
onRequestFinalConfirm
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
Source details:
|
|
483
|
+
```text
|
|
484
|
+
Declare: void sendFinalConfirmResult(boolean isConfirmed)
|
|
485
|
+
Sendthefinal confirmationtoproceedor cancelthetransaction
|
|
486
|
+
Description:
|
|
487
|
+
inresponsetoonRequestFinalConfirm.
|
|
488
|
+
• isConfirmed: Indicate theconfirmation result.True- Confirm
|
|
489
|
+
Parameters:
|
|
490
|
+
tocontinue thetransaction. False- Cancel thetransaction.
|
|
491
|
+
Return: None
|
|
492
|
+
Remark: onRequestFinalConfirm
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
## sendOnlineProcessResult
|
|
496
|
+
|
|
497
|
+
bOnlineResult
|
|
498
|
+
• true: go online success
|
|
499
|
+
• false: goonline fail(unable togoonline)
|
|
500
|
+
|
|
501
|
+
Aset of transaction resultsinTag-Length-Value format.
|
|
502
|
+
Thefollowing tagsareusually returnedtothecard:
|
|
503
|
+
• Tag8A:AuthorisationResponseCode (Mandatory)
|
|
504
|
+
• Tag89:Authorisation Code
|
|
505
|
+
|
|
506
|
+
```java
|
|
507
|
+
void sendOnlineProcessResult(BooleanbOnlineResult, String tlv)
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
511
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
512
|
+
- **源文档章节:** 1.07
|
|
513
|
+
|
|
514
|
+
- Source section: `1.07`
|
|
515
|
+
|
|
516
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
517
|
+
|
|
518
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
Purpose:
|
|
523
|
+
bOnlineResult
|
|
524
|
+
• true: go online success
|
|
525
|
+
• false: goonline fail(unable togoonline)
|
|
526
|
+
|
|
527
|
+
Aset of transaction resultsinTag-Length-Value format.
|
|
528
|
+
Thefollowing tagsareusually returnedtothecard:
|
|
529
|
+
• Tag8A:AuthorisationResponseCode (Mandatory)
|
|
530
|
+
• Tag89:Authorisation Code
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
Signature/prototype:
|
|
534
|
+
```java
|
|
535
|
+
void sendOnlineProcessResult(BooleanbOnlineResult, String tlv)
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
Parameters:
|
|
540
|
+
• Tag91: IssuerAuthentication Data
|
|
541
|
+
• Tag71: Issuer ScriptTemplate1
|
|
542
|
+
• Tag72: Issuer ScriptTemplate2
|
|
543
|
+
Example:
|
|
544
|
+
String tlv= "8A02303091083132333435363738"
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
Return value:
|
|
548
|
+
None
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
Usage notes:
|
|
552
|
+
onRequestOnlineProcess
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
Simplified example:
|
|
556
|
+
```java
|
|
557
|
+
public void onRequestOnlineProcess(String cardTlvData, String dataKsn) {
|
|
558
|
+
String issuerTlv = "8A023030"; // approval response code 00
|
|
559
|
+
emv.sendOnlineProcessResult(issuerTlv);
|
|
560
|
+
}
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
Source details:
|
|
565
|
+
```text
|
|
566
|
+
Declare: void sendOnlineProcessResult(BooleanbOnlineResult, String tlv)
|
|
567
|
+
Sendbacktheonline processresulttothecardin responseto
|
|
568
|
+
onRequestOnlineProcess.Toterminatethetransaction, sendnull
|
|
569
|
+
oremptystring as result.
|
|
570
|
+
Description:
|
|
571
|
+
bOnlineResult
|
|
572
|
+
• true: go online success
|
|
573
|
+
• false: goonline fail(unable togoonline)
|
|
574
|
+
|
|
575
|
+
Aset of transaction resultsinTag-Length-Value format.
|
|
576
|
+
Thefollowing tagsareusually returnedtothecard:
|
|
577
|
+
• Tag8A:AuthorisationResponseCode (Mandatory)
|
|
578
|
+
• Tag89:Authorisation Code
|
|
579
|
+
Parameters: • Tag91: IssuerAuthentication Data
|
|
580
|
+
• Tag71: Issuer ScriptTemplate1
|
|
581
|
+
• Tag72: Issuer ScriptTemplate2
|
|
582
|
+
Example:
|
|
583
|
+
String tlv= "8A02303091083132333435363738"
|
|
584
|
+
Return: None
|
|
585
|
+
Remark: onRequestOnlineProcess
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
## ProcOnlinePinAgain
|
|
589
|
+
|
|
590
|
+
Ifyounotsupportbypass,youcancallthisapi,restartpopuppinpad
|
|
591
|
+
|
|
592
|
+
```java
|
|
593
|
+
public void ProcOnlinePinAgain()
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
597
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
598
|
+
- **源文档章节:** 1.08
|
|
599
|
+
|
|
600
|
+
- Source section: `1.08`
|
|
601
|
+
|
|
602
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
603
|
+
|
|
604
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
Purpose:
|
|
609
|
+
Ifyounotsupportbypass,youcancallthisapi,restartpopuppinpad
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
Signature/prototype:
|
|
613
|
+
```java
|
|
614
|
+
public void ProcOnlinePinAgain()
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
Parameters:
|
|
619
|
+
None
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
Return value:
|
|
623
|
+
None
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
Usage notes:
|
|
627
|
+
Useinonlinepin
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
Source details:
|
|
631
|
+
```text
|
|
632
|
+
Declare: public void ProcOnlinePinAgain()
|
|
633
|
+
Description: Ifyounotsupportbypass,youcancallthisapi,restartpopuppinpad
|
|
634
|
+
Parameters: None
|
|
635
|
+
Return: None
|
|
636
|
+
Remark: Useinonlinepin
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
## sendPinEntry
|
|
640
|
+
|
|
641
|
+
Tell Userhasenteredonline pin
|
|
642
|
+
|
|
643
|
+
```java
|
|
644
|
+
void sendPinEntry()
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
648
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
649
|
+
- **源文档章节:** 1.09
|
|
650
|
+
|
|
651
|
+
- Source section: `1.09`
|
|
652
|
+
|
|
653
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
654
|
+
|
|
655
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
Purpose:
|
|
660
|
+
Tell Userhasenteredonline pin
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
Signature/prototype:
|
|
664
|
+
```java
|
|
665
|
+
void sendPinEntry()
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
Return value:
|
|
670
|
+
None
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
Usage notes:
|
|
674
|
+
Useinonlinepin
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
Source details:
|
|
678
|
+
```text
|
|
679
|
+
Declare: void sendPinEntry()
|
|
680
|
+
Description: Tell Userhasenteredonline pin
|
|
681
|
+
Parameters:
|
|
682
|
+
Return: None
|
|
683
|
+
Remark: Useinonlinepin
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
## bypassPinEntry
|
|
687
|
+
|
|
688
|
+
thecarddoes not acceptbypassing, thetransactionwill be
|
|
689
|
+
aborted.
|
|
690
|
+
|
|
691
|
+
```java
|
|
692
|
+
void bypassPinEntry()
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
696
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
697
|
+
- **源文档章节:** 1.10
|
|
698
|
+
|
|
699
|
+
- Source section: `1.10`
|
|
700
|
+
|
|
701
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
702
|
+
|
|
703
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
Purpose:
|
|
708
|
+
thecarddoes not acceptbypassing, thetransactionwill be
|
|
709
|
+
aborted.
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
Signature/prototype:
|
|
713
|
+
```java
|
|
714
|
+
void bypassPinEntry()
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
Parameters:
|
|
719
|
+
None
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
Return value:
|
|
723
|
+
None
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
Usage notes:
|
|
727
|
+
Useinonlinepin
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
Source details:
|
|
731
|
+
```text
|
|
732
|
+
Declare: void bypassPinEntry()
|
|
733
|
+
Bypass thePINentrystepinresponsetoonRequestPinEntry If
|
|
734
|
+
Description: thecarddoes not acceptbypassing, thetransactionwill be
|
|
735
|
+
aborted.
|
|
736
|
+
Parameters: None
|
|
737
|
+
Return: None
|
|
738
|
+
Remark: Useinonlinepin
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
## cancelPinEntry
|
|
742
|
+
|
|
743
|
+
thecarddoes not acceptbypassing, thetransactionwill be
|
|
744
|
+
aborted.
|
|
745
|
+
|
|
746
|
+
```java
|
|
747
|
+
void cancelPinEntry()
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
751
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
752
|
+
- **源文档章节:** 1.11
|
|
753
|
+
|
|
754
|
+
- Source section: `1.11`
|
|
755
|
+
|
|
756
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
757
|
+
|
|
758
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
759
|
+
|
|
760
|
+
|
|
761
|
+
|
|
762
|
+
Purpose:
|
|
763
|
+
thecarddoes not acceptbypassing, thetransactionwill be
|
|
764
|
+
aborted.
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
Signature/prototype:
|
|
768
|
+
```java
|
|
769
|
+
void cancelPinEntry()
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
Parameters:
|
|
774
|
+
None
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
Return value:
|
|
778
|
+
None
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
Usage notes:
|
|
782
|
+
Useinonlinepin
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
Source details:
|
|
786
|
+
```text
|
|
787
|
+
Declare: void cancelPinEntry()
|
|
788
|
+
CancelthePINentry stepin responsetoonRequestPinEntry If
|
|
789
|
+
Description: thecarddoes not acceptbypassing, thetransactionwill be
|
|
790
|
+
aborted.
|
|
791
|
+
Parameters: None
|
|
792
|
+
Return: None
|
|
793
|
+
Remark: Useinonlinepin
|
|
794
|
+
```
|
|
795
|
+
|
|
796
|
+
## updateTerminalParamters
|
|
797
|
+
|
|
798
|
+
issupportedand allow toupdate.
|
|
799
|
+
ContantPara.CardSlot.ICC: UpdateICCTerminalParamters
|
|
800
|
+
ContantPara.CardSlot.PICC:UpdatePICCTerminal Paramters
|
|
801
|
+
ContantPara.CardSlot.UNKNOW:UpdateICCandPICC
|
|
802
|
+
|
|
803
|
+
```java
|
|
804
|
+
cardSlot,String tlv)
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
808
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
809
|
+
- **源文档章节:** 1.12
|
|
810
|
+
|
|
811
|
+
- Source section: `1.12`
|
|
812
|
+
|
|
813
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
814
|
+
|
|
815
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
Purpose:
|
|
820
|
+
issupportedand allow toupdate.
|
|
821
|
+
ContantPara.CardSlot.ICC: UpdateICCTerminalParamters
|
|
822
|
+
ContantPara.CardSlot.PICC:UpdatePICCTerminal Paramters
|
|
823
|
+
ContantPara.CardSlot.UNKNOW:UpdateICCandPICC
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
Signature/prototype:
|
|
827
|
+
```java
|
|
828
|
+
cardSlot,String tlv)
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
Parameters:
|
|
833
|
+
TerminalParamters.
|
|
834
|
+
Aterminal configurationparameterinTag-Length-Value format.
|
|
835
|
+
See below tablefor thelist of tags.
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
Return value:
|
|
839
|
+
True-updatesuccess,False-updatefailed
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
Usage notes:
|
|
843
|
+
Tag Format Length describe
|
|
844
|
+
9F1A n3 2 bytes Terminal Country
|
|
845
|
+
Code.
|
|
846
|
+
9F01 n12 6 bytes Transaction
|
|
847
|
+
CurrencyCode.
|
|
848
|
+
5F36 b 1 byte Transaction
|
|
849
|
+
Currency
|
|
850
|
+
Exponent.
|
|
851
|
+
9F4E ans0-40 Variable 0-40 Merchant Name
|
|
852
|
+
andLocation.
|
|
853
|
+
9F16 Ans0-15 Variable0-15 bytes MerchantIdentifier.
|
|
854
|
+
9F1C An0-8 Variable 0-8 bytes Terminal
|
|
855
|
+
Identification.
|
|
856
|
+
9F33 b 3 bytes Terminal
|
|
857
|
+
Capabilities.
|
|
858
|
+
|
|
859
|
+
(default: E0F8C8)
|
|
860
|
+
9F35 n2 1 byte TerminalType.
|
|
861
|
+
(default: 22)
|
|
862
|
+
9F40 b 5 byte Additional Terminal
|
|
863
|
+
Capabilities
|
|
864
|
+
9F15 n4 2 byte Merchant Category
|
|
865
|
+
Code
|
|
866
|
+
DF02 b 1 byte Ramdom
|
|
867
|
+
TransactionSwitch
|
|
868
|
+
DF03 b 1 byte Exception File
|
|
869
|
+
CheckSwitch
|
|
870
|
+
DF04 b 1 byte SupportSM
|
|
871
|
+
DF05 b 1 byte Valocity Check
|
|
872
|
+
enable
|
|
873
|
+
DF7F b 5-17 byte Terminals prioritize
|
|
874
|
+
AID (PURE/VCCS
|
|
875
|
+
kernel)
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
Simplified example:
|
|
879
|
+
```java
|
|
880
|
+
String terminalTlv = "9F3303E0F8C85F2A0201569F1A020156";
|
|
881
|
+
emv.updateTerminalParamters(ContantPara.CardSlot.UNKNOW, terminalTlv);
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
Source details:
|
|
886
|
+
```text
|
|
887
|
+
Boolean updateTerminalParamters (ContantPara.CardSlot
|
|
888
|
+
Declare:
|
|
889
|
+
cardSlot,String tlv)
|
|
890
|
+
Updateaterminal configurationparameter,provided thatthetag
|
|
891
|
+
Description:
|
|
892
|
+
issupportedand allow toupdate.
|
|
893
|
+
ContantPara.CardSlot.ICC: UpdateICCTerminalParamters
|
|
894
|
+
ContantPara.CardSlot.PICC:UpdatePICCTerminal Paramters
|
|
895
|
+
ContantPara.CardSlot.UNKNOW:UpdateICCandPICC
|
|
896
|
+
Parameters: TerminalParamters.
|
|
897
|
+
Aterminal configurationparameterinTag-Length-Value format.
|
|
898
|
+
See below tablefor thelist of tags.
|
|
899
|
+
Return: True-updatesuccess,False-updatefailed
|
|
900
|
+
Remark:
|
|
901
|
+
Tag Format Length describe
|
|
902
|
+
9F1A n3 2 bytes Terminal Country
|
|
903
|
+
Code.
|
|
904
|
+
9F01 n12 6 bytes Transaction
|
|
905
|
+
CurrencyCode.
|
|
906
|
+
5F36 b 1 byte Transaction
|
|
907
|
+
Currency
|
|
908
|
+
Exponent.
|
|
909
|
+
9F4E ans0-40 Variable 0-40 Merchant Name
|
|
910
|
+
andLocation.
|
|
911
|
+
9F16 Ans0-15 Variable0-15 bytes MerchantIdentifier.
|
|
912
|
+
9F1C An0-8 Variable 0-8 bytes Terminal
|
|
913
|
+
Identification.
|
|
914
|
+
9F33 b 3 bytes Terminal
|
|
915
|
+
Capabilities.
|
|
916
|
+
|
|
917
|
+
(default: E0F8C8)
|
|
918
|
+
9F35 n2 1 byte TerminalType.
|
|
919
|
+
(default: 22)
|
|
920
|
+
9F40 b 5 byte Additional Terminal
|
|
921
|
+
Capabilities
|
|
922
|
+
9F15 n4 2 byte Merchant Category
|
|
923
|
+
Code
|
|
924
|
+
DF02 b 1 byte Ramdom
|
|
925
|
+
TransactionSwitch
|
|
926
|
+
DF03 b 1 byte Exception File
|
|
927
|
+
CheckSwitch
|
|
928
|
+
DF04 b 1 byte SupportSM
|
|
929
|
+
DF05 b 1 byte Valocity Check
|
|
930
|
+
enable
|
|
931
|
+
DF7F b 5-17 byte Terminals prioritize
|
|
932
|
+
AID (PURE/VCCS
|
|
933
|
+
kernel)
|
|
934
|
+
```
|
|
935
|
+
|
|
936
|
+
## updateCAPK
|
|
937
|
+
|
|
938
|
+
UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
939
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
940
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
941
|
+
andthechecksumof theCAPK, all
|
|
942
|
+
datainhex stringformat.
|
|
943
|
+
Rid:Identify public keyof certification center
|
|
944
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
945
|
+
Exponent: Public keyexponent
|
|
946
|
+
Modulus:Module value of public key
|
|
947
|
+
Checksum:Toverifypublic keyof certificationcenter
|
|
948
|
+
|
|
949
|
+
```java
|
|
950
|
+
Hashtable<String,String>capkParams)
|
|
951
|
+
```
|
|
952
|
+
|
|
953
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
954
|
+
- **Demo Activity(参考):** EmvActivityNew, TestEmv
|
|
955
|
+
- **源文档章节:** 1.13
|
|
956
|
+
|
|
957
|
+
- Source section: `1.13`
|
|
958
|
+
|
|
959
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
960
|
+
|
|
961
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java and UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/TestEmv.java`
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
Purpose:
|
|
966
|
+
UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
967
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
968
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
969
|
+
andthechecksumof theCAPK, all
|
|
970
|
+
datainhex stringformat.
|
|
971
|
+
Rid:Identify public keyof certification center
|
|
972
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
973
|
+
Exponent: Public keyexponent
|
|
974
|
+
Modulus:Module value of public key
|
|
975
|
+
Checksum:Toverifypublic keyof certificationcenter
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
Signature/prototype:
|
|
979
|
+
```java
|
|
980
|
+
Hashtable<String,String>capkParams)
|
|
981
|
+
```
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
Parameters:
|
|
985
|
+
Toremove aCAPK entry at thespecifiedlocation, set withthe
|
|
986
|
+
following values:
|
|
987
|
+
• RID (5bytes) = "A000000004"
|
|
988
|
+
• Index(1byte) = "01"
|
|
989
|
+
• Exponent (1byte or 3bytes) = "03"
|
|
990
|
+
• Modulus (Nbytes) ="00"
|
|
991
|
+
• Size (2bytes) (not use)
|
|
992
|
+
• Checksum (20bytes) = SHA-1[RID|| Index|| Modulus ||
|
|
993
|
+
Exponent]
|
|
994
|
+
|
|
995
|
+
|
|
996
|
+
Return value:
|
|
997
|
+
True-updatesuccess False-updatefailed
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
Usage notes:
|
|
1001
|
+
Mandatory: RID&Index&Exponent&Modulus
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
Simplified example:
|
|
1005
|
+
```java
|
|
1006
|
+
Hashtable<String, String> capk = new Hashtable<>();
|
|
1007
|
+
capk.put("RID", "A000000003");
|
|
1008
|
+
capk.put("Index", "08");
|
|
1009
|
+
capk.put("Exponent", "03");
|
|
1010
|
+
capk.put("Modulus", "...");
|
|
1011
|
+
capk.put("Checksum", "...");
|
|
1012
|
+
boolean ok = emv.updateCAPK(ContantPara.Operation.ADD, capk);
|
|
1013
|
+
```
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
Source details:
|
|
1017
|
+
```text
|
|
1018
|
+
Boolean updateCAPK(ContantPara.Operation operation,
|
|
1019
|
+
Declare:
|
|
1020
|
+
Hashtable<String,String>capkParams)
|
|
1021
|
+
Description: UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
1022
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
1023
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
1024
|
+
andthechecksumof theCAPK, all
|
|
1025
|
+
datainhex stringformat.
|
|
1026
|
+
Rid:Identify public keyof certification center
|
|
1027
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
1028
|
+
Exponent: Public keyexponent
|
|
1029
|
+
Modulus:Module value of public key
|
|
1030
|
+
Checksum:Toverifypublic keyof certificationcenter
|
|
1031
|
+
Parameters:
|
|
1032
|
+
Toremove aCAPK entry at thespecifiedlocation, set withthe
|
|
1033
|
+
following values:
|
|
1034
|
+
• RID (5bytes) = "A000000004"
|
|
1035
|
+
• Index(1byte) = "01"
|
|
1036
|
+
• Exponent (1byte or 3bytes) = "03"
|
|
1037
|
+
• Modulus (Nbytes) ="00"
|
|
1038
|
+
• Size (2bytes) (not use)
|
|
1039
|
+
• Checksum (20bytes) = SHA-1[RID|| Index|| Modulus ||
|
|
1040
|
+
Exponent]
|
|
1041
|
+
Return: True-updatesuccess False-updatefailed
|
|
1042
|
+
|
|
1043
|
+
Remark: Mandatory: RID&Index&Exponent&Modulus
|
|
1044
|
+
```
|
|
1045
|
+
|
|
1046
|
+
## updateAID
|
|
1047
|
+
|
|
1048
|
+
modifyingtheAID infowithupdateAID command.
|
|
1049
|
+
|
|
1050
|
+
Hashtablekeys
|
|
1051
|
+
• CardType: "IcCard"
|
|
1052
|
+
• aid:Application Identifier (AID).
|
|
1053
|
+
• appVersion:Application VersionNumber.
|
|
1054
|
+
• contactTACDefault: IdentifytheAcquirer'sconditionsto
|
|
1055
|
+
rejecttransactionswhen thetransactionis able tobecompleted
|
|
1056
|
+
online but theterminal lackssuchcapability.
|
|
1057
|
+
• contactTACDenial:IdentifytheAcquirer's conditionsfor not
|
|
1058
|
+
tryinganyonline processingi.e. rejectionof transactions.
|
|
1059
|
+
• contactTACOnline:IdentifytheAcquirer's conditionsfor
|
|
1060
|
+
online transactions
|
|
1061
|
+
• defaultTDOL:TransactionCertificateData ObjectList
|
|
1062
|
+
(TDOL).
|
|
1063
|
+
• defaultDDOL: DynamicDataAuthenticationDataObjectList
|
|
1064
|
+
(DDOL). DDOLused forestablishmentof internalcertification
|
|
1065
|
+
commandwhen thereis no DDOLin thecard.
|
|
1066
|
+
• terminalFloorLimit: ContactTerminal Floor Limit. The
|
|
1067
|
+
lowest offlinelimit allowed at theterminalin ICcardpurchase
|
|
1068
|
+
•AppSelIndicator:application selectindicator 00-party
|
|
1069
|
+
match,01-fullmatch,default 00
|
|
1070
|
+
• AcquirerIdentifier:Acquirer Identifier.
|
|
1071
|
+
|
|
1072
|
+
```java
|
|
1073
|
+
Hashtable<String,String>aidParams)
|
|
1074
|
+
```
|
|
1075
|
+
|
|
1076
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1077
|
+
- **Demo Activity(参考):** EmvActivityNew, TestEmv
|
|
1078
|
+
- **源文档章节:** 1.14
|
|
1079
|
+
|
|
1080
|
+
- Source section: `1.14`
|
|
1081
|
+
|
|
1082
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1083
|
+
|
|
1084
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java and UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/TestEmv.java`
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
Purpose:
|
|
1089
|
+
modifyingtheAID infowithupdateAID command.
|
|
1090
|
+
|
|
1091
|
+
Hashtablekeys
|
|
1092
|
+
• CardType: "IcCard"
|
|
1093
|
+
• aid:Application Identifier (AID).
|
|
1094
|
+
• appVersion:Application VersionNumber.
|
|
1095
|
+
• contactTACDefault: IdentifytheAcquirer'sconditionsto
|
|
1096
|
+
rejecttransactionswhen thetransactionis able tobecompleted
|
|
1097
|
+
online but theterminal lackssuchcapability.
|
|
1098
|
+
• contactTACDenial:IdentifytheAcquirer's conditionsfor not
|
|
1099
|
+
tryinganyonline processingi.e. rejectionof transactions.
|
|
1100
|
+
• contactTACOnline:IdentifytheAcquirer's conditionsfor
|
|
1101
|
+
online transactions
|
|
1102
|
+
• defaultTDOL:TransactionCertificateData ObjectList
|
|
1103
|
+
(TDOL).
|
|
1104
|
+
• defaultDDOL: DynamicDataAuthenticationDataObjectList
|
|
1105
|
+
(DDOL). DDOLused forestablishmentof internalcertification
|
|
1106
|
+
commandwhen thereis no DDOLin thecard.
|
|
1107
|
+
• terminalFloorLimit: ContactTerminal Floor Limit. The
|
|
1108
|
+
lowest offlinelimit allowed at theterminalin ICcardpurchase
|
|
1109
|
+
•AppSelIndicator:application selectindicator 00-party
|
|
1110
|
+
match,01-fullmatch,default 00
|
|
1111
|
+
• AcquirerIdentifier:Acquirer Identifier.
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
Signature/prototype:
|
|
1115
|
+
```java
|
|
1116
|
+
Hashtable<String,String>aidParams)
|
|
1117
|
+
```
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
Parameters:
|
|
1121
|
+
• TerminalCapabilities: terminal Capabilities 9F33
|
|
1122
|
+
• terminalCountryCode:terminal countrycode9F1A
|
|
1123
|
+
• ThresholdValue:Value used in terminal risk management for
|
|
1124
|
+
random transaction selection. Present if the Combination
|
|
1125
|
+
supportsRandom TransactionSelection (EMV Mode only)
|
|
1126
|
+
Eg:"000000002000"
|
|
1127
|
+
• TargetPercentage: Present if the Combination supports Random
|
|
1128
|
+
TransactionSelection(EMVModeonly)
|
|
1129
|
+
Eg:"00"
|
|
1130
|
+
•MaxTargetPercentage:Value used in terminal risk management for
|
|
1131
|
+
random transaction selection - present if the Combination supports
|
|
1132
|
+
RandomTransactionSelection(EMVModeonly)
|
|
1133
|
+
Eg:"00"
|
|
1134
|
+
HashtableValues
|
|
1135
|
+
• Datain hex stringformat.
|
|
1136
|
+
Example:
|
|
1137
|
+
b8Statuscheckingsupported
|
|
1138
|
+
b7RFU
|
|
1139
|
+
b6transactionlimitcheckingsupported
|
|
1140
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1141
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1142
|
+
b3zeroamountcheckingsupported
|
|
1143
|
+
b2zeroamountcheckingoption1supported
|
|
1144
|
+
b1RFU
|
|
1145
|
+
b8Statuscheckingsupported
|
|
1146
|
+
b7RFU
|
|
1147
|
+
b6transactionlimitcheckingsupported
|
|
1148
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1149
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1150
|
+
b3zeroamountcheckingsupported
|
|
1151
|
+
b2zeroamountcheckingoption1supported
|
|
1152
|
+
b1RFU
|
|
1153
|
+
b8Statuscheckingsupported
|
|
1154
|
+
b7RFU
|
|
1155
|
+
b6transactionlimitcheckingsupported
|
|
1156
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1157
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1158
|
+
b3zeroamountcheckingsupported
|
|
1159
|
+
b2zeroamountcheckingoption1supported
|
|
1160
|
+
b1RFU
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
Return value:
|
|
1164
|
+
True-updatesuccess False-updatefailed
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
Simplified example:
|
|
1168
|
+
```java
|
|
1169
|
+
Hashtable<String, String> aid = new Hashtable<>();
|
|
1170
|
+
aid.put("CardType", "IcCard");
|
|
1171
|
+
aid.put("aid", "A0000000031010");
|
|
1172
|
+
aid.put("appVersion", "008C");
|
|
1173
|
+
aid.put("terminalCountryCode", "0156");
|
|
1174
|
+
boolean ok = emv.updateAID(ContantPara.Operation.ADD, aid);
|
|
1175
|
+
```
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
Source details:
|
|
1179
|
+
```text
|
|
1180
|
+
boolean updateAID(ContantPara.Operationoperation,
|
|
1181
|
+
Declare:
|
|
1182
|
+
Hashtable<String,String>aidParams)
|
|
1183
|
+
UpdatetheAIDinfo.
|
|
1184
|
+
Description:
|
|
1185
|
+
modifyingtheAID infowithupdateAID command.
|
|
1186
|
+
|
|
1187
|
+
Hashtablekeys
|
|
1188
|
+
• CardType: "IcCard"
|
|
1189
|
+
• aid:Application Identifier (AID).
|
|
1190
|
+
• appVersion:Application VersionNumber.
|
|
1191
|
+
• contactTACDefault: IdentifytheAcquirer'sconditionsto
|
|
1192
|
+
rejecttransactionswhen thetransactionis able tobecompleted
|
|
1193
|
+
online but theterminal lackssuchcapability.
|
|
1194
|
+
• contactTACDenial:IdentifytheAcquirer's conditionsfor not
|
|
1195
|
+
tryinganyonline processingi.e. rejectionof transactions.
|
|
1196
|
+
• contactTACOnline:IdentifytheAcquirer's conditionsfor
|
|
1197
|
+
online transactions
|
|
1198
|
+
• defaultTDOL:TransactionCertificateData ObjectList
|
|
1199
|
+
(TDOL).
|
|
1200
|
+
• defaultDDOL: DynamicDataAuthenticationDataObjectList
|
|
1201
|
+
(DDOL). DDOLused forestablishmentof internalcertification
|
|
1202
|
+
commandwhen thereis no DDOLin thecard.
|
|
1203
|
+
• terminalFloorLimit: ContactTerminal Floor Limit. The
|
|
1204
|
+
lowest offlinelimit allowed at theterminalin ICcardpurchase
|
|
1205
|
+
•AppSelIndicator:application selectindicator 00-party
|
|
1206
|
+
match,01-fullmatch,default 00
|
|
1207
|
+
• AcquirerIdentifier:Acquirer Identifier.
|
|
1208
|
+
Parameters: • TerminalCapabilities: terminal Capabilities 9F33
|
|
1209
|
+
• terminalCountryCode:terminal countrycode9F1A
|
|
1210
|
+
• ThresholdValue:Value used in terminal risk management for
|
|
1211
|
+
random transaction selection. Present if the Combination
|
|
1212
|
+
supportsRandom TransactionSelection (EMV Mode only)
|
|
1213
|
+
Eg:"000000002000"
|
|
1214
|
+
• TargetPercentage: Present if the Combination supports Random
|
|
1215
|
+
TransactionSelection(EMVModeonly)
|
|
1216
|
+
Eg:"00"
|
|
1217
|
+
•MaxTargetPercentage:Value used in terminal risk management for
|
|
1218
|
+
random transaction selection - present if the Combination supports
|
|
1219
|
+
RandomTransactionSelection(EMVModeonly)
|
|
1220
|
+
Eg:"00"
|
|
1221
|
+
HashtableValues
|
|
1222
|
+
• Datain hex stringformat.
|
|
1223
|
+
Example:
|
|
1224
|
+
b8Statuscheckingsupported
|
|
1225
|
+
b7RFU
|
|
1226
|
+
b6transactionlimitcheckingsupported
|
|
1227
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1228
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1229
|
+
b3zeroamountcheckingsupported
|
|
1230
|
+
b2zeroamountcheckingoption1supported
|
|
1231
|
+
b1RFU
|
|
1232
|
+
b8Statuscheckingsupported
|
|
1233
|
+
b7RFU
|
|
1234
|
+
b6transactionlimitcheckingsupported
|
|
1235
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1236
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1237
|
+
b3zeroamountcheckingsupported
|
|
1238
|
+
b2zeroamountcheckingoption1supported
|
|
1239
|
+
b1RFU
|
|
1240
|
+
b8Statuscheckingsupported
|
|
1241
|
+
b7RFU
|
|
1242
|
+
b6transactionlimitcheckingsupported
|
|
1243
|
+
b5contactlessfloorlimitcheckingsupported
|
|
1244
|
+
b4contactlesscvmlimitcheckingsupported
|
|
1245
|
+
b3zeroamountcheckingsupported
|
|
1246
|
+
b2zeroamountcheckingoption1supported
|
|
1247
|
+
b1RFU
|
|
1248
|
+
|
|
1249
|
+
Return: True-updatesuccess False-updatefailed
|
|
1250
|
+
Remark:
|
|
1251
|
+
```
|
|
1252
|
+
|
|
1253
|
+
## updateExceptFile
|
|
1254
|
+
|
|
1255
|
+
Updateblacklist tokernel
|
|
1256
|
+
Mode:0-Add
|
|
1257
|
+
1-Delete
|
|
1258
|
+
2-Modify
|
|
1259
|
+
|
|
1260
|
+
```java
|
|
1261
|
+
boolean updateExceptFile(int mode,String ExceptTLV)
|
|
1262
|
+
```
|
|
1263
|
+
|
|
1264
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1265
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1266
|
+
- **源文档章节:** 1.15
|
|
1267
|
+
|
|
1268
|
+
- Source section: `1.15`
|
|
1269
|
+
|
|
1270
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1271
|
+
|
|
1272
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
Purpose:
|
|
1277
|
+
Updateblacklist tokernel
|
|
1278
|
+
Mode:0-Add
|
|
1279
|
+
1-Delete
|
|
1280
|
+
2-Modify
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
Signature/prototype:
|
|
1284
|
+
```java
|
|
1285
|
+
boolean updateExceptFile(int mode,String ExceptTLV)
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
Parameters:
|
|
1290
|
+
3-Clear
|
|
1291
|
+
ExceptTLV:
|
|
1292
|
+
tag5A+tag5F34
|
|
1293
|
+
eg:5A0852364979362037965F340101
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
Return value:
|
|
1297
|
+
None
|
|
1298
|
+
|
|
1299
|
+
|
|
1300
|
+
Usage notes:
|
|
1301
|
+
IfyouwantnotsupportExceptfilecheck,don`tupdateanyblacklist
|
|
1302
|
+
|
|
1303
|
+
|
|
1304
|
+
Source details:
|
|
1305
|
+
```text
|
|
1306
|
+
Declare: boolean updateExceptFile(int mode,String ExceptTLV)
|
|
1307
|
+
Description: Updateblacklist tokernel
|
|
1308
|
+
Mode:0-Add
|
|
1309
|
+
1-Delete
|
|
1310
|
+
2-Modify
|
|
1311
|
+
Parameters:
|
|
1312
|
+
3-Clear
|
|
1313
|
+
ExceptTLV:
|
|
1314
|
+
tag5A+tag5F34
|
|
1315
|
+
eg:5A0852364979362037965F340101
|
|
1316
|
+
Return: None
|
|
1317
|
+
Remark: IfyouwantnotsupportExceptfilecheck,don`tupdateanyblacklist
|
|
1318
|
+
```
|
|
1319
|
+
|
|
1320
|
+
## LogOutEnable
|
|
1321
|
+
|
|
1322
|
+
Enableor disablecontact/contactlesstransactionlog
|
|
1323
|
+
0-disable
|
|
1324
|
+
|
|
1325
|
+
```java
|
|
1326
|
+
voidLogOutEnable(int enable)
|
|
1327
|
+
```
|
|
1328
|
+
|
|
1329
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1330
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1331
|
+
- **源文档章节:** 1.16
|
|
1332
|
+
|
|
1333
|
+
- Source section: `1.16`
|
|
1334
|
+
|
|
1335
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1336
|
+
|
|
1337
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
Purpose:
|
|
1342
|
+
Enableor disablecontact/contactlesstransactionlog
|
|
1343
|
+
0-disable
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
Signature/prototype:
|
|
1347
|
+
```java
|
|
1348
|
+
voidLogOutEnable(int enable)
|
|
1349
|
+
```
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
Parameters:
|
|
1353
|
+
1-enable
|
|
1354
|
+
|
|
1355
|
+
|
|
1356
|
+
Return value:
|
|
1357
|
+
None
|
|
1358
|
+
adbpull/sdcard/UROPE/Trace.txt….
|
|
1359
|
+
|
|
1360
|
+
|
|
1361
|
+
Usage notes:
|
|
1362
|
+
adbpull/sdcard/UROPE/TraceCL.txt….
|
|
1363
|
+
adbpull/sdcard/UROPE/ICCMD.log…
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
Simplified example:
|
|
1367
|
+
```java
|
|
1368
|
+
emv.LogOutEnable(BuildConfig.DEBUG ? 1 : 0); // disable in production
|
|
1369
|
+
```
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
Source details:
|
|
1373
|
+
```text
|
|
1374
|
+
Declare: voidLogOutEnable(int enable)
|
|
1375
|
+
Description: Enableor disablecontact/contactlesstransactionlog
|
|
1376
|
+
0-disable
|
|
1377
|
+
Parameters:
|
|
1378
|
+
1-enable
|
|
1379
|
+
Return: None
|
|
1380
|
+
adbpull/sdcard/UROPE/Trace.txt….
|
|
1381
|
+
Remark: adbpull/sdcard/UROPE/TraceCL.txt….
|
|
1382
|
+
adbpull/sdcard/UROPE/ICCMD.log…
|
|
1383
|
+
```
|
|
1384
|
+
|
|
1385
|
+
## sendOfflinePINVerifyResult
|
|
1386
|
+
|
|
1387
|
+
Androdos 8.0,other versionnot use this,offlinepinverify
|
|
1388
|
+
bykernel)
|
|
1389
|
+
(-198) //Returncodeerror
|
|
1390
|
+
(-202) //ICcommand failed
|
|
1391
|
+
(-192) //PINBLOCKED
|
|
1392
|
+
|
|
1393
|
+
```java
|
|
1394
|
+
boolean sendOfflinePINVerifyResult(int iResult)
|
|
1395
|
+
```
|
|
1396
|
+
|
|
1397
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1398
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1399
|
+
- **源文档章节:** 1.17
|
|
1400
|
+
|
|
1401
|
+
- Source section: `1.17`
|
|
1402
|
+
|
|
1403
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1404
|
+
|
|
1405
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
Purpose:
|
|
1410
|
+
Androdos 8.0,other versionnot use this,offlinepinverify
|
|
1411
|
+
bykernel)
|
|
1412
|
+
(-198) //Returncodeerror
|
|
1413
|
+
(-202) //ICcommand failed
|
|
1414
|
+
(-192) //PINBLOCKED
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
Signature/prototype:
|
|
1418
|
+
```java
|
|
1419
|
+
boolean sendOfflinePINVerifyResult(int iResult)
|
|
1420
|
+
```
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
Parameters:
|
|
1424
|
+
(-199) //user cancel or Pinpadtimeout
|
|
1425
|
+
(1) //bypass
|
|
1426
|
+
(0) //success
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
Return value:
|
|
1430
|
+
0-success
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
Usage notes:
|
|
1434
|
+
CallthisincallbackonRequestOfflinePINVerify
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
Source details:
|
|
1438
|
+
```text
|
|
1439
|
+
Declare: boolean sendOfflinePINVerifyResult(int iResult)
|
|
1440
|
+
Sendoffline pinverifyresult tokernel(thisapi use in
|
|
1441
|
+
Description: Androdos 8.0,other versionnot use this,offlinepinverify
|
|
1442
|
+
bykernel)
|
|
1443
|
+
(-198) //Returncodeerror
|
|
1444
|
+
(-202) //ICcommand failed
|
|
1445
|
+
(-192) //PINBLOCKED
|
|
1446
|
+
Parameters:
|
|
1447
|
+
(-199) //user cancel or Pinpadtimeout
|
|
1448
|
+
(1) //bypass
|
|
1449
|
+
(0) //success
|
|
1450
|
+
Return: 0-success
|
|
1451
|
+
|
|
1452
|
+
Remark: CallthisincallbackonRequestOfflinePINVerify
|
|
1453
|
+
```
|
|
1454
|
+
|
|
1455
|
+
## getIssuerScriptResult
|
|
1456
|
+
|
|
1457
|
+
GetScriptResult
|
|
1458
|
+
|
|
1459
|
+
```java
|
|
1460
|
+
booleangetIssuerScriptResult()
|
|
1461
|
+
```
|
|
1462
|
+
|
|
1463
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1464
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1465
|
+
- **源文档章节:** 1.18
|
|
1466
|
+
|
|
1467
|
+
- Source section: `1.18`
|
|
1468
|
+
|
|
1469
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1470
|
+
|
|
1471
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
Purpose:
|
|
1476
|
+
GetScriptResult
|
|
1477
|
+
|
|
1478
|
+
|
|
1479
|
+
Signature/prototype:
|
|
1480
|
+
```java
|
|
1481
|
+
booleangetIssuerScriptResult()
|
|
1482
|
+
```
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
Parameters:
|
|
1486
|
+
none
|
|
1487
|
+
|
|
1488
|
+
|
|
1489
|
+
Return value:
|
|
1490
|
+
0-getsuccessifsuccesswillcallbackonReturnIssuerScriptResult
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
Usage notes:
|
|
1494
|
+
CallthisincallbackonReturnIssuerScriptResult
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
Source details:
|
|
1498
|
+
```text
|
|
1499
|
+
Declare: booleangetIssuerScriptResult()
|
|
1500
|
+
Description: GetScriptResult
|
|
1501
|
+
Parameters: none
|
|
1502
|
+
Return: 0-getsuccessifsuccesswillcallbackonReturnIssuerScriptResult
|
|
1503
|
+
Remark: CallthisincallbackonReturnIssuerScriptResult
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
## getEmvAIDDetail
|
|
1507
|
+
|
|
1508
|
+
Declare: public List<EmvAidData> getEmvAIDDetail()
|
|
1509
|
+
|
|
1510
|
+
```java
|
|
1511
|
+
public List<EmvAidData> getEmvAIDDetail()
|
|
1512
|
+
```
|
|
1513
|
+
|
|
1514
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1515
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1516
|
+
- **源文档章节:** 1.19
|
|
1517
|
+
|
|
1518
|
+
- Source section: `1.19`
|
|
1519
|
+
|
|
1520
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1521
|
+
|
|
1522
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
Purpose:
|
|
1527
|
+
Declare: public List<EmvAidData> getEmvAIDDetail()
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
Signature/prototype:
|
|
1531
|
+
```java
|
|
1532
|
+
public List<EmvAidData> getEmvAIDDetail()
|
|
1533
|
+
```
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
Parameters:
|
|
1537
|
+
none
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
Usage notes:
|
|
1541
|
+
Donotcallduringthetransaction
|
|
1542
|
+
|
|
1543
|
+
|
|
1544
|
+
Source details:
|
|
1545
|
+
```text
|
|
1546
|
+
Declare: public List<EmvAidData> getEmvAIDDetail()
|
|
1547
|
+
ReturnallAidparamters,seetheEmvAidData.class
|
|
1548
|
+
Description:
|
|
1549
|
+
Parameters: none
|
|
1550
|
+
Return:
|
|
1551
|
+
Remark: Donotcallduringthetransaction
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
## getNfcAIDDetail
|
|
1555
|
+
|
|
1556
|
+
Declare: public List<ContactlessAidData> getNfcAIDDetail()
|
|
1557
|
+
|
|
1558
|
+
```java
|
|
1559
|
+
public List<ContactlessAidData> getNfcAIDDetail()
|
|
1560
|
+
```
|
|
1561
|
+
|
|
1562
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1563
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1564
|
+
- **源文档章节:** 1.20
|
|
1565
|
+
|
|
1566
|
+
- Source section: `1.20`
|
|
1567
|
+
|
|
1568
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1569
|
+
|
|
1570
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
Purpose:
|
|
1575
|
+
Declare: public List<ContactlessAidData> getNfcAIDDetail()
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
Signature/prototype:
|
|
1579
|
+
```java
|
|
1580
|
+
public List<ContactlessAidData> getNfcAIDDetail()
|
|
1581
|
+
```
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
Parameters:
|
|
1585
|
+
none
|
|
1586
|
+
|
|
1587
|
+
|
|
1588
|
+
Usage notes:
|
|
1589
|
+
Donotcallduringthetransaction
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
Source details:
|
|
1593
|
+
```text
|
|
1594
|
+
Declare: public List<ContactlessAidData> getNfcAIDDetail()
|
|
1595
|
+
ReturnallAidparamters,seetheContactlessAidData.class
|
|
1596
|
+
Description:
|
|
1597
|
+
Parameters: none
|
|
1598
|
+
Return:
|
|
1599
|
+
Remark: Donotcallduringthetransaction
|
|
1600
|
+
```
|
|
1601
|
+
|
|
1602
|
+
## getCAPKDetail
|
|
1603
|
+
|
|
1604
|
+
public List<CAPK> getCAPKDetail(ContantPara.CardSlot
|
|
1605
|
+
|
|
1606
|
+
```java
|
|
1607
|
+
cardSlot)
|
|
1608
|
+
```
|
|
1609
|
+
|
|
1610
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1611
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1612
|
+
- **源文档章节:** 1.21
|
|
1613
|
+
|
|
1614
|
+
- Source section: `1.21`
|
|
1615
|
+
|
|
1616
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1617
|
+
|
|
1618
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
Purpose:
|
|
1623
|
+
public List<CAPK> getCAPKDetail(ContantPara.CardSlot
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
Signature/prototype:
|
|
1627
|
+
```java
|
|
1628
|
+
cardSlot)
|
|
1629
|
+
```
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
Parameters:
|
|
1633
|
+
none
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
Usage notes:
|
|
1637
|
+
Donotcallduringthetransaction
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
Source details:
|
|
1641
|
+
```text
|
|
1642
|
+
public List<CAPK> getCAPKDetail(ContantPara.CardSlot
|
|
1643
|
+
Declare:
|
|
1644
|
+
cardSlot)
|
|
1645
|
+
ReturnallCAPKparamters,seetheCAPK.class
|
|
1646
|
+
Description:
|
|
1647
|
+
Parameters: none
|
|
1648
|
+
Return:
|
|
1649
|
+
Remark: Donotcallduringthetransaction
|
|
1650
|
+
```
|
|
1651
|
+
|
|
1652
|
+
## getAIDList
|
|
1653
|
+
|
|
1654
|
+
Declare: public List<String> getAIDList(ContantPara.CardSlot cardSlot)
|
|
1655
|
+
|
|
1656
|
+
```java
|
|
1657
|
+
public List<String> getAIDList(ContantPara.CardSlot cardSlot)
|
|
1658
|
+
```
|
|
1659
|
+
|
|
1660
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1661
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1662
|
+
- **源文档章节:** 1.22
|
|
1663
|
+
|
|
1664
|
+
- Source section: `1.22`
|
|
1665
|
+
|
|
1666
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1667
|
+
|
|
1668
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1669
|
+
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
Purpose:
|
|
1673
|
+
Declare: public List<String> getAIDList(ContantPara.CardSlot cardSlot)
|
|
1674
|
+
|
|
1675
|
+
|
|
1676
|
+
Signature/prototype:
|
|
1677
|
+
```java
|
|
1678
|
+
public List<String> getAIDList(ContantPara.CardSlot cardSlot)
|
|
1679
|
+
```
|
|
1680
|
+
|
|
1681
|
+
|
|
1682
|
+
Parameters:
|
|
1683
|
+
none
|
|
1684
|
+
|
|
1685
|
+
|
|
1686
|
+
Usage notes:
|
|
1687
|
+
Donotcallduringthetransaction
|
|
1688
|
+
|
|
1689
|
+
|
|
1690
|
+
Source details:
|
|
1691
|
+
```text
|
|
1692
|
+
Declare: public List<String> getAIDList(ContantPara.CardSlot cardSlot)
|
|
1693
|
+
ReturnallAID
|
|
1694
|
+
Description:
|
|
1695
|
+
Parameters: none
|
|
1696
|
+
Return:
|
|
1697
|
+
Remark: Donotcallduringthetransaction
|
|
1698
|
+
```
|
|
1699
|
+
|
|
1700
|
+
## getCAPKList
|
|
1701
|
+
|
|
1702
|
+
Key: RID
|
|
1703
|
+
|
|
1704
|
+
```java
|
|
1705
|
+
getCAPKList(ContantPara.CardSlot cardSlot)
|
|
1706
|
+
```
|
|
1707
|
+
|
|
1708
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1709
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1710
|
+
- **源文档章节:** 1.23
|
|
1711
|
+
|
|
1712
|
+
- Source section: `1.23`
|
|
1713
|
+
|
|
1714
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1715
|
+
|
|
1716
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1717
|
+
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
Purpose:
|
|
1721
|
+
Key: RID
|
|
1722
|
+
|
|
1723
|
+
|
|
1724
|
+
Signature/prototype:
|
|
1725
|
+
```java
|
|
1726
|
+
getCAPKList(ContantPara.CardSlot cardSlot)
|
|
1727
|
+
```
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
Parameters:
|
|
1731
|
+
Index
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
Return value:
|
|
1735
|
+
List
|
|
1736
|
+
|
|
1737
|
+
|
|
1738
|
+
Usage notes:
|
|
1739
|
+
Donotcallduringthetransaction
|
|
1740
|
+
|
|
1741
|
+
|
|
1742
|
+
Source details:
|
|
1743
|
+
```text
|
|
1744
|
+
public List<Hashtable<String,String>>
|
|
1745
|
+
Declare:
|
|
1746
|
+
getCAPKList(ContantPara.CardSlot cardSlot)
|
|
1747
|
+
ReturnallCAPK
|
|
1748
|
+
Description:
|
|
1749
|
+
Key: RID
|
|
1750
|
+
Parameters:
|
|
1751
|
+
Index
|
|
1752
|
+
Return: List
|
|
1753
|
+
Remark: Donotcallduringthetransaction
|
|
1754
|
+
```
|
|
1755
|
+
|
|
1756
|
+
## getTlvByTagLists
|
|
1757
|
+
|
|
1758
|
+
GettheTLVstring basedontag
|
|
1759
|
+
|
|
1760
|
+
```java
|
|
1761
|
+
public String getTlvByTagLists(List<String>TagList)
|
|
1762
|
+
```
|
|
1763
|
+
|
|
1764
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1765
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1766
|
+
- **源文档章节:** 1.24
|
|
1767
|
+
|
|
1768
|
+
- Source section: `1.24`
|
|
1769
|
+
|
|
1770
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1771
|
+
|
|
1772
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1773
|
+
|
|
1774
|
+
|
|
1775
|
+
|
|
1776
|
+
Purpose:
|
|
1777
|
+
GettheTLVstring basedontag
|
|
1778
|
+
|
|
1779
|
+
|
|
1780
|
+
Signature/prototype:
|
|
1781
|
+
```java
|
|
1782
|
+
public String getTlvByTagLists(List<String>TagList)
|
|
1783
|
+
```
|
|
1784
|
+
|
|
1785
|
+
|
|
1786
|
+
Parameters:
|
|
1787
|
+
TagList:All tags
|
|
1788
|
+
|
|
1789
|
+
|
|
1790
|
+
Return value:
|
|
1791
|
+
TLVdatastring
|
|
1792
|
+
|
|
1793
|
+
|
|
1794
|
+
Usage notes:
|
|
1795
|
+
none
|
|
1796
|
+
|
|
1797
|
+
|
|
1798
|
+
Source details:
|
|
1799
|
+
```text
|
|
1800
|
+
Declare: public String getTlvByTagLists(List<String>TagList)
|
|
1801
|
+
Description: GettheTLVstring basedontag
|
|
1802
|
+
Parameters: TagList:All tags
|
|
1803
|
+
Return: TLVdatastring
|
|
1804
|
+
Remark: none
|
|
1805
|
+
```
|
|
1806
|
+
|
|
1807
|
+
## getEMVLibVers
|
|
1808
|
+
|
|
1809
|
+
Getemvso version
|
|
1810
|
+
|
|
1811
|
+
```java
|
|
1812
|
+
public String getEMVLibVers(ContantPara.CardSlot cardSlot)
|
|
1813
|
+
```
|
|
1814
|
+
|
|
1815
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1816
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1817
|
+
- **源文档章节:** 1.25
|
|
1818
|
+
|
|
1819
|
+
- Source section: `1.25`
|
|
1820
|
+
|
|
1821
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1822
|
+
|
|
1823
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1824
|
+
|
|
1825
|
+
|
|
1826
|
+
|
|
1827
|
+
Purpose:
|
|
1828
|
+
Getemvso version
|
|
1829
|
+
|
|
1830
|
+
|
|
1831
|
+
Signature/prototype:
|
|
1832
|
+
```java
|
|
1833
|
+
public String getEMVLibVers(ContantPara.CardSlot cardSlot)
|
|
1834
|
+
```
|
|
1835
|
+
|
|
1836
|
+
|
|
1837
|
+
Parameters:
|
|
1838
|
+
none
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
Return value:
|
|
1842
|
+
Versionstring
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
Usage notes:
|
|
1846
|
+
none
|
|
1847
|
+
|
|
1848
|
+
|
|
1849
|
+
Source details:
|
|
1850
|
+
```text
|
|
1851
|
+
Declare: public String getEMVLibVers(ContantPara.CardSlot cardSlot)
|
|
1852
|
+
Description: Getemvso version
|
|
1853
|
+
Parameters: none
|
|
1854
|
+
Return: Versionstring
|
|
1855
|
+
Remark: none
|
|
1856
|
+
```
|
|
1857
|
+
|
|
1858
|
+
## getEMVjarVers
|
|
1859
|
+
|
|
1860
|
+
Getemvjar version
|
|
1861
|
+
|
|
1862
|
+
```java
|
|
1863
|
+
public String getEMVjarVers()
|
|
1864
|
+
```
|
|
1865
|
+
|
|
1866
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1867
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1868
|
+
- **源文档章节:** 1.26
|
|
1869
|
+
|
|
1870
|
+
- Source section: `1.26`
|
|
1871
|
+
|
|
1872
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1873
|
+
|
|
1874
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1875
|
+
|
|
1876
|
+
|
|
1877
|
+
|
|
1878
|
+
Purpose:
|
|
1879
|
+
Getemvjar version
|
|
1880
|
+
|
|
1881
|
+
|
|
1882
|
+
Signature/prototype:
|
|
1883
|
+
```java
|
|
1884
|
+
public String getEMVjarVers()
|
|
1885
|
+
```
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
Parameters:
|
|
1889
|
+
none
|
|
1890
|
+
|
|
1891
|
+
|
|
1892
|
+
Return value:
|
|
1893
|
+
Versionstring
|
|
1894
|
+
|
|
1895
|
+
|
|
1896
|
+
Usage notes:
|
|
1897
|
+
none
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
Source details:
|
|
1901
|
+
```text
|
|
1902
|
+
Declare: public String getEMVjarVers()
|
|
1903
|
+
Description: Getemvjar version
|
|
1904
|
+
Parameters: none
|
|
1905
|
+
Return: Versionstring
|
|
1906
|
+
Remark: none
|
|
1907
|
+
```
|
|
1908
|
+
|
|
1909
|
+
## getValByTag
|
|
1910
|
+
|
|
1911
|
+
Get onecontactor contactlesstagvalue
|
|
1912
|
+
|
|
1913
|
+
```java
|
|
1914
|
+
public String getValByTag(int tag)
|
|
1915
|
+
```
|
|
1916
|
+
|
|
1917
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1918
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1919
|
+
- **源文档章节:** 1.27
|
|
1920
|
+
|
|
1921
|
+
- Source section: `1.27`
|
|
1922
|
+
|
|
1923
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1924
|
+
|
|
1925
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1926
|
+
|
|
1927
|
+
|
|
1928
|
+
|
|
1929
|
+
Purpose:
|
|
1930
|
+
Get onecontactor contactlesstagvalue
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
Signature/prototype:
|
|
1934
|
+
```java
|
|
1935
|
+
public String getValByTag(int tag)
|
|
1936
|
+
```
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
Parameters:
|
|
1940
|
+
tag(e.g. 0x57)
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
Return value:
|
|
1944
|
+
Returntagvaluewithstring
|
|
1945
|
+
|
|
1946
|
+
|
|
1947
|
+
Usage notes:
|
|
1948
|
+
none
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
Simplified example:
|
|
1952
|
+
```java
|
|
1953
|
+
String aid = emv.getValByTag(0x84);
|
|
1954
|
+
```
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
Source details:
|
|
1958
|
+
```text
|
|
1959
|
+
Declare: public String getValByTag(int tag)
|
|
1960
|
+
Description: Get onecontactor contactlesstagvalue
|
|
1961
|
+
Parameters: tag(e.g. 0x57)
|
|
1962
|
+
Return: Returntagvaluewithstring
|
|
1963
|
+
Remark: none
|
|
1964
|
+
```
|
|
1965
|
+
|
|
1966
|
+
## setContext
|
|
1967
|
+
|
|
1968
|
+
Setcontext,soemvcancallUIandpinpadhandleoffliepin
|
|
1969
|
+
|
|
1970
|
+
```java
|
|
1971
|
+
public void setContext(Context context)
|
|
1972
|
+
```
|
|
1973
|
+
|
|
1974
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1975
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1976
|
+
- **源文档章节:** 1.28
|
|
1977
|
+
|
|
1978
|
+
- Source section: `1.28`
|
|
1979
|
+
|
|
1980
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1981
|
+
|
|
1982
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
Purpose:
|
|
1987
|
+
Setcontext,soemvcancallUIandpinpadhandleoffliepin
|
|
1988
|
+
|
|
1989
|
+
|
|
1990
|
+
Signature/prototype:
|
|
1991
|
+
```java
|
|
1992
|
+
public void setContext(Context context)
|
|
1993
|
+
```
|
|
1994
|
+
|
|
1995
|
+
|
|
1996
|
+
Usage notes:
|
|
1997
|
+
Useinandroid5.1or6.0
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
Simplified example:
|
|
2001
|
+
```java
|
|
2002
|
+
EmvNfcKernelApi emv = EmvNfcKernelApi.getInstance(context);
|
|
2003
|
+
emv.setContext(context);
|
|
2004
|
+
emv.setListener(listener);
|
|
2005
|
+
```
|
|
2006
|
+
|
|
2007
|
+
|
|
2008
|
+
Source details:
|
|
2009
|
+
```text
|
|
2010
|
+
Declare: public void setContext(Context context)
|
|
2011
|
+
Description: Setcontext,soemvcancallUIandpinpadhandleoffliepin
|
|
2012
|
+
Parameters:
|
|
2013
|
+
Return:
|
|
2014
|
+
Remark: Useinandroid5.1or6.0
|
|
2015
|
+
```
|
|
2016
|
+
|
|
2017
|
+
## SetTLV
|
|
2018
|
+
|
|
2019
|
+
Set onecontacttagdata
|
|
2020
|
+
tag(e.g. 0x95)
|
|
2021
|
+
|
|
2022
|
+
```java
|
|
2023
|
+
public int SetTLV(int tag,byte[]value, int valueLen)
|
|
2024
|
+
```
|
|
2025
|
+
|
|
2026
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2027
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2028
|
+
- **源文档章节:** 1.29
|
|
2029
|
+
|
|
2030
|
+
- Source section: `1.29`
|
|
2031
|
+
|
|
2032
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2033
|
+
|
|
2034
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2035
|
+
|
|
2036
|
+
|
|
2037
|
+
|
|
2038
|
+
Purpose:
|
|
2039
|
+
Set onecontacttagdata
|
|
2040
|
+
tag(e.g. 0x95)
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
Signature/prototype:
|
|
2044
|
+
```java
|
|
2045
|
+
public int SetTLV(int tag,byte[]value, int valueLen)
|
|
2046
|
+
```
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
Parameters:
|
|
2050
|
+
value: tagvalue hex
|
|
2051
|
+
valueLen:lengthofvalue
|
|
2052
|
+
0:success
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
Return value:
|
|
2056
|
+
Other:failed
|
|
2057
|
+
|
|
2058
|
+
|
|
2059
|
+
Usage notes:
|
|
2060
|
+
Onlyusefor contact
|
|
2061
|
+
|
|
2062
|
+
|
|
2063
|
+
Source details:
|
|
2064
|
+
```text
|
|
2065
|
+
Declare: public int SetTLV(int tag,byte[]value, int valueLen)
|
|
2066
|
+
Description: Set onecontacttagdata
|
|
2067
|
+
tag(e.g. 0x95)
|
|
2068
|
+
Parameters: value: tagvalue hex
|
|
2069
|
+
valueLen:lengthofvalue
|
|
2070
|
+
0:success
|
|
2071
|
+
Return:
|
|
2072
|
+
Other:failed
|
|
2073
|
+
Remark: Onlyusefor contact
|
|
2074
|
+
```
|
|
2075
|
+
|
|
2076
|
+
## getMstripFlag
|
|
2077
|
+
|
|
2078
|
+
Note:VISAnotsupportMstripmode
|
|
2079
|
+
|
|
2080
|
+
```java
|
|
2081
|
+
public int getMstripFlag ()
|
|
2082
|
+
```
|
|
2083
|
+
|
|
2084
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2085
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2086
|
+
- **源文档章节:** 1.30
|
|
2087
|
+
|
|
2088
|
+
- Source section: `1.30`
|
|
2089
|
+
|
|
2090
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2091
|
+
|
|
2092
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2093
|
+
|
|
2094
|
+
|
|
2095
|
+
|
|
2096
|
+
Purpose:
|
|
2097
|
+
Note:VISAnotsupportMstripmode
|
|
2098
|
+
|
|
2099
|
+
|
|
2100
|
+
Signature/prototype:
|
|
2101
|
+
```java
|
|
2102
|
+
public int getMstripFlag ()
|
|
2103
|
+
```
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
Parameters:
|
|
2107
|
+
0 Mchip(EMVmode)
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
Return value:
|
|
2111
|
+
1 Mstrip(Master/Amex)
|
|
2112
|
+
4 JCBlegacymode
|
|
2113
|
+
|
|
2114
|
+
|
|
2115
|
+
Usage notes:
|
|
2116
|
+
8 DiscoverZIPmode
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
Source details:
|
|
2120
|
+
```text
|
|
2121
|
+
Declare: public int getMstripFlag ()
|
|
2122
|
+
CheckthecontactlesscardisEMVmodeorMagstripmode
|
|
2123
|
+
Description:
|
|
2124
|
+
Note:VISAnotsupportMstripmode
|
|
2125
|
+
Parameters:
|
|
2126
|
+
0 Mchip(EMVmode)
|
|
2127
|
+
Return:
|
|
2128
|
+
1 Mstrip(Master/Amex)
|
|
2129
|
+
4 JCBlegacymode
|
|
2130
|
+
Remark:
|
|
2131
|
+
8 DiscoverZIPmode
|
|
2132
|
+
```
|
|
2133
|
+
|
|
2134
|
+
## CheckCardIsOut
|
|
2135
|
+
|
|
2136
|
+
transaction ,Otherwise,itwillcauseakernelcardreadingconflict,
|
|
2137
|
+
|
|
2138
|
+
```java
|
|
2139
|
+
public boolean CheckCardIsOut(long ms)
|
|
2140
|
+
```
|
|
2141
|
+
|
|
2142
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2143
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2144
|
+
- **源文档章节:** 1.31
|
|
2145
|
+
|
|
2146
|
+
- Source section: `1.31`
|
|
2147
|
+
|
|
2148
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2149
|
+
|
|
2150
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2151
|
+
|
|
2152
|
+
|
|
2153
|
+
|
|
2154
|
+
Purpose:
|
|
2155
|
+
transaction ,Otherwise,itwillcauseakernelcardreadingconflict,
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
Signature/prototype:
|
|
2159
|
+
```java
|
|
2160
|
+
public boolean CheckCardIsOut(long ms)
|
|
2161
|
+
```
|
|
2162
|
+
|
|
2163
|
+
|
|
2164
|
+
Parameters:
|
|
2165
|
+
milliseconds
|
|
2166
|
+
|
|
2167
|
+
|
|
2168
|
+
Return value:
|
|
2169
|
+
True:ifcardisremovedduringtimeout False:cardnotremoved
|
|
2170
|
+
call it at ContantPara.CheckCardResult.NEED_FALLBACK or
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
Usage notes:
|
|
2174
|
+
ContantPara.CheckCardResult.NOT_ICC or
|
|
2175
|
+
ContantPara.TransactionResult.ICC_CARD_REMOVED
|
|
2176
|
+
|
|
2177
|
+
|
|
2178
|
+
Source details:
|
|
2179
|
+
```text
|
|
2180
|
+
Declare: public boolean CheckCardIsOut(long ms)
|
|
2181
|
+
Check IC card is removed from device , but this api can`t call during
|
|
2182
|
+
Description:
|
|
2183
|
+
transaction ,Otherwise,itwillcauseakernelcardreadingconflict,
|
|
2184
|
+
Parameters: milliseconds
|
|
2185
|
+
Return: True:ifcardisremovedduringtimeout False:cardnotremoved
|
|
2186
|
+
call it at ContantPara.CheckCardResult.NEED_FALLBACK or
|
|
2187
|
+
Remark: ContantPara.CheckCardResult.NOT_ICC or
|
|
2188
|
+
ContantPara.TransactionResult.ICC_CARD_REMOVED
|
|
2189
|
+
```
|
|
2190
|
+
|
|
2191
|
+
## CheckCardIsOutDuringTrans
|
|
2192
|
+
|
|
2193
|
+
thePINpad forcontacttransaction ,Otherwise,itwill causeakernel
|
|
2194
|
+
cardreadingconflict
|
|
2195
|
+
|
|
2196
|
+
```java
|
|
2197
|
+
public boolean CheckCardIsOutDuringTrans(long ms)
|
|
2198
|
+
```
|
|
2199
|
+
|
|
2200
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2201
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2202
|
+
- **源文档章节:** 1.32
|
|
2203
|
+
|
|
2204
|
+
- Source section: `1.32`
|
|
2205
|
+
|
|
2206
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2207
|
+
|
|
2208
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2209
|
+
|
|
2210
|
+
|
|
2211
|
+
|
|
2212
|
+
Purpose:
|
|
2213
|
+
thePINpad forcontacttransaction ,Otherwise,itwill causeakernel
|
|
2214
|
+
cardreadingconflict
|
|
2215
|
+
|
|
2216
|
+
|
|
2217
|
+
Signature/prototype:
|
|
2218
|
+
```java
|
|
2219
|
+
public boolean CheckCardIsOutDuringTrans(long ms)
|
|
2220
|
+
```
|
|
2221
|
+
|
|
2222
|
+
|
|
2223
|
+
Parameters:
|
|
2224
|
+
milliseconds
|
|
2225
|
+
|
|
2226
|
+
|
|
2227
|
+
Return value:
|
|
2228
|
+
True:ifcardisremovedduringtimeout False:cardnotremoved
|
|
2229
|
+
|
|
2230
|
+
|
|
2231
|
+
Usage notes:
|
|
2232
|
+
UseininputPINflow,whenthecardremoved
|
|
2233
|
+
|
|
2234
|
+
|
|
2235
|
+
Source details:
|
|
2236
|
+
```text
|
|
2237
|
+
Declare: public boolean CheckCardIsOutDuringTrans(long ms)
|
|
2238
|
+
Check IC card is removed from device , this api can only call during Pop
|
|
2239
|
+
Description: thePINpad forcontacttransaction ,Otherwise,itwill causeakernel
|
|
2240
|
+
cardreadingconflict
|
|
2241
|
+
Parameters: milliseconds
|
|
2242
|
+
Return: True:ifcardisremovedduringtimeout False:cardnotremoved
|
|
2243
|
+
Remark: UseininputPINflow,whenthecardremoved
|
|
2244
|
+
```
|
|
2245
|
+
|
|
2246
|
+
## GetField55ForSAMA
|
|
2247
|
+
|
|
2248
|
+
Getfiled55forSAMA
|
|
2249
|
+
|
|
2250
|
+
```java
|
|
2251
|
+
public String GetField55ForSAMA()
|
|
2252
|
+
```
|
|
2253
|
+
|
|
2254
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2255
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2256
|
+
- **源文档章节:** 1.33
|
|
2257
|
+
|
|
2258
|
+
- Source section: `1.33`
|
|
2259
|
+
|
|
2260
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2261
|
+
|
|
2262
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
|
|
2266
|
+
Purpose:
|
|
2267
|
+
Getfiled55forSAMA
|
|
2268
|
+
|
|
2269
|
+
|
|
2270
|
+
Signature/prototype:
|
|
2271
|
+
```java
|
|
2272
|
+
public String GetField55ForSAMA()
|
|
2273
|
+
```
|
|
2274
|
+
|
|
2275
|
+
|
|
2276
|
+
Parameters:
|
|
2277
|
+
null
|
|
2278
|
+
|
|
2279
|
+
|
|
2280
|
+
Return value:
|
|
2281
|
+
TLV
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
Usage notes:
|
|
2285
|
+
Callitatgoonlinecallback
|
|
2286
|
+
|
|
2287
|
+
|
|
2288
|
+
Source details:
|
|
2289
|
+
```text
|
|
2290
|
+
Declare: public String GetField55ForSAMA()
|
|
2291
|
+
Description: Getfiled55forSAMA
|
|
2292
|
+
Parameters: null
|
|
2293
|
+
Return: TLV
|
|
2294
|
+
Remark: Callitatgoonlinecallback
|
|
2295
|
+
```
|
|
2296
|
+
|
|
2297
|
+
## getDeviceType()
|
|
2298
|
+
|
|
2299
|
+
GetDeviceTypeforContactless
|
|
2300
|
+
|
|
2301
|
+
```java
|
|
2302
|
+
public int getDeviceType()
|
|
2303
|
+
```
|
|
2304
|
+
|
|
2305
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2306
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2307
|
+
- **源文档章节:** 1.34
|
|
2308
|
+
|
|
2309
|
+
- Source section: `1.34`
|
|
2310
|
+
|
|
2311
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2312
|
+
|
|
2313
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2314
|
+
|
|
2315
|
+
|
|
2316
|
+
|
|
2317
|
+
Purpose:
|
|
2318
|
+
GetDeviceTypeforContactless
|
|
2319
|
+
|
|
2320
|
+
|
|
2321
|
+
Signature/prototype:
|
|
2322
|
+
```java
|
|
2323
|
+
public int getDeviceType()
|
|
2324
|
+
```
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
Parameters:
|
|
2328
|
+
null
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
Return value:
|
|
2332
|
+
0-Realcard, other-MobilePhone
|
|
2333
|
+
Call it at go online callback, If the kernel cannot determine, the default
|
|
2334
|
+
|
|
2335
|
+
|
|
2336
|
+
Usage notes:
|
|
2337
|
+
realcard
|
|
2338
|
+
|
|
2339
|
+
|
|
2340
|
+
Source details:
|
|
2341
|
+
```text
|
|
2342
|
+
Declare: public int getDeviceType()
|
|
2343
|
+
Description: GetDeviceTypeforContactless
|
|
2344
|
+
Parameters: null
|
|
2345
|
+
Return: 0-Realcard, other-MobilePhone
|
|
2346
|
+
Call it at go online callback, If the kernel cannot determine, the default
|
|
2347
|
+
Remark:
|
|
2348
|
+
realcard
|
|
2349
|
+
```
|
|
2350
|
+
|
|
2351
|
+
## getField55ForJIO()
|
|
2352
|
+
|
|
2353
|
+
Getfiled55forRelience
|
|
2354
|
+
|
|
2355
|
+
```java
|
|
2356
|
+
public Hashtable<String,String> getField55ForJIO(int KeySetNum)
|
|
2357
|
+
```
|
|
2358
|
+
|
|
2359
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2360
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2361
|
+
- **源文档章节:** 1.34
|
|
2362
|
+
|
|
2363
|
+
- Source section: `1.34`
|
|
2364
|
+
|
|
2365
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2366
|
+
|
|
2367
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2368
|
+
|
|
2369
|
+
|
|
2370
|
+
|
|
2371
|
+
Purpose:
|
|
2372
|
+
Getfiled55forRelience
|
|
2373
|
+
|
|
2374
|
+
|
|
2375
|
+
Signature/prototype:
|
|
2376
|
+
```java
|
|
2377
|
+
public Hashtable<String,String> getField55ForJIO(int KeySetNum)
|
|
2378
|
+
```
|
|
2379
|
+
|
|
2380
|
+
|
|
2381
|
+
Parameters:
|
|
2382
|
+
KeySetNum--DUKPTKeySetNum
|
|
2383
|
+
|
|
2384
|
+
|
|
2385
|
+
Return value:
|
|
2386
|
+
Hashtable: KEY/VALUE:EMVDATA KSN TRACKDATA
|
|
2387
|
+
|
|
2388
|
+
|
|
2389
|
+
Usage notes:
|
|
2390
|
+
Callitatgoonlinecallback
|
|
2391
|
+
|
|
2392
|
+
|
|
2393
|
+
Source details:
|
|
2394
|
+
```text
|
|
2395
|
+
Declare: public Hashtable<String,String> getField55ForJIO(int KeySetNum)
|
|
2396
|
+
Description: Getfiled55forRelience
|
|
2397
|
+
Parameters: KeySetNum--DUKPTKeySetNum
|
|
2398
|
+
Return: Hashtable: KEY/VALUE:EMVDATA KSN TRACKDATA
|
|
2399
|
+
Remark: Callitatgoonlinecallback
|
|
2400
|
+
```
|
|
2401
|
+
|
|
2402
|
+
## GetL1Version
|
|
2403
|
+
|
|
2404
|
+
GetL1Versionofdevice
|
|
2405
|
+
|
|
2406
|
+
```java
|
|
2407
|
+
cardSlot)
|
|
2408
|
+
```
|
|
2409
|
+
|
|
2410
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2411
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2412
|
+
- **源文档章节:** 1.35
|
|
2413
|
+
|
|
2414
|
+
- Source section: `1.35`
|
|
2415
|
+
|
|
2416
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2417
|
+
|
|
2418
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2419
|
+
|
|
2420
|
+
|
|
2421
|
+
|
|
2422
|
+
Purpose:
|
|
2423
|
+
GetL1Versionofdevice
|
|
2424
|
+
|
|
2425
|
+
|
|
2426
|
+
Signature/prototype:
|
|
2427
|
+
```java
|
|
2428
|
+
cardSlot)
|
|
2429
|
+
```
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
Parameters:
|
|
2433
|
+
cardSlot-ICCorPICC
|
|
2434
|
+
|
|
2435
|
+
|
|
2436
|
+
Return value:
|
|
2437
|
+
Hashtable: KEY/VALUE:IFMHardwareSoftwarePCD
|
|
2438
|
+
|
|
2439
|
+
|
|
2440
|
+
Usage notes:
|
|
2441
|
+
SubjecttotheL1certificate
|
|
2442
|
+
|
|
2443
|
+
|
|
2444
|
+
Source details:
|
|
2445
|
+
```text
|
|
2446
|
+
public Hashtable<String,String> GetL1Version(ContantPara.CardSlot
|
|
2447
|
+
Declare:
|
|
2448
|
+
cardSlot)
|
|
2449
|
+
Description: GetL1Versionofdevice
|
|
2450
|
+
Parameters: cardSlot-ICCorPICC
|
|
2451
|
+
Return: Hashtable: KEY/VALUE:IFMHardwareSoftwarePCD
|
|
2452
|
+
Remark: SubjecttotheL1certificate
|
|
2453
|
+
```
|
|
2454
|
+
|
|
2455
|
+
## getNFCLibVers
|
|
2456
|
+
|
|
2457
|
+
GetKernelnameandVersion
|
|
2458
|
+
KernelID - 02-Master 03-Visa 04-Amex 05-JCB 06-Discover 0D-Rupay
|
|
2459
|
+
|
|
2460
|
+
```java
|
|
2461
|
+
public String getNFCLibVers(byteKernelID)
|
|
2462
|
+
```
|
|
2463
|
+
|
|
2464
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2465
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2466
|
+
- **源文档章节:** 1.36
|
|
2467
|
+
|
|
2468
|
+
- Source section: `1.36`
|
|
2469
|
+
|
|
2470
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2471
|
+
|
|
2472
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2473
|
+
|
|
2474
|
+
|
|
2475
|
+
|
|
2476
|
+
Purpose:
|
|
2477
|
+
GetKernelnameandVersion
|
|
2478
|
+
KernelID - 02-Master 03-Visa 04-Amex 05-JCB 06-Discover 0D-Rupay
|
|
2479
|
+
|
|
2480
|
+
|
|
2481
|
+
Signature/prototype:
|
|
2482
|
+
```java
|
|
2483
|
+
public String getNFCLibVers(byteKernelID)
|
|
2484
|
+
```
|
|
2485
|
+
|
|
2486
|
+
|
|
2487
|
+
Parameters:
|
|
2488
|
+
2D-PURE
|
|
2489
|
+
|
|
2490
|
+
|
|
2491
|
+
Return value:
|
|
2492
|
+
NameandVersion
|
|
2493
|
+
|
|
2494
|
+
|
|
2495
|
+
Usage notes:
|
|
2496
|
+
SubjecttotheL2certificate
|
|
2497
|
+
|
|
2498
|
+
|
|
2499
|
+
Source details:
|
|
2500
|
+
```text
|
|
2501
|
+
Declare: public String getNFCLibVers(byteKernelID)
|
|
2502
|
+
Description: GetKernelnameandVersion
|
|
2503
|
+
KernelID - 02-Master 03-Visa 04-Amex 05-JCB 06-Discover 0D-Rupay
|
|
2504
|
+
Parameters:
|
|
2505
|
+
2D-PURE
|
|
2506
|
+
Return: NameandVersion
|
|
2507
|
+
Remark: SubjecttotheL2certificate
|
|
2508
|
+
```
|
|
2509
|
+
|
|
2510
|
+
## updateCAPK
|
|
2511
|
+
|
|
2512
|
+
UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
2513
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
2514
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
2515
|
+
andthechecksumof theCAPK, all
|
|
2516
|
+
datainhex stringformat.
|
|
2517
|
+
cardSlot:
|
|
2518
|
+
ContantPara.CardSlot.ICC,ContantPara.CardSlot.PICCor
|
|
2519
|
+
ContantPara.CardSlot.UNKNOWN
|
|
2520
|
+
Rid:Identify public keyof certification center
|
|
2521
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
2522
|
+
Exponent: Public keyexponent
|
|
2523
|
+
|
|
2524
|
+
```java
|
|
2525
|
+
ContantPara.Operationoperation, Hashtable<String,String>
|
|
2526
|
+
capkParams)
|
|
2527
|
+
```
|
|
2528
|
+
|
|
2529
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2530
|
+
- **Demo Activity(参考):** EmvActivityNew, TestEmv
|
|
2531
|
+
- **源文档章节:** 1.37
|
|
2532
|
+
|
|
2533
|
+
- Source section: `1.37`
|
|
2534
|
+
|
|
2535
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2536
|
+
|
|
2537
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java and UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/TestEmv.java`
|
|
2538
|
+
|
|
2539
|
+
|
|
2540
|
+
|
|
2541
|
+
Purpose:
|
|
2542
|
+
UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
2543
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
2544
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
2545
|
+
andthechecksumof theCAPK, all
|
|
2546
|
+
datainhex stringformat.
|
|
2547
|
+
cardSlot:
|
|
2548
|
+
ContantPara.CardSlot.ICC,ContantPara.CardSlot.PICCor
|
|
2549
|
+
ContantPara.CardSlot.UNKNOWN
|
|
2550
|
+
Rid:Identify public keyof certification center
|
|
2551
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
2552
|
+
Exponent: Public keyexponent
|
|
2553
|
+
|
|
2554
|
+
|
|
2555
|
+
Signature/prototype:
|
|
2556
|
+
```java
|
|
2557
|
+
ContantPara.Operationoperation, Hashtable<String,String>
|
|
2558
|
+
capkParams)
|
|
2559
|
+
```
|
|
2560
|
+
|
|
2561
|
+
|
|
2562
|
+
Parameters:
|
|
2563
|
+
Modulus:Module value of public key
|
|
2564
|
+
Checksum:Toverifypublic keyof certificationcenter
|
|
2565
|
+
Toremove aCAPK entry at thespecifiedlocation, set withthe
|
|
2566
|
+
following values:
|
|
2567
|
+
• RID (5bytes) = "A000000004"
|
|
2568
|
+
• Index(1byte) = "01"
|
|
2569
|
+
• Exponent (1byte or 3bytes) = "03"
|
|
2570
|
+
• Modulus (Nbytes) ="00"
|
|
2571
|
+
• Size (2bytes) (not use)
|
|
2572
|
+
• Checksum (20bytes) = SHA-1[RID|| Index|| Modulus ||
|
|
2573
|
+
Exponent]
|
|
2574
|
+
|
|
2575
|
+
|
|
2576
|
+
Return value:
|
|
2577
|
+
True-updatesuccess False-updatefailed
|
|
2578
|
+
|
|
2579
|
+
|
|
2580
|
+
Usage notes:
|
|
2581
|
+
Mandatory: RID&Index&Exponent&Modulus
|
|
2582
|
+
|
|
2583
|
+
|
|
2584
|
+
Simplified example:
|
|
2585
|
+
```java
|
|
2586
|
+
Hashtable<String, String> capk = new Hashtable<>();
|
|
2587
|
+
capk.put("RID", "A000000003");
|
|
2588
|
+
capk.put("Index", "08");
|
|
2589
|
+
capk.put("Exponent", "03");
|
|
2590
|
+
capk.put("Modulus", "...");
|
|
2591
|
+
capk.put("Checksum", "...");
|
|
2592
|
+
boolean ok = emv.updateCAPK(ContantPara.Operation.ADD, capk);
|
|
2593
|
+
```
|
|
2594
|
+
|
|
2595
|
+
|
|
2596
|
+
Source details:
|
|
2597
|
+
```text
|
|
2598
|
+
Boolean updateCAPK(ContantPara.CardSlot cardSlot,
|
|
2599
|
+
Declare:
|
|
2600
|
+
ContantPara.Operationoperation, Hashtable<String,String>
|
|
2601
|
+
|
|
2602
|
+
capkParams)
|
|
2603
|
+
Description: UpdateaCertificateAuthorityPublic Key objectin thedevice.
|
|
2604
|
+
TheCAPKobjecttobeupdated.Theobjectcontainsthelocation
|
|
2605
|
+
oftheCAPK in thedevice, theRID, index, modulus,exponent
|
|
2606
|
+
andthechecksumof theCAPK, all
|
|
2607
|
+
datainhex stringformat.
|
|
2608
|
+
cardSlot:
|
|
2609
|
+
ContantPara.CardSlot.ICC,ContantPara.CardSlot.PICCor
|
|
2610
|
+
ContantPara.CardSlot.UNKNOWN
|
|
2611
|
+
Rid:Identify public keyof certification center
|
|
2612
|
+
Index:Identifypublic keyofcertificationcentertogetherwithRID
|
|
2613
|
+
Exponent: Public keyexponent
|
|
2614
|
+
Parameters:
|
|
2615
|
+
Modulus:Module value of public key
|
|
2616
|
+
Checksum:Toverifypublic keyof certificationcenter
|
|
2617
|
+
Toremove aCAPK entry at thespecifiedlocation, set withthe
|
|
2618
|
+
following values:
|
|
2619
|
+
• RID (5bytes) = "A000000004"
|
|
2620
|
+
• Index(1byte) = "01"
|
|
2621
|
+
• Exponent (1byte or 3bytes) = "03"
|
|
2622
|
+
• Modulus (Nbytes) ="00"
|
|
2623
|
+
• Size (2bytes) (not use)
|
|
2624
|
+
• Checksum (20bytes) = SHA-1[RID|| Index|| Modulus ||
|
|
2625
|
+
Exponent]
|
|
2626
|
+
Return: True-updatesuccess False-updatefailed
|
|
2627
|
+
Remark: Mandatory: RID&Index&Exponent&Modulus
|
|
2628
|
+
```
|
|
2629
|
+
|
|
2630
|
+
## updateContactAID_TLV
|
|
2631
|
+
|
|
2632
|
+
UpdateContactAIDParameters,UseTLVString
|
|
2633
|
+
|
|
2634
|
+
AIDTLV
|
|
2635
|
+
Tag:
|
|
2636
|
+
M:
|
|
2637
|
+
9F06:AID
|
|
2638
|
+
9F09:TerminalApplicationVersion(eg:0001)
|
|
2639
|
+
DF11:TAC-Default(eg:0000000000)
|
|
2640
|
+
DF12:TAC-Online(eg:DC4004F800)
|
|
2641
|
+
DF13:TAG-Denial(eg:0000000000)
|
|
2642
|
+
DF14:DefaultDDOL(eg:9F3704)
|
|
2643
|
+
9F1B:TerminalFloorLimit(eg:00000000)
|
|
2644
|
+
O:
|
|
2645
|
+
DF01: Application Select Indicator (eg:00-Partial Match 01-Full
|
|
2646
|
+
Match)
|
|
2647
|
+
DF02:TerminalApplicationPriority(eg:00-0F)
|
|
2648
|
+
DF22:DefaultTDOL(eg:9F0206)
|
|
2649
|
+
DF15:ThresholdValue(eg:000000002000)
|
|
2650
|
+
DF16:MaxTargetPercentage(eg:00)
|
|
2651
|
+
DF17:TargetPercentage(eg:00)
|
|
2652
|
+
9F01:AcquirerID(eg:303030313131)
|
|
2653
|
+
9F33:TerminalCapabilities(eg:E0F8C8)
|
|
2654
|
+
9F1A:TerminalCountryCode(eg:0356)
|
|
2655
|
+
|
|
2656
|
+
```java
|
|
2657
|
+
public boolean updateContactAID_TLV(String TLV)
|
|
2658
|
+
```
|
|
2659
|
+
|
|
2660
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2661
|
+
- **Demo Activity(参考):** EmvActivityNew, TestEmv
|
|
2662
|
+
- **源文档章节:** 1.38
|
|
2663
|
+
|
|
2664
|
+
- Source section: `1.38`
|
|
2665
|
+
|
|
2666
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2667
|
+
|
|
2668
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java and UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/TestEmv.java`
|
|
2669
|
+
|
|
2670
|
+
|
|
2671
|
+
|
|
2672
|
+
Purpose:
|
|
2673
|
+
UpdateContactAIDParameters,UseTLVString
|
|
2674
|
+
|
|
2675
|
+
AIDTLV
|
|
2676
|
+
Tag:
|
|
2677
|
+
M:
|
|
2678
|
+
9F06:AID
|
|
2679
|
+
9F09:TerminalApplicationVersion(eg:0001)
|
|
2680
|
+
DF11:TAC-Default(eg:0000000000)
|
|
2681
|
+
DF12:TAC-Online(eg:DC4004F800)
|
|
2682
|
+
DF13:TAG-Denial(eg:0000000000)
|
|
2683
|
+
DF14:DefaultDDOL(eg:9F3704)
|
|
2684
|
+
9F1B:TerminalFloorLimit(eg:00000000)
|
|
2685
|
+
O:
|
|
2686
|
+
DF01: Application Select Indicator (eg:00-Partial Match 01-Full
|
|
2687
|
+
Match)
|
|
2688
|
+
DF02:TerminalApplicationPriority(eg:00-0F)
|
|
2689
|
+
DF22:DefaultTDOL(eg:9F0206)
|
|
2690
|
+
DF15:ThresholdValue(eg:000000002000)
|
|
2691
|
+
DF16:MaxTargetPercentage(eg:00)
|
|
2692
|
+
DF17:TargetPercentage(eg:00)
|
|
2693
|
+
9F01:AcquirerID(eg:303030313131)
|
|
2694
|
+
9F33:TerminalCapabilities(eg:E0F8C8)
|
|
2695
|
+
9F1A:TerminalCountryCode(eg:0356)
|
|
2696
|
+
|
|
2697
|
+
|
|
2698
|
+
Signature/prototype:
|
|
2699
|
+
```java
|
|
2700
|
+
public boolean updateContactAID_TLV(String TLV)
|
|
2701
|
+
```
|
|
2702
|
+
|
|
2703
|
+
|
|
2704
|
+
Parameters:
|
|
2705
|
+
DF23:TerminalFloorLimitCheck(eg:01or00)
|
|
2706
|
+
5F2A:TransactionCurrencyCode(eg:0156)
|
|
2707
|
+
5F36:TransactionCurrencyCodeExponent(eg:02)
|
|
2708
|
+
DF24:ApplicationDefaultLabel(eg:4D617374657243617264)
|
|
2709
|
+
9F16:MerchantID(eg:123456789012345123456789012345)
|
|
2710
|
+
9F1C:TerminalID(eg:3132333435363738)
|
|
2711
|
+
9F15:MerchantCategoryCode(eg:1122)
|
|
2712
|
+
9F40:AdditionalTerminalCapabilities(eg:F000F0A001)
|
|
2713
|
+
9F35:TerminalType(eg:22)
|
|
2714
|
+
Note:M---Mandatory O--Optional
|
|
2715
|
+
Eg:
|
|
2716
|
+
9F0607A00000000410109F09020002DF010100DF020100DF1105000
|
|
2717
|
+
0000000DF13050010000000DF1205DC4004F800DF22039F0206DF1
|
|
2718
|
+
4039F3704DF1506000000002000DF170100DF1601009F1B0400000
|
|
2719
|
+
0009F01063030303131319F3303E0F8C89F1A020682DF230101
|
|
2720
|
+
Funs.Find_TLV
|
|
2721
|
+
Funs.AddChild_TLV
|
|
2722
|
+
Funs.New_TLV
|
|
2723
|
+
Funs.Remove_TLV
|
|
2724
|
+
YoucanusetheseApistoconstructTLV
|
|
2725
|
+
|
|
2726
|
+
|
|
2727
|
+
Return value:
|
|
2728
|
+
truefalse
|
|
2729
|
+
|
|
2730
|
+
|
|
2731
|
+
Usage notes:
|
|
2732
|
+
Payattentiontothedatalengthandformat
|
|
2733
|
+
|
|
2734
|
+
|
|
2735
|
+
Source details:
|
|
2736
|
+
```text
|
|
2737
|
+
Declare: public boolean updateContactAID_TLV(String TLV)
|
|
2738
|
+
Description: UpdateContactAIDParameters,UseTLVString
|
|
2739
|
+
|
|
2740
|
+
AIDTLV
|
|
2741
|
+
Tag:
|
|
2742
|
+
M:
|
|
2743
|
+
9F06:AID
|
|
2744
|
+
9F09:TerminalApplicationVersion(eg:0001)
|
|
2745
|
+
DF11:TAC-Default(eg:0000000000)
|
|
2746
|
+
DF12:TAC-Online(eg:DC4004F800)
|
|
2747
|
+
DF13:TAG-Denial(eg:0000000000)
|
|
2748
|
+
DF14:DefaultDDOL(eg:9F3704)
|
|
2749
|
+
9F1B:TerminalFloorLimit(eg:00000000)
|
|
2750
|
+
O:
|
|
2751
|
+
DF01: Application Select Indicator (eg:00-Partial Match 01-Full
|
|
2752
|
+
Match)
|
|
2753
|
+
DF02:TerminalApplicationPriority(eg:00-0F)
|
|
2754
|
+
DF22:DefaultTDOL(eg:9F0206)
|
|
2755
|
+
DF15:ThresholdValue(eg:000000002000)
|
|
2756
|
+
DF16:MaxTargetPercentage(eg:00)
|
|
2757
|
+
DF17:TargetPercentage(eg:00)
|
|
2758
|
+
9F01:AcquirerID(eg:303030313131)
|
|
2759
|
+
9F33:TerminalCapabilities(eg:E0F8C8)
|
|
2760
|
+
9F1A:TerminalCountryCode(eg:0356)
|
|
2761
|
+
Parameters:
|
|
2762
|
+
DF23:TerminalFloorLimitCheck(eg:01or00)
|
|
2763
|
+
5F2A:TransactionCurrencyCode(eg:0156)
|
|
2764
|
+
5F36:TransactionCurrencyCodeExponent(eg:02)
|
|
2765
|
+
DF24:ApplicationDefaultLabel(eg:4D617374657243617264)
|
|
2766
|
+
9F16:MerchantID(eg:123456789012345123456789012345)
|
|
2767
|
+
9F1C:TerminalID(eg:3132333435363738)
|
|
2768
|
+
9F15:MerchantCategoryCode(eg:1122)
|
|
2769
|
+
9F40:AdditionalTerminalCapabilities(eg:F000F0A001)
|
|
2770
|
+
9F35:TerminalType(eg:22)
|
|
2771
|
+
Note:M---Mandatory O--Optional
|
|
2772
|
+
Eg:
|
|
2773
|
+
9F0607A00000000410109F09020002DF010100DF020100DF1105000
|
|
2774
|
+
0000000DF13050010000000DF1205DC4004F800DF22039F0206DF1
|
|
2775
|
+
4039F3704DF1506000000002000DF170100DF1601009F1B0400000
|
|
2776
|
+
0009F01063030303131319F3303E0F8C89F1A020682DF230101
|
|
2777
|
+
Funs.Find_TLV
|
|
2778
|
+
Funs.AddChild_TLV
|
|
2779
|
+
Funs.New_TLV
|
|
2780
|
+
Funs.Remove_TLV
|
|
2781
|
+
YoucanusetheseApistoconstructTLV
|
|
2782
|
+
Return: truefalse
|
|
2783
|
+
Remark: Payattentiontothedatalengthandformat
|
|
2784
|
+
```
|
|
2785
|
+
|
|
2786
|
+
## updateContactlessAID_TLV
|
|
2787
|
+
|
|
2788
|
+
UpdateContactlessAIDParameters,UseTLVString
|
|
2789
|
+
|
|
2790
|
+
AIDTLV
|
|
2791
|
+
Note:M---Mandatory O--Optional
|
|
2792
|
+
Tag:
|
|
2793
|
+
M:
|
|
2794
|
+
9F06: ApplicationIdentifier
|
|
2795
|
+
ContantPara.NfcCardType.MasterCard:
|
|
2796
|
+
DF8120:TerminalActionCodesDefault
|
|
2797
|
+
DF8121:TerminalActionCodesDenial
|
|
2798
|
+
DF8122:TerminalActionCodesOnLine
|
|
2799
|
+
DF8123:FloorLimit
|
|
2800
|
+
DF8124:NoOnDeviceCVM
|
|
2801
|
+
DF8125:OnDeviceCVM
|
|
2802
|
+
DF8126:CVMRequiredLimit
|
|
2803
|
+
DF811A:DefaultUDOL
|
|
2804
|
+
9F1D:TerminalRiskManagement
|
|
2805
|
+
DF811B:KernelConfiguration
|
|
2806
|
+
DF8117:CardDataInputCapability
|
|
2807
|
+
DF8118:CVMCapabilityPerCVMRequired
|
|
2808
|
+
DF8119: CVMCapabilityNoCVMRequired
|
|
2809
|
+
DF811E:MagStripeCVMCapabilityCVMRequired
|
|
2810
|
+
|
|
2811
|
+
```java
|
|
2812
|
+
nfcCardType,String TLV)
|
|
2813
|
+
```
|
|
2814
|
+
|
|
2815
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2816
|
+
- **Demo Activity(参考):** EmvActivityNew, TestEmv
|
|
2817
|
+
- **源文档章节:** 1.39
|
|
2818
|
+
|
|
2819
|
+
- Source section: `1.39`
|
|
2820
|
+
|
|
2821
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2822
|
+
|
|
2823
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java and UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/TestEmv.java`
|
|
2824
|
+
|
|
2825
|
+
|
|
2826
|
+
|
|
2827
|
+
Purpose:
|
|
2828
|
+
UpdateContactlessAIDParameters,UseTLVString
|
|
2829
|
+
|
|
2830
|
+
AIDTLV
|
|
2831
|
+
Note:M---Mandatory O--Optional
|
|
2832
|
+
Tag:
|
|
2833
|
+
M:
|
|
2834
|
+
9F06: ApplicationIdentifier
|
|
2835
|
+
ContantPara.NfcCardType.MasterCard:
|
|
2836
|
+
DF8120:TerminalActionCodesDefault
|
|
2837
|
+
DF8121:TerminalActionCodesDenial
|
|
2838
|
+
DF8122:TerminalActionCodesOnLine
|
|
2839
|
+
DF8123:FloorLimit
|
|
2840
|
+
DF8124:NoOnDeviceCVM
|
|
2841
|
+
DF8125:OnDeviceCVM
|
|
2842
|
+
DF8126:CVMRequiredLimit
|
|
2843
|
+
DF811A:DefaultUDOL
|
|
2844
|
+
9F1D:TerminalRiskManagement
|
|
2845
|
+
DF811B:KernelConfiguration
|
|
2846
|
+
DF8117:CardDataInputCapability
|
|
2847
|
+
DF8118:CVMCapabilityPerCVMRequired
|
|
2848
|
+
DF8119: CVMCapabilityNoCVMRequired
|
|
2849
|
+
DF811E:MagStripeCVMCapabilityCVMRequired
|
|
2850
|
+
|
|
2851
|
+
|
|
2852
|
+
Signature/prototype:
|
|
2853
|
+
```java
|
|
2854
|
+
nfcCardType,String TLV)
|
|
2855
|
+
```
|
|
2856
|
+
|
|
2857
|
+
|
|
2858
|
+
Parameters:
|
|
2859
|
+
DF811F:SecurityCapability
|
|
2860
|
+
DF812C:MagStripeCVMCapabilityPerNoCVMRequired
|
|
2861
|
+
Eg:
|
|
2862
|
+
9F0607A00000000410109F09020002DF81170160DF81180160DF811
|
|
2863
|
+
90108DF811A039F6A04DF811B0130DF810C01029F6D020001DF81
|
|
2864
|
+
1E0110DF812C0100DF812306000000000000DF8124060000500000
|
|
2865
|
+
00DF812506000050000000DF812606000000030000DF811F0108DF
|
|
2866
|
+
812205FC50BCF800DF8121050000000000DF812005FC50BC80009
|
|
2867
|
+
F1D086C7A000000000000
|
|
2868
|
+
ContantPara.NfcCardType.VisaCard:
|
|
2869
|
+
9F66:TerminalTransactionQualifiers
|
|
2870
|
+
9F92810D:TransactionLimit
|
|
2871
|
+
9F92810E:CvmRequiredLimit
|
|
2872
|
+
9F92810F:FloorLimit
|
|
2873
|
+
9F92810A:LimitSwitch
|
|
2874
|
+
9F928102:ProRestrictionDisable
|
|
2875
|
+
Eg:
|
|
2876
|
+
9F0607A00000000310109F6604360040009F92810D0699999999999
|
|
2877
|
+
99F92810F060000000000009F92810E060000005000009F92810A02
|
|
2878
|
+
FE009F1B0400000000
|
|
2879
|
+
|
|
2880
|
+
|
|
2881
|
+
Return value:
|
|
2882
|
+
truefalse
|
|
2883
|
+
|
|
2884
|
+
|
|
2885
|
+
Usage notes:
|
|
2886
|
+
Payattentiontothedatalengthandformat
|
|
2887
|
+
|
|
2888
|
+
|
|
2889
|
+
Source details:
|
|
2890
|
+
```text
|
|
2891
|
+
public boolean updateContactlessAID_TLV(ContantPara.NfcCardType
|
|
2892
|
+
Declare:
|
|
2893
|
+
nfcCardType,String TLV)
|
|
2894
|
+
Description: UpdateContactlessAIDParameters,UseTLVString
|
|
2895
|
+
|
|
2896
|
+
AIDTLV
|
|
2897
|
+
Note:M---Mandatory O--Optional
|
|
2898
|
+
Tag:
|
|
2899
|
+
M:
|
|
2900
|
+
9F06: ApplicationIdentifier
|
|
2901
|
+
ContantPara.NfcCardType.MasterCard:
|
|
2902
|
+
DF8120:TerminalActionCodesDefault
|
|
2903
|
+
DF8121:TerminalActionCodesDenial
|
|
2904
|
+
DF8122:TerminalActionCodesOnLine
|
|
2905
|
+
DF8123:FloorLimit
|
|
2906
|
+
DF8124:NoOnDeviceCVM
|
|
2907
|
+
DF8125:OnDeviceCVM
|
|
2908
|
+
DF8126:CVMRequiredLimit
|
|
2909
|
+
DF811A:DefaultUDOL
|
|
2910
|
+
9F1D:TerminalRiskManagement
|
|
2911
|
+
DF811B:KernelConfiguration
|
|
2912
|
+
DF8117:CardDataInputCapability
|
|
2913
|
+
DF8118:CVMCapabilityPerCVMRequired
|
|
2914
|
+
DF8119: CVMCapabilityNoCVMRequired
|
|
2915
|
+
DF811E:MagStripeCVMCapabilityCVMRequired
|
|
2916
|
+
Parameters:
|
|
2917
|
+
DF811F:SecurityCapability
|
|
2918
|
+
DF812C:MagStripeCVMCapabilityPerNoCVMRequired
|
|
2919
|
+
Eg:
|
|
2920
|
+
9F0607A00000000410109F09020002DF81170160DF81180160DF811
|
|
2921
|
+
90108DF811A039F6A04DF811B0130DF810C01029F6D020001DF81
|
|
2922
|
+
1E0110DF812C0100DF812306000000000000DF8124060000500000
|
|
2923
|
+
00DF812506000050000000DF812606000000030000DF811F0108DF
|
|
2924
|
+
812205FC50BCF800DF8121050000000000DF812005FC50BC80009
|
|
2925
|
+
F1D086C7A000000000000
|
|
2926
|
+
ContantPara.NfcCardType.VisaCard:
|
|
2927
|
+
9F66:TerminalTransactionQualifiers
|
|
2928
|
+
9F92810D:TransactionLimit
|
|
2929
|
+
9F92810E:CvmRequiredLimit
|
|
2930
|
+
9F92810F:FloorLimit
|
|
2931
|
+
9F92810A:LimitSwitch
|
|
2932
|
+
9F928102:ProRestrictionDisable
|
|
2933
|
+
Eg:
|
|
2934
|
+
9F0607A00000000310109F6604360040009F92810D0699999999999
|
|
2935
|
+
99F92810F060000000000009F92810E060000005000009F92810A02
|
|
2936
|
+
FE009F1B0400000000
|
|
2937
|
+
|
|
2938
|
+
Return: truefalse
|
|
2939
|
+
Remark: Payattentiontothedatalengthandformat
|
|
2940
|
+
```
|
|
2941
|
+
|
|
2942
|
+
## updateCAPK_TLV
|
|
2943
|
+
|
|
2944
|
+
UpdateCAPKParameters,UseTLVString
|
|
2945
|
+
cardSlot:ICC,PICC,UNKNOWN
|
|
2946
|
+
ICC-contact
|
|
2947
|
+
PICC-contactless
|
|
2948
|
+
UNKNOWN-contactandcontactless
|
|
2949
|
+
Tag:
|
|
2950
|
+
M:
|
|
2951
|
+
9F06:RID
|
|
2952
|
+
9F22:Index
|
|
2953
|
+
DF02:Modulus
|
|
2954
|
+
DF04:Exponent
|
|
2955
|
+
O:
|
|
2956
|
+
DF03:CheckSum
|
|
2957
|
+
DF05:ExpiredDate
|
|
2958
|
+
DF07:AlgorithmIndicator
|
|
2959
|
+
Note:M---Mandatory O--Optional
|
|
2960
|
+
|
|
2961
|
+
```java
|
|
2962
|
+
cardSlot,String TLV)
|
|
2963
|
+
```
|
|
2964
|
+
|
|
2965
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2966
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
2967
|
+
- **源文档章节:** 1.40
|
|
2968
|
+
|
|
2969
|
+
- Source section: `1.40`
|
|
2970
|
+
|
|
2971
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
2972
|
+
|
|
2973
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
2974
|
+
|
|
2975
|
+
|
|
2976
|
+
|
|
2977
|
+
Purpose:
|
|
2978
|
+
UpdateCAPKParameters,UseTLVString
|
|
2979
|
+
cardSlot:ICC,PICC,UNKNOWN
|
|
2980
|
+
ICC-contact
|
|
2981
|
+
PICC-contactless
|
|
2982
|
+
UNKNOWN-contactandcontactless
|
|
2983
|
+
Tag:
|
|
2984
|
+
M:
|
|
2985
|
+
9F06:RID
|
|
2986
|
+
9F22:Index
|
|
2987
|
+
DF02:Modulus
|
|
2988
|
+
DF04:Exponent
|
|
2989
|
+
O:
|
|
2990
|
+
DF03:CheckSum
|
|
2991
|
+
DF05:ExpiredDate
|
|
2992
|
+
DF07:AlgorithmIndicator
|
|
2993
|
+
Note:M---Mandatory O--Optional
|
|
2994
|
+
|
|
2995
|
+
|
|
2996
|
+
Signature/prototype:
|
|
2997
|
+
```java
|
|
2998
|
+
cardSlot,String TLV)
|
|
2999
|
+
```
|
|
3000
|
+
|
|
3001
|
+
|
|
3002
|
+
Parameters:
|
|
3003
|
+
Eg:
|
|
3004
|
+
9F0605A0000000039F220108DF040103DF050420401231DF0281B0
|
|
3005
|
+
D9FD6ED75D51D0E30664BD157023EAA1FFA871E4DA65672B863
|
|
3006
|
+
D255E81E137A51DE4F72BCC9E44ACE12127F87E263D3AF9DD9C
|
|
3007
|
+
F35CA4A7B01E907000BA85D24954C2FCA3074825DDD4C0C8F186
|
|
3008
|
+
CB020F683E02F2DEAD3969133F06F7845166ACEB57CA0FC26034
|
|
3009
|
+
45469811D293BFEFBAFAB57631B3DD91E796BF850A25012F1AE3
|
|
3010
|
+
8F05AA5C4D6D03B1DC2E568612785938BBC9B3CD3A910C1DA55
|
|
3011
|
+
A5A9218ACE0F7A21287752682F15832A678D6E1ED0BDF03130000
|
|
3012
|
+
0000000000000000000000000000000000
|
|
3013
|
+
Funs.Find_TLV
|
|
3014
|
+
Funs.AddChild_TLV
|
|
3015
|
+
Funs.New_TLV
|
|
3016
|
+
Funs.Remove_TLV
|
|
3017
|
+
YoucanusetheseApistoconstructTLV
|
|
3018
|
+
|
|
3019
|
+
|
|
3020
|
+
Return value:
|
|
3021
|
+
truefalse
|
|
3022
|
+
|
|
3023
|
+
|
|
3024
|
+
Usage notes:
|
|
3025
|
+
Payattentiontothedatalengthandformat
|
|
3026
|
+
|
|
3027
|
+
|
|
3028
|
+
Source details:
|
|
3029
|
+
```text
|
|
3030
|
+
Public boolean updateCAPK_TLV(ContantPara.CardSlot
|
|
3031
|
+
Declare: cardSlot,String TLV)
|
|
3032
|
+
Description: UpdateCAPKParameters,UseTLVString
|
|
3033
|
+
cardSlot:ICC,PICC,UNKNOWN
|
|
3034
|
+
ICC-contact
|
|
3035
|
+
PICC-contactless
|
|
3036
|
+
UNKNOWN-contactandcontactless
|
|
3037
|
+
Tag:
|
|
3038
|
+
M:
|
|
3039
|
+
9F06:RID
|
|
3040
|
+
9F22:Index
|
|
3041
|
+
DF02:Modulus
|
|
3042
|
+
DF04:Exponent
|
|
3043
|
+
O:
|
|
3044
|
+
DF03:CheckSum
|
|
3045
|
+
DF05:ExpiredDate
|
|
3046
|
+
DF07:AlgorithmIndicator
|
|
3047
|
+
Note:M---Mandatory O--Optional
|
|
3048
|
+
Parameters:
|
|
3049
|
+
Eg:
|
|
3050
|
+
9F0605A0000000039F220108DF040103DF050420401231DF0281B0
|
|
3051
|
+
D9FD6ED75D51D0E30664BD157023EAA1FFA871E4DA65672B863
|
|
3052
|
+
D255E81E137A51DE4F72BCC9E44ACE12127F87E263D3AF9DD9C
|
|
3053
|
+
F35CA4A7B01E907000BA85D24954C2FCA3074825DDD4C0C8F186
|
|
3054
|
+
CB020F683E02F2DEAD3969133F06F7845166ACEB57CA0FC26034
|
|
3055
|
+
45469811D293BFEFBAFAB57631B3DD91E796BF850A25012F1AE3
|
|
3056
|
+
8F05AA5C4D6D03B1DC2E568612785938BBC9B3CD3A910C1DA55
|
|
3057
|
+
A5A9218ACE0F7A21287752682F15832A678D6E1ED0BDF03130000
|
|
3058
|
+
Funs.Find_TLV
|
|
3059
|
+
Funs.AddChild_TLV
|
|
3060
|
+
Funs.New_TLV
|
|
3061
|
+
Funs.Remove_TLV
|
|
3062
|
+
YoucanusetheseApistoconstructTLV
|
|
3063
|
+
|
|
3064
|
+
Return: truefalse
|
|
3065
|
+
Remark: Payattentiontothedatalengthandformat
|
|
3066
|
+
```
|
|
3067
|
+
|
|
3068
|
+
## exportLogFilesToExternalStorage
|
|
3069
|
+
|
|
3070
|
+
Exportlogfilesfrominternalstoragetoexternalstorage
|
|
3071
|
+
|
|
3072
|
+
```java
|
|
3073
|
+
context)
|
|
3074
|
+
```
|
|
3075
|
+
|
|
3076
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3077
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
3078
|
+
- **源文档章节:** 1.41
|
|
3079
|
+
|
|
3080
|
+
- Source section: `1.41`
|
|
3081
|
+
|
|
3082
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3083
|
+
|
|
3084
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
3085
|
+
|
|
3086
|
+
|
|
3087
|
+
|
|
3088
|
+
Purpose:
|
|
3089
|
+
Exportlogfilesfrominternalstoragetoexternalstorage
|
|
3090
|
+
|
|
3091
|
+
|
|
3092
|
+
Signature/prototype:
|
|
3093
|
+
```java
|
|
3094
|
+
context)
|
|
3095
|
+
```
|
|
3096
|
+
|
|
3097
|
+
|
|
3098
|
+
Parameters:
|
|
3099
|
+
context:usedtogetinternalstoragepath
|
|
3100
|
+
|
|
3101
|
+
|
|
3102
|
+
Return value:
|
|
3103
|
+
truefalse
|
|
3104
|
+
|
|
3105
|
+
|
|
3106
|
+
Usage notes:
|
|
3107
|
+
usedtogetinternalstoragepath
|
|
3108
|
+
|
|
3109
|
+
|
|
3110
|
+
Source details:
|
|
3111
|
+
```text
|
|
3112
|
+
public static boolean exportLogFilesToExternalStorage(Context
|
|
3113
|
+
Declare:
|
|
3114
|
+
context)
|
|
3115
|
+
Description: Exportlogfilesfrominternalstoragetoexternalstorage
|
|
3116
|
+
Parameters: context:usedtogetinternalstoragepath
|
|
3117
|
+
Return: truefalse
|
|
3118
|
+
Remark: usedtogetinternalstoragepath
|
|
3119
|
+
```
|
|
3120
|
+
|
|
3121
|
+
## getNfcCvmCode
|
|
3122
|
+
|
|
3123
|
+
GetstheCVMcodefromthecurrentNFCtransaction
|
|
3124
|
+
|
|
3125
|
+
```java
|
|
3126
|
+
public int getNfcCvmCode()
|
|
3127
|
+
```
|
|
3128
|
+
|
|
3129
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3130
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
3131
|
+
- **源文档章节:** 1.42
|
|
3132
|
+
|
|
3133
|
+
- Source section: `1.42`
|
|
3134
|
+
|
|
3135
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3136
|
+
|
|
3137
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
|
|
3141
|
+
Purpose:
|
|
3142
|
+
GetstheCVMcodefromthecurrentNFCtransaction
|
|
3143
|
+
|
|
3144
|
+
|
|
3145
|
+
Signature/prototype:
|
|
3146
|
+
```java
|
|
3147
|
+
public int getNfcCvmCode()
|
|
3148
|
+
```
|
|
3149
|
+
|
|
3150
|
+
|
|
3151
|
+
Parameters:
|
|
3152
|
+
null
|
|
3153
|
+
Anintegercodeindicatingtherequiredverificationmethod.
|
|
3154
|
+
0x00-Noverificationrequired(NOCVM)
|
|
3155
|
+
0x10-Signatureverificationrequired(SIGNATURE)
|
|
3156
|
+
|
|
3157
|
+
|
|
3158
|
+
Return value:
|
|
3159
|
+
0x20-OnlinePINverificationrequired(ONLINEPIN)
|
|
3160
|
+
0x30-Confirmationcodehasbeenverified(CONFIRMATION
|
|
3161
|
+
CODEVERIFIED)
|
|
3162
|
+
0xF0-NotApplicable(N/A)
|
|
3163
|
+
|
|
3164
|
+
|
|
3165
|
+
Usage notes:
|
|
3166
|
+
None
|
|
3167
|
+
|
|
3168
|
+
|
|
3169
|
+
Source details:
|
|
3170
|
+
```text
|
|
3171
|
+
Declare: public int getNfcCvmCode()
|
|
3172
|
+
Description: GetstheCVMcodefromthecurrentNFCtransaction
|
|
3173
|
+
Parameters: null
|
|
3174
|
+
Anintegercodeindicatingtherequiredverificationmethod.
|
|
3175
|
+
0x00-Noverificationrequired(NOCVM)
|
|
3176
|
+
0x10-Signatureverificationrequired(SIGNATURE)
|
|
3177
|
+
Return: 0x20-OnlinePINverificationrequired(ONLINEPIN)
|
|
3178
|
+
0x30-Confirmationcodehasbeenverified(CONFIRMATION
|
|
3179
|
+
CODEVERIFIED)
|
|
3180
|
+
0xF0-NotApplicable(N/A)
|
|
3181
|
+
Remark: None
|
|
3182
|
+
```
|
|
3183
|
+
|
|
3184
|
+
## getODAstatus
|
|
3185
|
+
|
|
3186
|
+
GetstheODAresultofthetransaction
|
|
3187
|
+
|
|
3188
|
+
```java
|
|
3189
|
+
publicbyte getODAstatus()
|
|
3190
|
+
```
|
|
3191
|
+
|
|
3192
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3193
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
3194
|
+
- **源文档章节:** 1.43
|
|
3195
|
+
|
|
3196
|
+
- Source section: `1.43`
|
|
3197
|
+
|
|
3198
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3199
|
+
|
|
3200
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
3201
|
+
|
|
3202
|
+
|
|
3203
|
+
|
|
3204
|
+
Purpose:
|
|
3205
|
+
GetstheODAresultofthetransaction
|
|
3206
|
+
|
|
3207
|
+
|
|
3208
|
+
Signature/prototype:
|
|
3209
|
+
```java
|
|
3210
|
+
publicbyte getODAstatus()
|
|
3211
|
+
```
|
|
3212
|
+
|
|
3213
|
+
|
|
3214
|
+
Parameters:
|
|
3215
|
+
null
|
|
3216
|
+
0x01 SDAFail
|
|
3217
|
+
0x02 DDAFail
|
|
3218
|
+
0x03 CDAFail
|
|
3219
|
+
0x04 FDDAFail
|
|
3220
|
+
|
|
3221
|
+
|
|
3222
|
+
Return value:
|
|
3223
|
+
0x81 SDASUCESS
|
|
3224
|
+
0x82 DDASUCESS
|
|
3225
|
+
0x83 CDASUCESS
|
|
3226
|
+
0x84 FDDASUCESS
|
|
3227
|
+
|
|
3228
|
+
|
|
3229
|
+
Usage notes:
|
|
3230
|
+
onlyusedformastercardandvisacard
|
|
3231
|
+
|
|
3232
|
+
|
|
3233
|
+
Source details:
|
|
3234
|
+
```text
|
|
3235
|
+
Declare: publicbyte getODAstatus()
|
|
3236
|
+
Description: GetstheODAresultofthetransaction
|
|
3237
|
+
Parameters: null
|
|
3238
|
+
0x01 SDAFail
|
|
3239
|
+
0x02 DDAFail
|
|
3240
|
+
0x03 CDAFail
|
|
3241
|
+
0x04 FDDAFail
|
|
3242
|
+
Return:
|
|
3243
|
+
0x81 SDASUCESS
|
|
3244
|
+
0x82 DDASUCESS
|
|
3245
|
+
0x83 CDASUCESS
|
|
3246
|
+
0x84 FDDASUCESS
|
|
3247
|
+
|
|
3248
|
+
Remark: onlyusedformastercardandvisacard
|
|
3249
|
+
```
|
|
3250
|
+
|
|
3251
|
+
## setApproveRespcodeList
|
|
3252
|
+
|
|
3253
|
+
transactionfromthehost.
|
|
3254
|
+
respcodeList:AuthorisationResponseCodeList,Separatewith'|'.such
|
|
3255
|
+
|
|
3256
|
+
```java
|
|
3257
|
+
public boolean setApproveRespcodeList(StringrespcodeList)
|
|
3258
|
+
```
|
|
3259
|
+
|
|
3260
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3261
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
3262
|
+
- **源文档章节:** 1.44
|
|
3263
|
+
|
|
3264
|
+
- Source section: `1.44`
|
|
3265
|
+
|
|
3266
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
3267
|
+
|
|
3268
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
3269
|
+
|
|
3270
|
+
|
|
3271
|
+
|
|
3272
|
+
Purpose:
|
|
3273
|
+
transactionfromthehost.
|
|
3274
|
+
respcodeList:AuthorisationResponseCodeList,Separatewith'|'.such
|
|
3275
|
+
|
|
3276
|
+
|
|
3277
|
+
Signature/prototype:
|
|
3278
|
+
```java
|
|
3279
|
+
public boolean setApproveRespcodeList(StringrespcodeList)
|
|
3280
|
+
```
|
|
3281
|
+
|
|
3282
|
+
|
|
3283
|
+
Parameters:
|
|
3284
|
+
as"00|10|11"
|
|
3285
|
+
|
|
3286
|
+
|
|
3287
|
+
Return value:
|
|
3288
|
+
trueorfalse
|
|
3289
|
+
|
|
3290
|
+
|
|
3291
|
+
Usage notes:
|
|
3292
|
+
onlyusedforcontacttrade.
|
|
3293
|
+
2.Callback function
|
|
3294
|
+
|
|
3295
|
+
|
|
3296
|
+
Source details:
|
|
3297
|
+
```text
|
|
3298
|
+
Declare: public boolean setApproveRespcodeList(StringrespcodeList)
|
|
3299
|
+
SettheAuthorizationResponseCodelistthatindicatesanapproved
|
|
3300
|
+
Description:
|
|
3301
|
+
transactionfromthehost.
|
|
3302
|
+
respcodeList:AuthorisationResponseCodeList,Separatewith'|'.such
|
|
3303
|
+
Parameters:
|
|
3304
|
+
as"00|10|11"
|
|
3305
|
+
Return: trueorfalse
|
|
3306
|
+
Remark: onlyusedforcontacttrade.
|
|
3307
|
+
2.Callback function
|
|
3308
|
+
```
|