@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.
Files changed (42) hide show
  1. package/README.md +176 -0
  2. package/docs/00-overview.md +37 -0
  3. package/docs/01-integration/android-permissions.md +22 -0
  4. package/docs/01-integration/quickstart-zh.md +54 -0
  5. package/docs/02-reference/emv/emv-api.md +3308 -0
  6. package/docs/02-reference/emv/emv-appendix.md +112 -0
  7. package/docs/02-reference/emv/emv-callback.md +1155 -0
  8. package/docs/02-reference/emv/emv-enum.md +324 -0
  9. package/docs/02-reference/error-codes.md +59 -0
  10. package/docs/02-reference/general/beeper.md +160 -0
  11. package/docs/02-reference/general/devicemanager.md +460 -0
  12. package/docs/02-reference/general/insertcardreader.md +307 -0
  13. package/docs/02-reference/general/install-manager.md +202 -0
  14. package/docs/02-reference/general/led-light.md +144 -0
  15. package/docs/02-reference/general/magcardreader.md +191 -0
  16. package/docs/02-reference/general/pinpad.md +3309 -0
  17. package/docs/02-reference/general/printer.md +1410 -0
  18. package/docs/02-reference/general/psam2.md +55 -0
  19. package/docs/02-reference/general/rfcardreader.md +1090 -0
  20. package/docs/02-reference/general/scanner-custom.md +196 -0
  21. package/docs/02-reference/general/scanner.md +214 -0
  22. package/docs/02-reference/general/sdk-log-output-management.md +124 -0
  23. package/docs/02-reference/general/serial-port-deprecated-suggest-using-module-14-serialtool.md +406 -0
  24. package/docs/02-reference/general/serial-port.md +326 -0
  25. package/docs/02-reference/general/sle4428-4436-4442.md +1890 -0
  26. package/docs/02-reference/general/system-manager.md +212 -0
  27. package/docs/02-reference/module-index.md +30 -0
  28. package/docs/02-reference/source-emv_sdk.md +3927 -0
  29. package/docs/02-reference/source-general_sdk.md +8978 -0
  30. package/docs/02-reference/undocumented/kiosk-lock-task.md +92 -0
  31. package/docs/03-demo/activity-map.md +27 -0
  32. package/docs/api-registry.json +4733 -0
  33. package/docs/search-index.json +2688 -0
  34. package/docs/source/emv_sdk.md +3927 -0
  35. package/docs/source/general_sdk.md +8978 -0
  36. package/docs/source/kiosk_lock_task.md +86 -0
  37. package/package.json +36 -0
  38. package/src/launch.js +22 -0
  39. package/src/lib/check-update.js +92 -0
  40. package/src/lib/create-mcp-server.js +90 -0
  41. package/src/lib/docs-tools.js +206 -0
  42. 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
+ ```