@urovotest/urovosdk-docs-mcp 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +176 -0
- package/docs/00-overview.md +37 -0
- package/docs/01-integration/android-permissions.md +22 -0
- package/docs/01-integration/quickstart-zh.md +54 -0
- package/docs/02-reference/emv/emv-api.md +3308 -0
- package/docs/02-reference/emv/emv-appendix.md +112 -0
- package/docs/02-reference/emv/emv-callback.md +1155 -0
- package/docs/02-reference/emv/emv-enum.md +324 -0
- package/docs/02-reference/error-codes.md +59 -0
- package/docs/02-reference/general/beeper.md +160 -0
- package/docs/02-reference/general/devicemanager.md +460 -0
- package/docs/02-reference/general/insertcardreader.md +307 -0
- package/docs/02-reference/general/install-manager.md +202 -0
- package/docs/02-reference/general/led-light.md +144 -0
- package/docs/02-reference/general/magcardreader.md +191 -0
- package/docs/02-reference/general/pinpad.md +3309 -0
- package/docs/02-reference/general/printer.md +1410 -0
- package/docs/02-reference/general/psam2.md +55 -0
- package/docs/02-reference/general/rfcardreader.md +1090 -0
- package/docs/02-reference/general/scanner-custom.md +196 -0
- package/docs/02-reference/general/scanner.md +214 -0
- package/docs/02-reference/general/sdk-log-output-management.md +124 -0
- package/docs/02-reference/general/serial-port-deprecated-suggest-using-module-14-serialtool.md +406 -0
- package/docs/02-reference/general/serial-port.md +326 -0
- package/docs/02-reference/general/sle4428-4436-4442.md +1890 -0
- package/docs/02-reference/general/system-manager.md +212 -0
- package/docs/02-reference/module-index.md +30 -0
- package/docs/02-reference/source-emv_sdk.md +3927 -0
- package/docs/02-reference/source-general_sdk.md +8978 -0
- package/docs/02-reference/undocumented/kiosk-lock-task.md +92 -0
- package/docs/03-demo/activity-map.md +27 -0
- package/docs/api-registry.json +4733 -0
- package/docs/search-index.json +2688 -0
- package/docs/source/emv_sdk.md +3927 -0
- package/docs/source/general_sdk.md +8978 -0
- package/docs/source/kiosk_lock_task.md +86 -0
- package/package.json +36 -0
- package/src/launch.js +22 -0
- package/src/lib/check-update.js +92 -0
- package/src/lib/create-mcp-server.js +90 -0
- package/src/lib/docs-tools.js +206 -0
- package/src/server.js +10 -0
|
@@ -0,0 +1,1155 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: EMV Callback API
|
|
3
|
+
module: EMV Callback
|
|
4
|
+
domain: emv
|
|
5
|
+
tags: ["emv", "emv-callback", "emv callback"]
|
|
6
|
+
---
|
|
7
|
+
# EMV Callback
|
|
8
|
+
|
|
9
|
+
共 **19** 个 API/条目,来源 `emv_sdk.md`。
|
|
10
|
+
|
|
11
|
+
## API 索引
|
|
12
|
+
|
|
13
|
+
| 方法 | 类路径 | Demo Activity |
|
|
14
|
+
|------|--------|---------------|
|
|
15
|
+
| [onRequestSetAmount](#onrequestsetamount) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
16
|
+
| [onRequestConfirmCardno](#onrequestconfirmcardno) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
17
|
+
| [onReturnCheckCardResult](#onreturncheckcardresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
18
|
+
| [onRequestSelectApplication](#onrequestselectapplication) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
19
|
+
| [onRequestPinEntry](#onrequestpinentry) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
20
|
+
| [onRequestFinalConfirm](#onrequestfinalconfirm) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
21
|
+
| [onRequestOnlineProcess](#onrequestonlineprocess) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
22
|
+
| [onReturnBatchData](#onreturnbatchdata) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
23
|
+
| [onReturnTransactionResult](#onreturntransactionresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
24
|
+
| [onRequestDisplayText](#onrequestdisplaytext) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
25
|
+
| [onRequestOfflinePinEntry](#onrequestofflinepinentry) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
26
|
+
| [onRequestOfflinePINVerify](#onrequestofflinepinverify) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
27
|
+
| [onReturnIssuerScriptResult](#onreturnissuerscriptresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
28
|
+
| [onNFCrequestTipsConfirm](#onnfcrequesttipsconfirm) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
29
|
+
| [onNFCrequestOnline](#onnfcrequestonline) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
30
|
+
| [onNFCrequestImportPin](#onnfcrequestimportpin) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
31
|
+
| [onNFCTransResult](#onnfctransresult) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
32
|
+
| [onNFCErrorInfor](#onnfcerrorinfor) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
33
|
+
| [onReturnNfcCardData](#onreturnnfccarddata) | `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener` | EmvActivityNew |
|
|
34
|
+
|
|
35
|
+
## onRequestSetAmount
|
|
36
|
+
|
|
37
|
+
atstartEmv,thiscallback will not betriggered.Tocancelthe
|
|
38
|
+
process,call cancelSetAmount.
|
|
39
|
+
|
|
40
|
+
```java
|
|
41
|
+
voidonRequestSetAmount()
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
45
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
46
|
+
- **源文档章节:** 2.01
|
|
47
|
+
|
|
48
|
+
- Source section: `2.01`
|
|
49
|
+
|
|
50
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
51
|
+
|
|
52
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Purpose:
|
|
57
|
+
atstartEmv,thiscallback will not betriggered.Tocancelthe
|
|
58
|
+
process,call cancelSetAmount.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
Signature/prototype:
|
|
62
|
+
```java
|
|
63
|
+
voidonRequestSetAmount()
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Return value:
|
|
68
|
+
None
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
Simplified example:
|
|
72
|
+
```java
|
|
73
|
+
public void onRequestSetAmount() {
|
|
74
|
+
emv.setAmountEx(100L, 0L);
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
Source details:
|
|
80
|
+
```text
|
|
81
|
+
Declare: voidonRequestSetAmount()
|
|
82
|
+
Requestinput of amountin theEMV process.If amountis input
|
|
83
|
+
Description: atstartEmv,thiscallback will not betriggered.Tocancelthe
|
|
84
|
+
process,call cancelSetAmount.
|
|
85
|
+
Return: None
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## onRequestConfirmCardno
|
|
89
|
+
|
|
90
|
+
Confirm theCardnumber,shouldcallsendConfirmCardnoResult(true)
|
|
91
|
+
|
|
92
|
+
```java
|
|
93
|
+
voidonRequestConfirmCardno()
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
97
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
98
|
+
- **源文档章节:** 2.02
|
|
99
|
+
|
|
100
|
+
- Source section: `2.02`
|
|
101
|
+
|
|
102
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
103
|
+
|
|
104
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
Purpose:
|
|
109
|
+
Confirm theCardnumber,shouldcallsendConfirmCardnoResult(true)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
Signature/prototype:
|
|
113
|
+
```java
|
|
114
|
+
voidonRequestConfirmCardno()
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
Simplified example:
|
|
119
|
+
```java
|
|
120
|
+
public void onRequestConfirmCardno() {
|
|
121
|
+
emv.sendConfirmCardnoResult(true);
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
Source details:
|
|
127
|
+
```text
|
|
128
|
+
Declare: voidonRequestConfirmCardno()
|
|
129
|
+
Description:
|
|
130
|
+
Confirm theCardnumber,shouldcallsendConfirmCardnoResult(true)
|
|
131
|
+
Return:
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## onReturnCheckCardResult
|
|
135
|
+
|
|
136
|
+
card.
|
|
137
|
+
|
|
138
|
+
•Seeenum CheckCardResult
|
|
139
|
+
Key: StripInfo
|
|
140
|
+
|
|
141
|
+
```java
|
|
142
|
+
checkCardResult, Hashtable<String,String>
|
|
143
|
+
decodeData)
|
|
144
|
+
Returntheresultsinresponsetoaswiped, insertedor tapped
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
148
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
149
|
+
- **源文档章节:** 2.03
|
|
150
|
+
|
|
151
|
+
- Source section: `2.03`
|
|
152
|
+
|
|
153
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
154
|
+
|
|
155
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
Purpose:
|
|
160
|
+
card.
|
|
161
|
+
|
|
162
|
+
•Seeenum CheckCardResult
|
|
163
|
+
Key: StripInfo
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
Signature/prototype:
|
|
167
|
+
```java
|
|
168
|
+
checkCardResult, Hashtable<String,String>
|
|
169
|
+
decodeData)
|
|
170
|
+
Returntheresultsinresponsetoaswiped, insertedor tapped
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
Return value:
|
|
175
|
+
CardNo
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
Source details:
|
|
179
|
+
```text
|
|
180
|
+
voidonReturnCheckCardResult(CheckCardResult
|
|
181
|
+
Declare: checkCardResult, Hashtable<String,String>
|
|
182
|
+
decodeData)
|
|
183
|
+
Returntheresultsinresponsetoaswiped, insertedor tapped
|
|
184
|
+
Description:
|
|
185
|
+
card.
|
|
186
|
+
|
|
187
|
+
•Seeenum CheckCardResult
|
|
188
|
+
Key: StripInfo
|
|
189
|
+
Return: CardNo
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## onRequestSelectApplication
|
|
193
|
+
|
|
194
|
+
canceltheprocess, call cancelSelectApplication.
|
|
195
|
+
Returnalist of applications supportedbythemPOSdevice and
|
|
196
|
+
|
|
197
|
+
```java
|
|
198
|
+
voidonRequestSelectApplication(ArrayList<String> appList)
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
202
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
203
|
+
- **源文档章节:** 2.04
|
|
204
|
+
|
|
205
|
+
- Source section: `2.04`
|
|
206
|
+
|
|
207
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
208
|
+
|
|
209
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
Purpose:
|
|
214
|
+
canceltheprocess, call cancelSelectApplication.
|
|
215
|
+
Returnalist of applications supportedbythemPOSdevice and
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
Signature/prototype:
|
|
219
|
+
```java
|
|
220
|
+
voidonRequestSelectApplication(ArrayList<String> appList)
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
Return value:
|
|
225
|
+
theEMV chipcard.Theapplications aresortedbypriority,where
|
|
226
|
+
index0 isthehighestpriority.
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
Simplified example:
|
|
230
|
+
```java
|
|
231
|
+
public void onRequestSelectApplication(ArrayList<String> apps) {
|
|
232
|
+
emv.selectApplication(0);
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
Source details:
|
|
238
|
+
```text
|
|
239
|
+
Declare: voidonRequestSelectApplication(ArrayList<String> appList)
|
|
240
|
+
Requestselection of anapplication from thereturnedlist.To
|
|
241
|
+
Description:
|
|
242
|
+
canceltheprocess, call cancelSelectApplication.
|
|
243
|
+
Returnalist of applications supportedbythemPOSdevice and
|
|
244
|
+
Return: theEMV chipcard.Theapplications aresortedbypriority,where
|
|
245
|
+
index0 isthehighestpriority.
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## onRequestPinEntry
|
|
249
|
+
|
|
250
|
+
theprocess, call cancelPinEntry.This callbackcan betriggered
|
|
251
|
+
bystartKernel.
|
|
252
|
+
IndicatethePINentrysource, seePinEntrySource
|
|
253
|
+
|
|
254
|
+
```java
|
|
255
|
+
voidonRequestPinEntry(PinEntrySource pinEntrySource)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
259
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
260
|
+
- **源文档章节:** 2.05
|
|
261
|
+
|
|
262
|
+
- Source section: `2.05`
|
|
263
|
+
|
|
264
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
265
|
+
|
|
266
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
Purpose:
|
|
271
|
+
theprocess, call cancelPinEntry.This callbackcan betriggered
|
|
272
|
+
bystartKernel.
|
|
273
|
+
IndicatethePINentrysource, seePinEntrySource
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
Signature/prototype:
|
|
277
|
+
```java
|
|
278
|
+
voidonRequestPinEntry(PinEntrySource pinEntrySource)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
Return value:
|
|
283
|
+
enumeration.
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
Simplified example:
|
|
287
|
+
```java
|
|
288
|
+
public void onRequestPinEntry(ContantPara.PinEntrySource source) {
|
|
289
|
+
emv.sendPinEntry();
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
Source details:
|
|
295
|
+
```text
|
|
296
|
+
Declare: voidonRequestPinEntry(PinEntrySource pinEntrySource)
|
|
297
|
+
RequestPIN entryfrom thespecifiedPinEntrySource.Tocancel
|
|
298
|
+
Description: theprocess, call cancelPinEntry.This callbackcan betriggered
|
|
299
|
+
bystartKernel.
|
|
300
|
+
IndicatethePINentrysource, seePinEntrySource
|
|
301
|
+
Return:
|
|
302
|
+
enumeration.
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## onRequestFinalConfirm
|
|
306
|
+
|
|
307
|
+
thefirst generateAC command.Toproceedor cancelthe
|
|
308
|
+
transaction, call sendFinalConfirmResult.
|
|
309
|
+
|
|
310
|
+
```java
|
|
311
|
+
voidonRequestFinalConfirm()
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
315
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
316
|
+
- **源文档章节:** 2.06
|
|
317
|
+
|
|
318
|
+
- Source section: `2.06`
|
|
319
|
+
|
|
320
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
321
|
+
|
|
322
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
Purpose:
|
|
327
|
+
thefirst generateAC command.Toproceedor cancelthe
|
|
328
|
+
transaction, call sendFinalConfirmResult.
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
Signature/prototype:
|
|
332
|
+
```java
|
|
333
|
+
voidonRequestFinalConfirm()
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
Return value:
|
|
338
|
+
None
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
Source details:
|
|
342
|
+
```text
|
|
343
|
+
Declare: voidonRequestFinalConfirm()
|
|
344
|
+
TheEMV processrequest fora finalconfirmation beforecalling
|
|
345
|
+
Description: thefirst generateAC command.Toproceedor cancelthe
|
|
346
|
+
transaction, call sendFinalConfirmResult.
|
|
347
|
+
Return: None
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## onRequestOnlineProcess
|
|
351
|
+
|
|
352
|
+
transaction, call sendOnlineProcessResult.
|
|
353
|
+
|
|
354
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
355
|
+
besent backtoonline server.
|
|
356
|
+
|
|
357
|
+
```java
|
|
358
|
+
voidonRequestOnlineProcess(String tlv,StringdataKsn)
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
362
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
363
|
+
- **源文档章节:** 2.07
|
|
364
|
+
|
|
365
|
+
- Source section: `2.07`
|
|
366
|
+
|
|
367
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
368
|
+
|
|
369
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
Purpose:
|
|
374
|
+
transaction, call sendOnlineProcessResult.
|
|
375
|
+
|
|
376
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
377
|
+
besent backtoonline server.
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
Signature/prototype:
|
|
381
|
+
```java
|
|
382
|
+
voidonRequestOnlineProcess(String tlv,StringdataKsn)
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
Return value:
|
|
387
|
+
Tlv:TLVdata
|
|
388
|
+
dataKsn:KSN fordataencryption
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
Simplified example:
|
|
392
|
+
```java
|
|
393
|
+
public void onRequestOnlineProcess(String cardTlvData, String dataKsn) {
|
|
394
|
+
// Send cardTlvData as field 55, then return issuer TLV.
|
|
395
|
+
emv.sendOnlineProcessResult("8A023030");
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
Source details:
|
|
401
|
+
```text
|
|
402
|
+
Declare: voidonRequestOnlineProcess(String tlv,StringdataKsn)
|
|
403
|
+
Requestthetransactiongo online.Toproceedor terminatethe
|
|
404
|
+
Description:
|
|
405
|
+
transaction, call sendOnlineProcessResult.
|
|
406
|
+
|
|
407
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
408
|
+
besent backtoonline server.
|
|
409
|
+
Return:
|
|
410
|
+
Tlv:TLVdata
|
|
411
|
+
dataKsn:KSN fordataencryption
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
## onReturnBatchData
|
|
415
|
+
|
|
416
|
+
Returnthebatchdataafter completionof an EMV transaction.
|
|
417
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
418
|
+
|
|
419
|
+
```java
|
|
420
|
+
voidonReturnBatchData(String tlv)
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
424
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
425
|
+
- **源文档章节:** 2.08
|
|
426
|
+
|
|
427
|
+
- Source section: `2.08`
|
|
428
|
+
|
|
429
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
430
|
+
|
|
431
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
Purpose:
|
|
436
|
+
Returnthebatchdataafter completionof an EMV transaction.
|
|
437
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
Signature/prototype:
|
|
441
|
+
```java
|
|
442
|
+
voidonReturnBatchData(String tlv)
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
Return value:
|
|
447
|
+
besent backtoserver forprocessing.(Usein offlineapprove)
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
Source details:
|
|
451
|
+
```text
|
|
452
|
+
Declare: voidonReturnBatchData(String tlv)
|
|
453
|
+
Description: Returnthebatchdataafter completionof an EMV transaction.
|
|
454
|
+
Aset of transaction datainTag-Length-Valueformatthat should
|
|
455
|
+
Return:
|
|
456
|
+
besent backtoserver forprocessing.(Usein offlineapprove)
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
## onReturnTransactionResult
|
|
460
|
+
|
|
461
|
+
Returnthetransactionresult.
|
|
462
|
+
Indicatethetransactionresult, seeTransactionResult
|
|
463
|
+
|
|
464
|
+
```java
|
|
465
|
+
voidonReturnTransactionResult(TransactionResult transResult)
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
469
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
470
|
+
- **源文档章节:** 2.09
|
|
471
|
+
|
|
472
|
+
- Source section: `2.09`
|
|
473
|
+
|
|
474
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
475
|
+
|
|
476
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
Purpose:
|
|
481
|
+
Returnthetransactionresult.
|
|
482
|
+
Indicatethetransactionresult, seeTransactionResult
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
Signature/prototype:
|
|
486
|
+
```java
|
|
487
|
+
voidonReturnTransactionResult(TransactionResult transResult)
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
Return value:
|
|
492
|
+
enumeration.
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
Simplified example:
|
|
496
|
+
```java
|
|
497
|
+
public void onReturnTransactionResult(ContantPara.TransactionResult result) {
|
|
498
|
+
if (result == ContantPara.TransactionResult.ONLINE_APPROVAL ||
|
|
499
|
+
result == ContantPara.TransactionResult.OFFLINE_APPROVAL) {
|
|
500
|
+
// complete approved transaction
|
|
501
|
+
} else {
|
|
502
|
+
// decline, reverse, or show failure according to business rules
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
Source details:
|
|
509
|
+
```text
|
|
510
|
+
Declare: voidonReturnTransactionResult(TransactionResult transResult)
|
|
511
|
+
Description: Returnthetransactionresult.
|
|
512
|
+
Indicatethetransactionresult, seeTransactionResult
|
|
513
|
+
Return:
|
|
514
|
+
enumeration.
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
## onRequestDisplayText
|
|
518
|
+
|
|
519
|
+
Returnthemessage toprompt customer.
|
|
520
|
+
Indicatethemessageto bedisplayed, seeDisplayText
|
|
521
|
+
|
|
522
|
+
```java
|
|
523
|
+
voidonRequestDisplayText(DisplayText displayText)
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
527
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
528
|
+
- **源文档章节:** 2.10
|
|
529
|
+
|
|
530
|
+
- Source section: `2.10`
|
|
531
|
+
|
|
532
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
533
|
+
|
|
534
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
Purpose:
|
|
539
|
+
Returnthemessage toprompt customer.
|
|
540
|
+
Indicatethemessageto bedisplayed, seeDisplayText
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
Signature/prototype:
|
|
544
|
+
```java
|
|
545
|
+
voidonRequestDisplayText(DisplayText displayText)
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
Return value:
|
|
550
|
+
enumeration.
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
Source details:
|
|
554
|
+
```text
|
|
555
|
+
Declare: voidonRequestDisplayText(DisplayText displayText)
|
|
556
|
+
Description: Returnthemessage toprompt customer.
|
|
557
|
+
Indicatethemessageto bedisplayed, seeDisplayText
|
|
558
|
+
Return:
|
|
559
|
+
enumeration.
|
|
560
|
+
```
|
|
561
|
+
|
|
562
|
+
## onRequestOfflinePinEntry
|
|
563
|
+
|
|
564
|
+
Usuallynotuse
|
|
565
|
+
|
|
566
|
+
```java
|
|
567
|
+
pinEntrySource,int PinTryCount);
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
571
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
572
|
+
- **源文档章节:** 2.11
|
|
573
|
+
|
|
574
|
+
- Source section: `2.11`
|
|
575
|
+
|
|
576
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
577
|
+
|
|
578
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
Purpose:
|
|
583
|
+
Usuallynotuse
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
Signature/prototype:
|
|
587
|
+
```java
|
|
588
|
+
pinEntrySource,int PinTryCount);
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
Source details:
|
|
593
|
+
```text
|
|
594
|
+
voidonRequestOfflinePinEntry(ContantPara.PinEntrySource
|
|
595
|
+
Declare:
|
|
596
|
+
pinEntrySource,int PinTryCount);
|
|
597
|
+
Description: Usuallynotuse
|
|
598
|
+
Return:
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
## onRequestOfflinePINVerify
|
|
602
|
+
|
|
603
|
+
Offlinepinverify(use inAndroidos8.0)
|
|
604
|
+
|
|
605
|
+
```java
|
|
606
|
+
pinEntrySource,int pinEntryType, Bundlebundle);
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
610
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
611
|
+
- **源文档章节:** 2.12
|
|
612
|
+
|
|
613
|
+
- Source section: `2.12`
|
|
614
|
+
|
|
615
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
616
|
+
|
|
617
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
Purpose:
|
|
622
|
+
Offlinepinverify(use inAndroidos8.0)
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
Signature/prototype:
|
|
626
|
+
```java
|
|
627
|
+
pinEntrySource,int pinEntryType, Bundlebundle);
|
|
628
|
+
```
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
Parameters:
|
|
632
|
+
pinEntrySource-seeeuam ContantPara.PinEntrySource
|
|
633
|
+
|
|
634
|
+
pinEntryType:0-----Offline PlainPin1--- OfflineencryptionPin
|
|
635
|
+
bundle:key: ModuleLen
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
Return value:
|
|
639
|
+
Module
|
|
640
|
+
ExponentLen
|
|
641
|
+
Exponent
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
Usage notes:
|
|
645
|
+
Pleasecheckthesampledemoapp
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
Simplified example:
|
|
649
|
+
```java
|
|
650
|
+
public void onRequestOfflinePINVerify(ContantPara.PinEntrySource source, int type, Bundle data) {
|
|
651
|
+
int retries = emv.getOfflinePinTryTimes();
|
|
652
|
+
// collect offline PIN, then call sendOfflinePINVerifyResult(result) when required
|
|
653
|
+
}
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
Source details:
|
|
658
|
+
```text
|
|
659
|
+
voidonRequestOfflinePINVerify(ContantPara.PinEntrySource
|
|
660
|
+
Declare:
|
|
661
|
+
pinEntrySource,int pinEntryType, Bundlebundle);
|
|
662
|
+
Description: Offlinepinverify(use inAndroidos8.0)
|
|
663
|
+
Parameters: pinEntrySource-seeeuam ContantPara.PinEntrySource
|
|
664
|
+
|
|
665
|
+
pinEntryType:0-----Offline PlainPin1--- OfflineencryptionPin
|
|
666
|
+
bundle:key: ModuleLen
|
|
667
|
+
Return: Module
|
|
668
|
+
ExponentLen
|
|
669
|
+
Exponent
|
|
670
|
+
Remark: Pleasecheckthesampledemoapp
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
## onReturnIssuerScriptResult
|
|
674
|
+
|
|
675
|
+
Tlv:-field55data
|
|
676
|
+
|
|
677
|
+
```java
|
|
678
|
+
onReturnIssuerScriptResult(ContantPara.IssuerScriptResult
|
|
679
|
+
scriptResult,String tlv)
|
|
680
|
+
ReturnScriptResult,tagDF31isscarptresult
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
684
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
685
|
+
- **源文档章节:** 2.13
|
|
686
|
+
|
|
687
|
+
- Source section: `2.13`
|
|
688
|
+
|
|
689
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
690
|
+
|
|
691
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
Purpose:
|
|
696
|
+
Tlv:-field55data
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
Signature/prototype:
|
|
700
|
+
```java
|
|
701
|
+
onReturnIssuerScriptResult(ContantPara.IssuerScriptResult
|
|
702
|
+
scriptResult,String tlv)
|
|
703
|
+
ReturnScriptResult,tagDF31isscarptresult
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
Return value:
|
|
708
|
+
none
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
Source details:
|
|
712
|
+
```text
|
|
713
|
+
void
|
|
714
|
+
Declare: onReturnIssuerScriptResult(ContantPara.IssuerScriptResult
|
|
715
|
+
scriptResult,String tlv)
|
|
716
|
+
ReturnScriptResult,tagDF31isscarptresult
|
|
717
|
+
Description:
|
|
718
|
+
Tlv:-field55data
|
|
719
|
+
Return: none
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
## onNFCrequestTipsConfirm
|
|
723
|
+
|
|
724
|
+
messageID:checkenumNfcTipMessageID
|
|
725
|
+
msg:
|
|
726
|
+
PLS_REMOVE_CARD,
|
|
727
|
+
PLS_USE_CONTACT_IC_CARD,//1
|
|
728
|
+
NEED_SIGNATURE,//2
|
|
729
|
+
END_APPLICATION,//3
|
|
730
|
+
SEE_PHONE_REMOVE_AND_PRESENT_CARD,//4
|
|
731
|
+
DISPLAY_BALANCE,//5
|
|
732
|
+
|
|
733
|
+
```java
|
|
734
|
+
messageID,Stringmsg);
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
738
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
739
|
+
- **源文档章节:** 2.14
|
|
740
|
+
|
|
741
|
+
- Source section: `2.14`
|
|
742
|
+
|
|
743
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
744
|
+
|
|
745
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
Purpose:
|
|
750
|
+
messageID:checkenumNfcTipMessageID
|
|
751
|
+
msg:
|
|
752
|
+
PLS_REMOVE_CARD,
|
|
753
|
+
PLS_USE_CONTACT_IC_CARD,//1
|
|
754
|
+
NEED_SIGNATURE,//2
|
|
755
|
+
END_APPLICATION,//3
|
|
756
|
+
SEE_PHONE_REMOVE_AND_PRESENT_CARD,//4
|
|
757
|
+
DISPLAY_BALANCE,//5
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
Signature/prototype:
|
|
761
|
+
```java
|
|
762
|
+
messageID,Stringmsg);
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
Parameters:
|
|
767
|
+
CARD_READ_OK,//6
|
|
768
|
+
PLS_SECOND_TAP_CARD,//7
|
|
769
|
+
APPLICATION_BLOCKED,//8
|
|
770
|
+
TRY_AGAIN_RESENT_CARD,//9
|
|
771
|
+
USE_MAG_STRIPE,//10
|
|
772
|
+
INSERT_SWIPE_OR_TRY_ANOTHER_CARD,//11
|
|
773
|
+
TERMINATE,
|
|
774
|
+
CARD_ERROR,
|
|
775
|
+
PROCESSING_ERROR,
|
|
776
|
+
UNKNOW
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
Usage notes:
|
|
780
|
+
CalledatprocessPayPassKernel
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
Source details:
|
|
784
|
+
```text
|
|
785
|
+
void onNFCrequestTipsConfirm(ContantPara.NfcTipMessageID
|
|
786
|
+
Declare:
|
|
787
|
+
messageID,Stringmsg);
|
|
788
|
+
Requestapplicationdisplaymassage.
|
|
789
|
+
Description:
|
|
790
|
+
messageID:checkenumNfcTipMessageID
|
|
791
|
+
msg:
|
|
792
|
+
PLS_REMOVE_CARD,
|
|
793
|
+
PLS_USE_CONTACT_IC_CARD,//1
|
|
794
|
+
NEED_SIGNATURE,//2
|
|
795
|
+
END_APPLICATION,//3
|
|
796
|
+
SEE_PHONE_REMOVE_AND_PRESENT_CARD,//4
|
|
797
|
+
DISPLAY_BALANCE,//5
|
|
798
|
+
Parameters: CARD_READ_OK,//6
|
|
799
|
+
PLS_SECOND_TAP_CARD,//7
|
|
800
|
+
APPLICATION_BLOCKED,//8
|
|
801
|
+
TRY_AGAIN_RESENT_CARD,//9
|
|
802
|
+
USE_MAG_STRIPE,//10
|
|
803
|
+
INSERT_SWIPE_OR_TRY_ANOTHER_CARD,//11
|
|
804
|
+
TERMINATE,
|
|
805
|
+
CARD_ERROR,
|
|
806
|
+
PROCESSING_ERROR,
|
|
807
|
+
UNKNOW
|
|
808
|
+
|
|
809
|
+
Remark: CalledatprocessPayPassKernel
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
## onNFCrequestOnline
|
|
813
|
+
|
|
814
|
+
Whentransactionneedgoonline
|
|
815
|
+
Hashtable:
|
|
816
|
+
"KSN" :customformatksn,usuallynotuse
|
|
817
|
+
|
|
818
|
+
```java
|
|
819
|
+
void onNFCrequestOnline (Hashtable<String,String>hashtable);
|
|
820
|
+
```
|
|
821
|
+
|
|
822
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
823
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
824
|
+
- **源文档章节:** 2.15
|
|
825
|
+
|
|
826
|
+
- Source section: `2.15`
|
|
827
|
+
|
|
828
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
829
|
+
|
|
830
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
831
|
+
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
Purpose:
|
|
835
|
+
Whentransactionneedgoonline
|
|
836
|
+
Hashtable:
|
|
837
|
+
"KSN" :customformatksn,usuallynotuse
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
Signature/prototype:
|
|
841
|
+
```java
|
|
842
|
+
void onNFCrequestOnline (Hashtable<String,String>hashtable);
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
Parameters:
|
|
847
|
+
"TRACKDATA" :customformatdata,usuallynotuse
|
|
848
|
+
"EMVDATA":contactlesstransactionTLVdata
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
Return value:
|
|
852
|
+
If0x5A(PAN)isnotreturned,pleaseParsingtag0x57togetPAN,if0x57
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
Usage notes:
|
|
856
|
+
is not returned, please check whether it's a mstrip card. For mastercard
|
|
857
|
+
mstriptheTrack2EquivalentDatawillbesaveattag0x9f6b
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
Source details:
|
|
861
|
+
```text
|
|
862
|
+
Declare: void onNFCrequestOnline (Hashtable<String,String>hashtable);
|
|
863
|
+
Description: Whentransactionneedgoonline
|
|
864
|
+
Hashtable:
|
|
865
|
+
"KSN" :customformatksn,usuallynotuse
|
|
866
|
+
Parameters: "TRACKDATA" :customformatdata,usuallynotuse
|
|
867
|
+
"EMVDATA":contactlesstransactionTLVdata
|
|
868
|
+
Return:
|
|
869
|
+
If0x5A(PAN)isnotreturned,pleaseParsingtag0x57togetPAN,if0x57
|
|
870
|
+
Remark: is not returned, please check whether it's a mstrip card. For mastercard
|
|
871
|
+
mstriptheTrack2EquivalentDatawillbesaveattag0x9f6b
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
## onNFCrequestImportPin
|
|
875
|
+
|
|
876
|
+
ParametersNotusednow
|
|
877
|
+
Callthepasswordkeyboardinthiscallbackfunction,youmayneedtoget
|
|
878
|
+
thecardnumber
|
|
879
|
+
|
|
880
|
+
```java
|
|
881
|
+
voidonNFCrequestImportPin (int type, int lasttimeFlag, Stringamt);
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
885
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
886
|
+
- **源文档章节:** 2.16
|
|
887
|
+
|
|
888
|
+
- Source section: `2.16`
|
|
889
|
+
|
|
890
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
891
|
+
|
|
892
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
893
|
+
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
Purpose:
|
|
897
|
+
ParametersNotusednow
|
|
898
|
+
Callthepasswordkeyboardinthiscallbackfunction,youmayneedtoget
|
|
899
|
+
thecardnumber
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
Signature/prototype:
|
|
903
|
+
```java
|
|
904
|
+
voidonNFCrequestImportPin (int type, int lasttimeFlag, Stringamt);
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
Parameters:
|
|
909
|
+
You can get the card number through tag5A, if tag5A is empty, you can
|
|
910
|
+
getthecardnumberthroughtag57
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
Source details:
|
|
914
|
+
```text
|
|
915
|
+
Declare: voidonNFCrequestImportPin (int type, int lasttimeFlag, Stringamt);
|
|
916
|
+
ContactlessrequestimportPIN
|
|
917
|
+
Description:
|
|
918
|
+
ParametersNotusednow
|
|
919
|
+
Callthepasswordkeyboardinthiscallbackfunction,youmayneedtoget
|
|
920
|
+
thecardnumber
|
|
921
|
+
Parameters:
|
|
922
|
+
You can get the card number through tag5A, if tag5A is empty, you can
|
|
923
|
+
getthecardnumberthroughtag57
|
|
924
|
+
Return:
|
|
925
|
+
Remark:
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
## onNFCTransResult
|
|
929
|
+
|
|
930
|
+
Returnthetransactionresulttoapplication
|
|
931
|
+
|
|
932
|
+
Result:
|
|
933
|
+
CheckenumNfcTransResult
|
|
934
|
+
ONLINE_APPROVAL,
|
|
935
|
+
DECLINE_ONLINE,
|
|
936
|
+
TERMINATE,
|
|
937
|
+
OFFLINE_APPROVAL,
|
|
938
|
+
|
|
939
|
+
```java
|
|
940
|
+
voidonNFCTransResult(ContantPara.NfcTransResultresult);
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
944
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
945
|
+
- **源文档章节:** 2.17
|
|
946
|
+
|
|
947
|
+
- Source section: `2.17`
|
|
948
|
+
|
|
949
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
950
|
+
|
|
951
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
952
|
+
|
|
953
|
+
|
|
954
|
+
|
|
955
|
+
Purpose:
|
|
956
|
+
Returnthetransactionresulttoapplication
|
|
957
|
+
|
|
958
|
+
Result:
|
|
959
|
+
CheckenumNfcTransResult
|
|
960
|
+
ONLINE_APPROVAL,
|
|
961
|
+
DECLINE_ONLINE,
|
|
962
|
+
TERMINATE,
|
|
963
|
+
OFFLINE_APPROVAL,
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
Signature/prototype:
|
|
967
|
+
```java
|
|
968
|
+
voidonNFCTransResult(ContantPara.NfcTransResultresult);
|
|
969
|
+
```
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
Parameters:
|
|
973
|
+
OTHER_INTERFACES,
|
|
974
|
+
RETRY,
|
|
975
|
+
CARD_REMOVED,
|
|
976
|
+
ISSUER_SCRIPT_UPDATE_SUCCESSFUL,//8
|
|
977
|
+
ISSUER_SCRIPT_UPDATE_FAILED,//9
|
|
978
|
+
DECLINE_OFFLINE
|
|
979
|
+
None
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
Return value:
|
|
983
|
+
If the result is OFFLINE_APPROVAL, please call getNfcCvmCode() to
|
|
984
|
+
get the CVM (Cardholder Verification Method) code. Then, If the return
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
Usage notes:
|
|
988
|
+
value of the CVM code is 0x10 (indicating signature required), then
|
|
989
|
+
requireasignaturewhenprintingtheslip.
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
Source details:
|
|
993
|
+
```text
|
|
994
|
+
Declare: voidonNFCTransResult(ContantPara.NfcTransResultresult);
|
|
995
|
+
Description: Returnthetransactionresulttoapplication
|
|
996
|
+
|
|
997
|
+
Result:
|
|
998
|
+
CheckenumNfcTransResult
|
|
999
|
+
ONLINE_APPROVAL,
|
|
1000
|
+
DECLINE_ONLINE,
|
|
1001
|
+
TERMINATE,
|
|
1002
|
+
OFFLINE_APPROVAL,
|
|
1003
|
+
Parameters:
|
|
1004
|
+
OTHER_INTERFACES,
|
|
1005
|
+
RETRY,
|
|
1006
|
+
CARD_REMOVED,
|
|
1007
|
+
ISSUER_SCRIPT_UPDATE_SUCCESSFUL,//8
|
|
1008
|
+
ISSUER_SCRIPT_UPDATE_FAILED,//9
|
|
1009
|
+
DECLINE_OFFLINE
|
|
1010
|
+
None
|
|
1011
|
+
Return:
|
|
1012
|
+
If the result is OFFLINE_APPROVAL, please call getNfcCvmCode() to
|
|
1013
|
+
get the CVM (Cardholder Verification Method) code. Then, If the return
|
|
1014
|
+
Remark:
|
|
1015
|
+
value of the CVM code is 0x10 (indicating signature required), then
|
|
1016
|
+
requireasignaturewhenprintingtheslip.
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
## onNFCErrorInfor
|
|
1020
|
+
|
|
1021
|
+
Contactlesstransactionerrorcallbackfunction
|
|
1022
|
+
errID:checkenum NfcErrMessageID
|
|
1023
|
+
strErrInfo:
|
|
1024
|
+
ERR_LOAD_CALLBACK,
|
|
1025
|
+
ICS_PARAM_NOT_FIND,
|
|
1026
|
+
KERNEL_ERR,
|
|
1027
|
+
|
|
1028
|
+
```java
|
|
1029
|
+
strErrInfo);
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1033
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1034
|
+
- **源文档章节:** 2.18
|
|
1035
|
+
|
|
1036
|
+
- Source section: `2.18`
|
|
1037
|
+
|
|
1038
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1039
|
+
|
|
1040
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
Purpose:
|
|
1045
|
+
Contactlesstransactionerrorcallbackfunction
|
|
1046
|
+
errID:checkenum NfcErrMessageID
|
|
1047
|
+
strErrInfo:
|
|
1048
|
+
ERR_LOAD_CALLBACK,
|
|
1049
|
+
ICS_PARAM_NOT_FIND,
|
|
1050
|
+
KERNEL_ERR,
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
Signature/prototype:
|
|
1054
|
+
```java
|
|
1055
|
+
strErrInfo);
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
Parameters:
|
|
1060
|
+
ERR_PIN_LENTH,
|
|
1061
|
+
ERR_MULT_CARD,
|
|
1062
|
+
ERR_CHECK_CARD,
|
|
1063
|
+
AID_PARAM_NOT_FIND,
|
|
1064
|
+
CAPK_PARAM_NOT_FIND,
|
|
1065
|
+
GET_KERNEL_DATA_FAILED,
|
|
1066
|
+
QPBOC_FDDA_FAILED,
|
|
1067
|
+
PURE_ELE_CASH_CARD_NOT_ALLOW_ONLINE_TRANS,
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
Source details:
|
|
1071
|
+
```text
|
|
1072
|
+
void onNFCErrorInfor (ContantPara.NfcErrMessageID errID, String
|
|
1073
|
+
Declare:
|
|
1074
|
+
strErrInfo);
|
|
1075
|
+
Description: Contactlesstransactionerrorcallbackfunction
|
|
1076
|
+
errID:checkenum NfcErrMessageID
|
|
1077
|
+
strErrInfo:
|
|
1078
|
+
ERR_LOAD_CALLBACK,
|
|
1079
|
+
ICS_PARAM_NOT_FIND,
|
|
1080
|
+
KERNEL_ERR,
|
|
1081
|
+
Parameters: ERR_PIN_LENTH,
|
|
1082
|
+
ERR_MULT_CARD,
|
|
1083
|
+
ERR_CHECK_CARD,
|
|
1084
|
+
AID_PARAM_NOT_FIND,
|
|
1085
|
+
CAPK_PARAM_NOT_FIND,
|
|
1086
|
+
GET_KERNEL_DATA_FAILED,
|
|
1087
|
+
QPBOC_FDDA_FAILED,
|
|
1088
|
+
PURE_ELE_CASH_CARD_NOT_ALLOW_ONLINE_TRANS,
|
|
1089
|
+
Return:
|
|
1090
|
+
|
|
1091
|
+
Remark:
|
|
1092
|
+
```
|
|
1093
|
+
|
|
1094
|
+
## onReturnNfcCardData
|
|
1095
|
+
|
|
1096
|
+
ReturncontactlesstransactionTLVdata
|
|
1097
|
+
Hashtable:
|
|
1098
|
+
"KSN" :customformatksn,usuallynotuse
|
|
1099
|
+
|
|
1100
|
+
```java
|
|
1101
|
+
public void onReturnNfcCardData(Hashtable<String,String>hashtable)
|
|
1102
|
+
```
|
|
1103
|
+
|
|
1104
|
+
- **类路径:** `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1105
|
+
- **Demo Activity(参考):** EmvActivityNew
|
|
1106
|
+
- **源文档章节:** 2.19
|
|
1107
|
+
|
|
1108
|
+
- Source section: `2.19`
|
|
1109
|
+
|
|
1110
|
+
- Package/class path: `com.urovo.i9000s.api.emv.EmvNfcKernelApi` / `com.urovo.i9000s.api.emv.EmvListener`
|
|
1111
|
+
|
|
1112
|
+
- Demo reference: `UrovoPosSdkDemo/app/src/main/java/com/urovo/sdk/emv/EmvActivityNew.java`
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
Purpose:
|
|
1117
|
+
ReturncontactlesstransactionTLVdata
|
|
1118
|
+
Hashtable:
|
|
1119
|
+
"KSN" :customformatksn,usuallynotuse
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
Signature/prototype:
|
|
1123
|
+
```java
|
|
1124
|
+
public void onReturnNfcCardData(Hashtable<String,String>hashtable)
|
|
1125
|
+
```
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
Parameters:
|
|
1129
|
+
"TRACKDATA" :customformatdata,usuallynotuse
|
|
1130
|
+
"EMVDATA":contactlesstransactionTLVdata
|
|
1131
|
+
"QPBOCTYPE":ifnotsupportQPBOC,itisNULL
|
|
1132
|
+
If0x5A(PAN)isnotreturned,pleaseParsingtag0x57togetPAN,if0x57
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
Usage notes:
|
|
1136
|
+
is not returned, please check whether it's a mstrip card. For mastercard
|
|
1137
|
+
mstriptheTrack2EquivalentDatawillbesaveattag0x9F6B
|
|
1138
|
+
3.EMV Enum
|
|
1139
|
+
|
|
1140
|
+
|
|
1141
|
+
Source details:
|
|
1142
|
+
```text
|
|
1143
|
+
Declare: public void onReturnNfcCardData(Hashtable<String,String>hashtable)
|
|
1144
|
+
Description: ReturncontactlesstransactionTLVdata
|
|
1145
|
+
Hashtable:
|
|
1146
|
+
"KSN" :customformatksn,usuallynotuse
|
|
1147
|
+
Parameters:
|
|
1148
|
+
"TRACKDATA" :customformatdata,usuallynotuse
|
|
1149
|
+
"EMVDATA":contactlesstransactionTLVdata
|
|
1150
|
+
"QPBOCTYPE":ifnotsupportQPBOC,itisNULL
|
|
1151
|
+
If0x5A(PAN)isnotreturned,pleaseParsingtag0x57togetPAN,if0x57
|
|
1152
|
+
Remark: is not returned, please check whether it's a mstrip card. For mastercard
|
|
1153
|
+
mstriptheTrack2EquivalentDatawillbesaveattag0x9F6B
|
|
1154
|
+
3.EMV Enum
|
|
1155
|
+
```
|