XCHENG HOLDING Co., Ltd.
XC-API-P001
`
POI SDK Specification V1.1 1 / 98
POI SDK Specification
Change History
Revision Modification Auditor Date
0.1 Create document Cedar 2019-08-27
1.0 Update section 2.2 Kevin 2020-10-31
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 2 / 98
Contents
目录
1. Acronyms & Terms.........................................................................................................................6
2. POI SDK API....................................................................................................................................7
2.1. Class POIGeneralAPI..............................................................................................................7
2.1.1. setDateTime.................................................................................................................. 7
2.1.2. getDateTime.................................................................................................................. 7
2.1.3. getApVersion................................................................................................................. 8
2.1.4. getSpVersion..................................................................................................................8
2.1.5. getSdkVersion................................................................................................................8
2.1.6. setLed............................................................................................................................ 9
2.1.7. setLedFlash....................................................................................................................9
2.1.8. setBeep........................................................................................................................10
2.1.9. getVersion....................................................................................................................10
2.1.10. getAntennaPerformance...........................................................................................11
2.1.11. setApplicationScene..................................................................................................12
2.1.12. getCurrentApplicationScene..................................................................................... 13
2.2. Class POICardManager........................................................................................................13
2.2.1. PosIccCardReader........................................................................................................13
2.2.2. PosPiccCardReader......................................................................................................16
2.2.3. PosMagCardReader.....................................................................................................19
2.2.4. PosMifareCardReader................................................................................................. 23
2.2.5. PosPsamCardReader................................................................................................... 27
2.2.6. PosSidCardReader....................................................................................................... 29
2.2.7. PosViccCardReader..................................................................................................... 31
2.3. Class POIHsmManage..........................................................................................................35
2.3.1. PedCalDes....................................................................................................................35
2.3.2. PedWriteKey................................................................................................................36
2.3.3. PedWriteTIK.................................................................................................................39
2.3.4. PedGetPinBlock........................................................................................................... 40
2.3.5. PedGetMac..................................................................................................................42
2.3.6. PedGetMacDukpt........................................................................................................42
2.3.7. PedVerifyPlainPin........................................................................................................ 43
2.3.8. PedVerifyCipherPin..................................................................................................... 44
2.3.9. PedGetKcv................................................................................................................... 45
2.3.10. PedErase.................................................................................................................... 46
2.3.11. PedGetRsaKey........................................................................................................... 46
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 3 / 98
2.3.12. PedWriteRsaKey........................................................................................................ 46
2.3.13. PedReadRsaKey......................................................................................................... 47
2.3.14. PedCalcRsa................................................................................................................ 48
2.3.15. PedDukptDes.............................................................................................................48
2.3.16. PedGetDukptKsn....................................................................................................... 49
2.3.17. PedDukptIncreaseKsn............................................................................................... 49
2.3.18. PedGetRandom......................................................................................................... 50
2.3.19. PedKeyManage..........................................................................................................50
2.3.20. PedCancelPinBlock.................................................................................................... 51
2.3.21. SysHwSelfCheck........................................................................................................ 51
2.3.22. registerListener......................................................................................................... 52
2.3.23. unregisterListener..................................................................................................... 54
2.3.24. SysSetAppServiceState..............................................................................................54
2.3.25. SysGetAppServiceState............................................................................................. 55
2.3.26. SysSetWriteKeyResult............................................................................................... 56
2.3.27. SysGetWriteKeyResult...............................................................................................56
2.4. Class POIPrinterManager.................................................................................................... 56
2.4.1. open.............................................................................................................................56
2.4.2. close.............................................................................................................................57
2.4.3. setPrintGray.................................................................................................................57
2.4.4. setPrintFont.................................................................................................................57
2.4.5. setLineSpace................................................................................................................58
2.4.6. cleanCache.................................................................................................................. 58
2.4.7. addPrintLine................................................................................................................ 58
2.4.8. beginPrint.................................................................................................................... 59
2.4.9. getPrinterLength......................................................................................................... 59
2.4.10. getBeforePrinterLength.............................................................................................59
2.5. Class POIEmvCoreManager.................................................................................................60
2.5.1. startTransaction...........................................................................................................60
2.5.2. IPosEmvCoreListener...................................................................................................60
2.5.3. stopTransaction........................................................................................................... 62
2.5.4. EmvSetAid................................................................................................................... 62
2.5.5. EmvDeleteAid..............................................................................................................63
2.5.6. EmvGetAid...................................................................................................................63
2.5.7. EmvSetCapk.................................................................................................................63
2.5.8. EmvDeleteCapk........................................................................................................... 64
2.5.9. EmvGetCapk................................................................................................................ 64
2.5.10. EmvSetExceptionFile................................................................................................. 64
2.5.11. EmvDeleteExceptionFile............................................................................................65
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 4 / 98
2.5.12. EmvGetExceptionFile................................................................................................ 65
2.5.13. EmvSetRevocationIPK............................................................................................... 65
2.5.14. EmvDeleteRevocationIPK.......................................................................................... 66
2.5.15. EmvGetRevocationIPK...............................................................................................66
2.5.16. EmvSetTerminal.........................................................................................................66
2.5.17. EmvGetTerminal........................................................................................................67
2.5.18. EmvSetDRL................................................................................................................ 67
2.5.19. EmvDeleteDRL...........................................................................................................68
2.5.20. EmvGetDRL................................................................................................................68
2.5.21. EmvSetService........................................................................................................... 69
2.5.22. EmvDeleteService..................................................................................................... 69
2.5.23. EmvGetService.......................................................................................................... 69
2.5.24. onSetSelectResponse................................................................................................ 70
2.5.25. onSetCardInfoResponse............................................................................................70
2.5.26. onSetPinResponse.....................................................................................................70
2.5.27. onSetOnlineResponse............................................................................................... 71
2.5.28. PosEmvErrorCode......................................................................................................71
2.5.29. PosEmvAid.................................................................................................................72
2.5.30. PosEmvCapk.............................................................................................................. 74
2.5.31. PosEmvRevocationIPK...............................................................................................74
2.5.32. PosEmvExceptionFile.................................................................................................74
2.5.33. EmvDrlConstraints.....................................................................................................75
2.5.34. EmvServiceConstraints..............................................................................................75
2.5.35. EmvTermCfgConstraints............................................................................................ 77
2.5.36. EmvTransDataConstraints......................................................................................... 85
2.5.37. EmvPinConstraints.................................................................................................... 86
2.5.38. EmvOnlineRequestConstraints................................................................................. 88
2.5.39. EmvOnlineResultConstraints.....................................................................................88
2.5.40. EmvProcessResultConstraints...................................................................................89
3. POI SDK Error Code..................................................................................................................... 90
3.1. ICCR Error Code................................................................................................................... 90
3.2. PCD Error Code....................................................................................................................91
3.3. MSR Error Code................................................................................................................... 93
3.4. Keypad Error Code...............................................................................................................93
3.5. RTC Error Code.................................................................................................................... 94
3.6. HSM Error Code...................................................................................................................95
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 5 / 98
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 6 / 98
1. Acronyms & Terms
Abbreviation Description
PCD Proximity coupling device, also be known as PICC or contactless reader.
CTLS Contactless reader, same with PCD.
ICCR IC Card Read.
IFM Interface module, same with ICCR.
PED PIN entry device.
MSR Magnetic Strip Reader.
SP Security Processor.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 7 / 98
2. POI SDK API
2.1. Class POIGeneralAPI
2.1.1. setDateTime
Function description
Set SP time
Parameter
Field Type Description
time byte[] The date and time value, for a total of 6 bytes of
BCD code.
For example: October 1,2013,13:05’10, it is
expressed as: 131001130510
Return
None
2.1.2. getDateTime
Function description
Get SP time
Parameter
None
Return
Field Type Description
time byte[] The date and time value, for a total of 6 bytes of
BCD code.
For example: October 1,2013,13:05’10, it is
expressed as: 131001130510
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 8 / 98
2.1.3. getApVersion
Function description
Get the Android system version.
Parameter
None
Return
Field Type Description
version String Version number
2.1.4. getSpVersion
Function description
Get SP version number
Parameter
None
Return
Field Type Description
version String Version number
2.1.5. getSdkVersion
Function description
Get SDK version number
Parameter
None
Return
Field Type Description
version String Version number
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 9 / 98
2.1.6. setLed
Function description
Turn On/Off LED indicator.
Parameter
Field Type Description
color int Version type :
0x10 - Led Blue
0x20 - Led Green
0x40 - Led Yellow
0x80 - Led Red
Constant type :
LED_RED
LED_YELLOW
LED_GREEN
LED_BLUE
onOff boolean true - ON
false - OFF
Return
None
2.1.7. setLedFlash
Function description
Set LED blink.
Parameter
Field Type Description
color int Version type :
0x10 - Led Blue
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 10 / 98
0x20 - Led Green
0x40 - Led Yellow
0x80 - Led Red
Constant type :
LED_RED
LED_YELLOW
LED_GREEN
LED_BLUE
onMs int The period of LED on, in milliseconds
offMs int The period of LED off, in milliseconds
Return
None
2.1.8. setBeep
Function description
Turn On/Off beeper.
Parameter
Field Type Description
onOff boolean true - On, false - Off
freq int Frequency in HZ
timeMs int Keep time in millisecond
Return
None
2.1.9. getVersion
Function description
Get specified type of version or serial number.
Parameter
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 11 / 98
Field Type Description
type int Version type :
0x01 - SP Firmware Version
0x02 - Terminal Modem Version
0x03 - Terminal Software Version
0x04 - Terminal hardware version
0x05 - POI SDK version
0x06 - Terminal Equipment PSN
0x07 - Terminal DSN
0x08 - Terminal DSN2 (KSN on POS)
0x09 - Terminal kernel version
Constant type :
VERSION_TYPE_SP
...
VERSION_TYPE_CUSTOMER_SUBNAME
Return
Field Type Description
version String Version number
2.1.10. getAntennaPerformance
Function description
Get NFC Antenna Performance.
Parameter
Field Type Description
out PosByteArray Antenna Performance result (PosByteArray):
Len - response data length
Buffer - response data
Tlv Format : 01040000006B 0204000000D7
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 12 / 98
01 : amplitude
02 : phase
Return
Field Type Description
result int 0 means success , others are failures
2.1.11. setApplicationScene
Function description
Set the SDK scene.
Parameter
Field Type Description
type int Version type :
0x00 - scene unencrypted
0x01 - scene mag encrypted
0x02 - scene encrypted
Constant type :
PAYMENT_APPLICATION_SCENE_UNENCRYPTED
PAYMENT_APPLICATION_SCENE_MSD_ENCRYPTED
PAYMENT_APPLICATION_SCENE_ENCRYPTED
Note :
This flag can be update from lower level to
higher level in only single direction and can not
switch back from higher level to lower level.
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 13 / 98
2.1.12. getCurrentApplicationScene
Function description
Get the SDK scene.
Parameter
None
Return
Field Type Description
type int Version type :
0x00 - scene unencrypted
0x01 - scene mag encrypted
0x02 - scene encrypted
others are failures
2.2. Class POICardManager
2.2.1. PosIccCardReader
Operate IC card equipment function.
2.2.1.1. open
Function description
Open ICC Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 14 / 98
2.2.1.2. detect
Function description
Detecting the IC card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.1.3. reset
Function description
Power-on and reset card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.1.4. getCardReaderInfo
Function description
Get card information list.
Parameter
None
Return
Return value Description
PosCardReaderInfo Card Information List :
mCategory: Card Reader Category (ICC Card, PICC Card, Mag Card)
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 15 / 98
mCardType: Card type
mCardChannel:Card logical channel number
mSerialNum: Serial number of the card, BCD encoding
mAttribute: Card Attribute (ATR)
2.2.1.5. transmitApdu
Function description
APDU instruction interaction.
Parameter
Field Type Description
inAPDU byte[] APDU command
outAPDU PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
outSW PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.1.6. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 16 / 98
2.2.2. PosPiccCardReader
Operate PICC card equipment function.
2.2.2.1. open
Function description
Open PICC Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.2.2. detect
Function description
Detecting the PICC card.
Parameter
Field Type Description
mode String Picc card reader detect mode.
Default : 0x00
0x00 - MODE ISO14443
0x01 - MODE EMV
0x0A - MODE A
0x0B - MODE B
Constant type :
CARDREADER_DETECT_MODE_ISO14443
CARDREADER_DETECT_MODE_EMV
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 17 / 98
Field Type Description
CARDREADER_DETECT_MODE_A
CARDREADER_DETECT_MODE_B
Return
Field Type Description
result int 0 means success , others are failures
2.2.2.3. getCardReaderInfo
Function description
Get card information list.
Parameter
None
Return
Return value Description
PosCardReaderInfo Card Information List :
mCategory: Card Reader Category (ICC Card, PICC Card, Mag Card)
mCardType: Card type
mCardChannel: Card logical channel number
mSerialNum: Serial number of the card, BCD encoding
mAttribute: Card Attribute (ATR)
2.2.2.4. transmitApdu
Function description
APDU instruction interaction.
Parameter
Field Type Description
inAPDU byte[] APDU command
outAPDU PosByteArray Card response result (PosByteArray):
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 18 / 98
Len - response data length
Buffer - response data
outSW PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.2.5. removeCard
Function description
Remove card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.2.6. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 19 / 98
2.2.3. PosMagCardReader
Operate Mag card equipment function.
2.2.3.1. open
Function description
Open Mag Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.3.2. open(Encryption)
Function description
Open Mag Card Encryption mode.
Parameter
Field Type Description
dataType int Version type :
0x01 - PLAIN
0x02 - ENCRYPT
0x03 - ENCRYPT ZIOSK
0x04 - ENCRYPT TRANSARMOR
Constant type :
CARDREADER_DATA_TYPE_PLAIN = 1;
CARDREADER_DATA_TYPE_ENCRYPT = 2;
CARDREADER_DATA_TYPE_ENCRYPT_ZIOSK = 3;
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 20 / 98
Field Type Description
CARDREADER_DATA_TYPE_ENCRYPT_TRANSAR
MOR = 4;
keyType int Version type :
0x01 - TDK
0x02 - DUKPT MAC
0x03 - DUKPT DATA REQUEST
0x04 - DUKPT DATA RESPONSE
0x05 - DUKPT PIN
Constant type :
CARDREADER_KEY_TYPE_TDK = 1;
CARDREADER_KEY_TYPE_DUKPT_MAC = 2;
CARDREADER_KEY_TYPE_DUKPT_DATA_REQUES
T = 3;
CARDREADER_KEY_TYPE_DUKPT_DATA_RESPO
NSE = 4;
CARDREADER_KEY_TYPE_DUKPT_PIN = 5;
keyIndex int Key Index
mode int Version type :
0x01 - ECB
0x02 - CBC
Constant type :
CARDREADER_MODE_ECB = 1;
CARDREADER_MODE_CBC = 2;
padding byte DES padding data
vector byte[] Initial vector, CBC mode
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 21 / 98
2.2.3.3. detect
Detecting the Mag card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.3.4. getTraceData
Function description
Get trace data from MAG Card trace.
Parameter
Field Type Description
index int Trace index(Such as 1, 2, 3)
Constant type :
CARDREADER_TRACE_INDEX_1 = 1;
CARDREADER_TRACE_INDEX_2 = 2;
CARDREADER_TRACE_INDEX_3 = 3;
Return
Field Type Description
result byte[] Default:
Trace Data,Failed to return null.
Encryption:
Ciphertext track Data, If encryption fails, the
card number shielding data will be returned.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 22 / 98
2.2.3.5. getTraceDataKsn
Function description
Obtain track data encryption SN from MAG card. Only used for DUKPT.
Parameter
Field Type Description
index int Trace index(Such as 1, 2, 3)
Constant type :
CARDREADER_TRACE_INDEX_1 = 1;
CARDREADER_TRACE_INDEX_2 = 2;
CARDREADER_TRACE_INDEX_3 = 3;
Return
Field Type Description
result byte[] Ksn means success,Failed to return null.
2.2.3.6. getTraceMaskData
Function description
Obtain the orbit data Mask card number from the MAG card. Only used in encryption mode.
Parameter
Field Type Description
index int Trace index(Such as 1, 2, 3)
Constant type :
CARDREADER_TRACE_INDEX_1 = 1;
CARDREADER_TRACE_INDEX_2 = 2;
CARDREADER_TRACE_INDEX_3 = 3;
Return
Field Type Description
result byte[] Mask Card means success,Failed to return null.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 23 / 98
2.2.3.7. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.4. PosMifareCardReader
Operate M1 card equipment function.
2.2.4.1. open
Function description
Open M1 Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.2. detect
Function description
Detecting the M1 card.
Parameter
None
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 24 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.3. getCardReaderInfo
Function description
Get card information list.
Parameter
None
Return
Return value Description
PosCardReaderInfo Card Information List :
mCategory: Card Reader Category (ICC Card, PICC Card, Mag Card)
mCardType: Card type
mCardChannel: Card logical channel number
mSerialNum: Serial number of the card, BCD encoding
mAttribute: Card Attribute (ATR)
2.2.4.4. auth
Function description
M1 card authentication
Parameter
Field Type Description
KeyType int Key type:
'A' or 'a': A password
'B' or 'b': B password
blkNo int Block number
keyBuf byte[] Key data
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 25 / 98
serialNum byte[] Card serial number
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.5. read
Function description
Read data from the specified block number of the M1 card.
Parameter
Field Type Description
blkNo Int Block number
outApdu PosByteArray Read data (PosByteArray):
Len -- response data length
Buffer -- response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.6. write
Function description
Write data to the specified block number of the M1 card.
Parameter
Field Type Description
blkNo int Block number
buffer byte[] Written data
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 26 / 98
2.2.4.7. transmitApdu
Function description
APDU instruction interaction.
Parameter
Field Type Description
inApdu byte[] Apdu command
outApdu PosByteArray Read data (PosByteArray):
Len -- response data length
Buffer -- response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.8. removeCard
Function description
Remove card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.4.9. close
Function description
Turn off card reader.
Parameter
None
Return
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 27 / 98
Field Type Description
result int 0 means success , others are failures
2.2.5. PosPsamCardReader
Operate PSAM card equipment function.
2.2.5.1. open
Function description
Open PSAM Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.5.2. detect
Detecting the PASM card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.5.3. reset
Power-on and reset card.
Parameter
None
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 28 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.2.5.4. getCardReaderInfo
Function description
Get card information list.
Parameter
None
Return
Return value Description
PosCardReaderInfo Card Information List :
mCategory: Card Reader Category (ICC Card, PICC Card, Mag Card)
mCardType: Card type
mCardChannel: Card logical channel number
mSerialNum: Serial number of the card, BCD encoding
mAttribute: Card Attribute (ATR)
2.2.5.5. transmitApdu
Function description
APDU instruction interaction.
Parameter
Field Type Description
inAPDU byte[] APDU command
outAPDU PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
outSW PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 29 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.2.5.6. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.6. PosSidCardReader
Operate Sid card equipment function.
2.2.6.1. open
Function description
Open Sid Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.6.2. detect
Function description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 30 / 98
Detecting the Sid card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.6.3. getCardReaderInfo
Function description
Get card information list.
Parameter
None
Return
Return value Description
PosCardReaderInfo Card Information List :
mCategory: Card Reader Category (ICC Card, PICC Card, Mag Card)
mCardType: Card type
mCardChannel: Card logical channel number
mSerialNum: Serial number of the card, BCD encoding
mAttribute: Card Attribute (ATR)
2.2.6.4. transmitCmd
Function description
CMD instruction interaction.
Parameter
Parameter Type Description
inApdu byte[] Apdu command
outApdu PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 31 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.2.6.5. removeCard
Function description
Remove card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.6.6. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.7. PosViccCardReader
Operate VICC card equipment function.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 32 / 98
2.2.7.1. open
Function description
Open VICC Card.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.2.7.2. inventory
Inventory from VICC Card.
Parameter
Parameter Type Description
outBuf PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.7.3. select
Function description
Select.
Parameter
Field Type Description
UidByte byte[]
Return
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 33 / 98
Field Type Description
result int 0 means success , others are failures
2.2.7.4. reset
Function description
Reset ViccCard.
Parameter
Field Type Description
UidByte Byte[]
Return
Field Type Description
result int 0 means success , others are failures
2.2.7.5. readBlock
Function description
Read block data.
Parameter
Field Type Description
BlockNo Int block number
OutApdu PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 34 / 98
2.2.7.6. writeBlock
Function description
Write data to block.
Parameter
Field Type Description
blockNo int block number
outApdu PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
2.2.7.7. getSystemInfo
Function description
Get VICC Card info.
Parameter
Field Type Description
outApdu PosByteArray Card response result (PosByteArray):
Len - response data length
Buffer - response data
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 35 / 98
2.2.7.8. close
Function description
Turn off card reader.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.3. Class POIHsmManage
2.3.1. PedCalDes
Function description
Data encryption and decryption
Parameter
Field Type Description
tdkIdx int Index of TDK
Version type :
ECB decryption: 0x00
ECB encryption: 0x01
CBC decryption: 0x02
CBC encryption: 0x03
mode int
Constant type :
PED_CALC_DES_MODE_ECB_DEC
PED_CALC_DES_MODE_ECB_ENC
PED_CALC_DES_MODE_CBC_DEC
PED_CALC_DES_MODE_CBC_ENC
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 36 / 98
inBuf byte[] Data to be encrypted/decryption
rspBuf PosByteArray Processed data
Return
Field Type Description
result int 0 means success , others are failures
2.3.2. PedWriteKey
Function description
Write key into POS
Parameter
Field Type Description
keyInfo PedKeyInfo Key written
kcvInfo PedKcvInfo Key check value
Return
Field Type Description
result int 0 means success , others are failures
2.3.2.1. Class PedKeyInfo
Function description
Key information
Parameter
Field Type Description
Source key type
Version type :
NOT: 0x00 No original key. Write in clear text.
keyType int
TLK : 0x01
TMK : 0x02
Constant type :
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 37 / 98
PED_TLK
PED_TMK
Source key index
Plain text when the source key index is 0
When the target key type is TLK, the source key
Index must be 0
TLK :
Only 1 group is supported, and its index range is
[1,1]
TMK :
Supports 64 groups, the index range is [1, 64]
keyIdx int TPK :
Supports 64 groups, the index range is [1, 64]
TAK :
Supports 64 groups, the index range is [1, 64]
TDK :
Supports 64 groups, the index range is [1, 64]
TEK :
Supports 64 groups, the index range is [1, 64]
TTK :
Supports 64 groups, the index range is [1, 64]
Target key type
Version type.
TLK : 0x01
TMK : 0x02
keyType int
TPK : 0X03
TAK : 0x04
TDK : 0X05
TEK : 0X06
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 38 / 98
TTK : 0x09
Constant type.
PED_TLK
...
PED_TTK
keyIdx int Target key index
Target Key algorithm definition
Version type.
keyAlgorithm int
TDEK : 0x00
AES : 0x01
keyLen int Target Key length 8, 16, 24, 32
Target key data
keyData byte[] Plaintext or ciphertext
Plaintext if the source key index is 0
2.3.2.2. Class PedKcvInfo
Function description
Key check value
Parameter
Field Type Description
Mode 0
the value of checkBuf is invalid, KCV is not need
to verify, checkBuf can be invalid data.
Mode 1
checkMode int
the checkBuf[0]=4, and one block of 0x00
encrypted by destination key, the first 4 bytes of
resulte are KCV.
Mode 2
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 39 / 98
Performs odd parity on the destination key and
then checks by Mode=1.
Mode 3
Performs parity check on the destination key,
and then checks by Mode=1.
KCV valid
checkBuff byte[] checkBuf[1] to checkBuf[N-1] pointing to KCV
values.
2.3.3. PedWriteTIK
Function description
Write DUKPT Initial Key
Parameter
Field Type Description
DUKPT key group index number
grpIdx int
Supports 10 groups, the index range is [1, 10]
tlkIdx int TLK index number
TIK length n, now DUKPT algorithm supports
tlKLen int
8/16 bytes length key.
Initial encryption key data.
If TIKIdx is 0, this is clear-text.
tlKData byte[]
If TIKIdx is not 0, this is cipher-text encrypted by
TLK.
ksn byte[] Initialize KSN
kcvInfo PedKcvInfo Key check value
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 40 / 98
2.3.4. PedGetPinBlock
Function description
Get PIN-BLOCK cipher-text.
Parameter
Field Type Description
Key management type:
fetchMode int 0x01: Get Pin Block using MK pin key.
0x02: Get Pin Block using DUKPT pin key.
If Mk, index of PIN Key (TPK).
idxOrGrpId int
If DUKPT, group id of DUKPT.
Format of PIN BLOCK.
If MK:
0x00 - ISO9564 format 0
0x01 - ISO9564 format 1
0x02 - ISO9564 format 3
0x04 - ISO9564 format 4
If DUKPT:
0x00 - ISO9564 format 0 KSN auto-increment.
fmt int
0x01 - ISO9564 format 1 KSN auto-increment.
0x02 - ISO9564 format 2 KSN auto-increment.
0x20 - ISO9564 format 0 KSN not
auto-increment.
0x21 - ISO9564 format 1 KSN not
auto-increment.
0x22 - ISO9564 format 2 KSN not
auto-increment.
Timeout (ms), 0: no timeout, PED do not do
timeoutMs int
timeout control.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 41 / 98
Consisting of two parts.
The first 16 bytes:
For ISO9564 format 0/1/3:
The card number without check digit, if the
account number is less than 16 characters fill ‘0’
at the left of card number.
Fir ISO9564 format 4:
The first byte (byte[0]) is the number of PAN
digits.
data byte[]
The PAN digits is filled into the bytes array start
from byte[1] in BCD form, every byte contain 2
BCD digits.
The last 8 bytes are:
Participate in Pin Block formatted 8-byte data
(according to ISO9564 specification, the data
can be random number, transaction serial
number or timestamp, etc., but the upper 4 bits
and lower 4 bits of each byte must be 0xA~0xF
between.
Expect PIN length list.
For example, supports length of pins is 4/6/8
and support pressing the enter key without
expPinLenInd String entering a password.
This string should be “0, 4, 6, 8”, The ‘0’ means
allowed press the enter key directly.
PIN length is up to 12 digits.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 42 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.3.5. PedGetMac
Function description
Calculate MAC of data input (using MK MAC_KEY).
Parameter
Field Type Description
takIdx int Index of MAK key in MK (TAK).
Operation mode:
0x00: CBC-MAC Use MAC-Key to encrypt
message in CBC mode, the last block of
cipher-text is the MAC result.
operationMode int 0x01: XOR-ECB-MAC Do xor operation with
each block of message, use MAC-Key encrypt
the finally XOR result.
0x02: ANSI-X9.19 MAC
0x03: ANSI-X9.9 MAC
data byte[] Message input to calculate MAC.
rspBuf PosByteArray MAC output
Return
Field Type Description
result int 0 means success , others are failures
2.3.6. PedGetMacDukpt
Function description
Calculate MAC of data input (using DUKPT MAC_KEY).
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 43 / 98
Parameter
Field Type Description
grpIdx int DUKPT group id
MAC operation control code:
This code is coded by two part: X + Y. E.g 21
X can be:
00 - Use “both ways variant”, KSN
auto-increment.
20 - Use “both ways variant”, KSN not
auto-increment.
operationMode int
40 - Use “Response variant”, KSN not
auto-increment.
Note: the 20 and 40 is decimal number.
Y can be:
0 - CBC-MAC
1 - XOR-ECB-MAC
2 - ANSI-X9.19 MAC
data byte[] Message input to calculate MAC.
macBuff PosByteArray MAC output
ksnBuff PosByteArray KSN output
Return
Field Type Description
result int 0 means success , others are failures
2.3.7. PedVerifyPlainPin
Function description
Offline PIN plain text verify
Parameter
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 44 / 98
Field Type Description
slot int IC Card slot ID. Default 0.
mode int Mode, fixed 0.
timeoutMs int Timeout in millisecond.
Expect PIN length list.
For example, supports length of pins is 4/6/8
and support pressing the enter key without
expPinLenInd String entering a password.
This string should be “0, 4, 6, 8”, The ‘0’ means
allowed press the enter key directly.
PIN length is up to 12 digits.
Return
Return value Description
Operation result, 0 -- success, other values failed
int Offline Plain Text verification requires the user to enter the PIN, which
must be executed asynchronously. All execution results are notified to
the upper layer through the callback function: onPedVerifyPin, type
0x86
2.3.8. PedVerifyCipherPin
Function description
Offline Cipher Text PIN verify.
Parameter
Field Type Description
slot int IC Card slot ID. Default 0.
mode int Mode, fixed 0.
timeoutMs int Timeout in millisecond.
expPinLenInd String Expect PIN length list.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 45 / 98
For example, supports length of pins is 4/6/8
and support pressing the enter key without
entering a password.
This string should be “0, 4, 6, 8”, The ‘0’ means
allowed press the enter key directly.
PIN length is up to 12 digits.
PedRsaPinKey {
byte[] modData; //Public key modulus.
byte[] expData; // Public key exponent.
rsaPinKey PedRsaPinKey
byte[] iccRandomData; // Random number from
IC card
Return
Return value Description
The result of the operation
int 0 - success, other values - failed.
Offline cipher text verification requires the user to enter the PIN, which
must be executed asynchronously. All execution results are notified to
the upper layer through the callback function: onPedVerifyPin, type
0x87
2.3.9. PedGetKcv
Function description
Get the KCV data of KEY
Parameter
Field Type Description
keyType int Key type
keyIdx int Key index
kcvInfo PedKcvInfo Key check value
rspBuff PosByteArray Kcv data output
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 46 / 98
Return
Field Type Description
result int 0 means success , others are failures
2.3.10. PedErase
Function description
Clear all MK/SK and DUKPT keys in POI device.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.3.11. PedGetRsaKey
Function description
Generate RSA key
Parameter
Field Type Description
publicKeyIndex int Public key index
privateKeyIndex int Private key index
size int Key size
Return
Field Type Description
result int 0 means success , others are failures
2.3.12. PedWriteRsaKey
Function description
Write RSA key
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 47 / 98
Parameter
Field Type Description
keyIdx int Key index
modData byte[] Modulus
expData byte[] Exponent
Return
Field Type Description
result int 0 means success , others are failures
2.3.13. PedReadRsaKey
Function description
Read RSA key
Parameter
Field Type Description
keyIndex int Key index
RSA Info
Format :
Byte1 Key Type :
0x00 : does not exist
rspData PosByteArray
0x01 : Public key
0x02 : Private key
Byte2-3 RSA Key Number
E.g: 0800 bit== 2048 bit == 256 byte
rspModulus PosByteArray Public Modulus
rspExponent PosByteArray Public Exponent
Return
Field Type Description
result int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 48 / 98
2.3.14. PedCalcRsa
Function description
RSA encryption and decryption
Parameter
Field Type Description
keyIndex int Key index
mode Int Mode
data byte[] Input data
rspBuf PosByteArray Data output
Return
Field Type Description
result int 0 means success , others are failures
2.3.15. PedDukptDes
Function description
Data encryption or decryption by DUKPT data-key.
Parameter
Field Type Description
grpIdx int DUKPT group ID: 1~10
Key type:
0x00 - Use Request or both ways MAC key
keyType int 0x01 - Use Request or both ways Data key
0x02 - Use DATA Response key
0x03 - Use PIN Encryption key
8-byte initial vector, required for CBC
initVector byte[]
encryption and decryption.
mode int Operation mode:
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 49 / 98
0x00 - ECB decryption
0x01 - ECB encryption
0x02 - CBC decryption
0x03 - CBC encryption
data byte[] Data input.
rspKsn PosByteArray KSN output (10 bytes)
rspBuff PosByteArray Data output
Return
Field Type Description
result int 0 means success , others are failures
2.3.16. PedGetDukptKsn
Function description
Get the KSN of next DUKPT operation.
Parameter
Field Type Description
grpIdx int DUKPT group ID:1~10
rspBuff PosByteArray KSN output (10 bytes)
Return
Field Type Description
result int 0 means success , others are failures
2.3.17. PedDukptIncreaseKsn
Function description
KSN+1, the DUKPT key for each KSN, can only be used up to 256 times.
When a single key is used 256 times, it will return error, user need to call this interface, to make
KSN increase.
Parameter
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 50 / 98
Field Type Description
grpIdx int DUKPT group ID:1~10
Return
Field Type Description
result int 0 means success , others are failures
2.3.18. PedGetRandom
Function description
Get random number compliance with NIST SP800-90A.
Parameter
Field Type Description
randomLen int Random number length
rspBuff PosByteArray Random number output
Return
Field Type Description
result int 0 means success , others are failures
2.3.19. PedKeyManage
Function description
Password management
Parameter
Field Type Description
Management type:
0x80 - Verify unlock password.
0x81 - Verify Admin-A password.
0x82 - Verify Admin-B password.
type int
0x83 - Hold sensitive state.
0x84 - Set new unlock password.
0x85 - Set new Admin-A password.
0x86 - Set new Admin-B password.
Return
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 51 / 98
Field Type Description
result int 0 means success , others are failures
2.3.20. PedCancelPinBlock
Function description
Cancel PIN entering process.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.3.21. SysHwSelfCheck
Function description
Hardware self-test
Parameter
Field Type Description
The hardware part bit map.
0x01 - MSR
0x02 - ICCR
0x04 - CTLS
hwDeviceMask int
0x08 - Memory
0x10 - Keypad
0x40 - Antenna
0xFF - All hardware components.
Return
Return value Description
int 0 means success , others are failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 52 / 98
onHwSelfCheckRet function returns.
2.3.22. registerListener
Function description
Register Listener
Parameter
Field Type Description
listener EventListener Security broadcast
Return
None
2.3.22.1. Interface EventListener
Function description
Security listener callback interface.
Interface
Interface Description
onInfo Called to indicate an info or a warning.
What: what the type of info or warning.
Extra: extra an extra code, specific to the info. Typically
implementation dependent.
onError Called to indicate an error.
What: what the type of info or warning.
Extra: extra an extra code, specific to the info. Typically
implementation dependent.
onKeyboardShow Called when the Pin Block module should show UI with TP
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 53 / 98
as Soft Keys.
Keys:
E.g BCD 38 35 37 36 30 32 39 31 33 1B 34 0D
The keyboard sequence is displayed according to the Keys
parameter.
onKeyboardInput Button input value, input return value is defined as
follows.
NumKeys:
0xN -- returns 0xN keys correctly
0x90 -- touch screen has been bounced by point
0x95 -- touch screen is not in range
0x96 -- Confirm button pressed
0x97 -- Cancel button pressed
0x98 -- number key pressed
0x99 -- The entered key has exceeded the set pin length
onPedPinBlockRet PIN block returns, Support PED or PSAM
Type:
0x83 -- DEFAULT PED_PINBLOCK_RET_TYPE_DEFAULT
0x92 -- PSAM PED_PINBLOCK_RET_TYPE_PSAM
PinBuf:
08 62BC7A46801A6C46 0A FFFF9080102495000001
LEN + PINBLOCK + LEN + KSN
onPedVerifyPin PIN verification, Support for Offline ciphertext PIN, offline
plaintext PIN.
Type:
0x86 -- CipherText PIN PED_VERIFY_PIN_TYPE_PLAIN
0x87 -- PlainText PIN PED_VERIFY_PIN_TYPE_CIPHER
PinBuf:
Card status code. For example 9000, 6A83
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 54 / 98
onHwSelfCheckRet Self-test results
Type:
Check type.
CheckResult:
0x00 success
onHwSensorTriggered Safe trigger
Triggered:
SP firmware status.
0x00 -- SP_STATUS_OK
0x01 -- SP_STATUS_TRIGGERED
0x02 -- SP_STATUS_LOCK
0x03 -- SP_STATUS_KEY_WIPED
SensorValue:
Trigger information
TriggerTime:
Trigger Time
2.3.23. unregisterListener
Function description
Unregister listener.
Parameter
Field Type Description
listener EventListener See registerListener for details.
Return
None
2.3.24. SysSetAppServiceState
Function description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 55 / 98
Set the App Run Status
Parameter
Parameter Type Description
True - the system will mask the power long
button to disable the screen, and disable the
low power and other prompt boxes that will
affect the Pin block processing.
False - recovery
InOrExit boolean Note: Applications use the SDK interface are
recommended to be set it to true when the
application is running, and must be restored
when the application switch to the background.
Otherwise, the system power key cannot be
processed.
Return
None
2.3.25. SysGetAppServiceState
Function description
Get App Run Status.
Parameter
None
Return
Return value Description
true -- set
boolean
false -- not set
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 56 / 98
2.3.26. SysSetWriteKeyResult
Function description
Set key filling result.
Parameter
Parameter Type Description
0 - success
1 - Unfilled
result int
2 - Filling failed
3 - Filling is successful but verification failed
Return
None
2.3.27. SysGetWriteKeyResult
Function description
Get key filling result.
Parameter
None
Return
Field Type Description
result int 0 means success , others are failures
2.4. Class POIPrinterManager
2.4.1. open
Function description
Open Printer.
Parameter
None
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 57 / 98
Return
None
2.4.2. close
Function description
Close Printer.
Parameter
None
Return
None
2.4.3. setPrintGray
Function description
Set the print grayscale,if don’t set default value is 2000. The value smaller the lighter, the larger
the thicker.
Parameter
Field Type Description
gray int
Return
None
2.4.4. setPrintFont
Function description
Set the print font, font path: "/system/fonts/simsun.ttc".
Parameter
Field Type Description
fontsName String "/system/fonts/simsun.ttc"
Return
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 58 / 98
None
2.4.5. setLineSpace
Function description
Set line space.
Parameter
Field Type Description
gray int
Return
None
2.4.6. cleanCache
Function description
clean cache. It is used with beginPrint interface.
Parameter
None
Return
None
2.4.7. addPrintLine
Function description
add print content.
Parameter
Field Type Description
line PrintLine print content
model(TextPrintLine/BitmapPrintLine)
Return
None
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 59 / 98
2.4.8. beginPrint
Function description
start to print.
Parameter
Field Type Description
Listener IPrinterListener print listener
Return
None
2.4.9. getPrinterLength
Function description
Print the total length of the data.
Parameter
None
Return
Field Type Description
length int
2.4.10. getBeforePrinterLength
Function description
Print data current length.
Parameter
None
Return
Field Type Description
length int
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 60 / 98
2.5. Class POIEmvCoreManager
2.5.1. startTransaction
Function description
Start EMV process request.
Parameter
Field Type Description
bundle android.os.Bundle Business data required for the EMV process.
(see the EmvTransDataConstraints class
definition for details)
listener IPosEmvCoreListener EMV process processing listener.
(see the IPosEmvCoreListener class definition
for details)
Return
see the PosEmvErrorCode class definition for details.
2.5.2. IPosEmvCoreListener
Function description
EMV process listener callback interface, contains the following callbacks.Please refer to the How
to start EMV for description of each method.
Interface
Interface Description
onEmvProcess Check to the card. The transaction is ready to start.
type :
DEVICE_CONTACT
DEVICE_CONTACTLESS
DEVICE_MAGSTRIPE
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 61 / 98
EMV_MULTI_CONTACTLESS
onSelectApplication When there are multiple candidate AIDs in an EMV
transaction, the cardholder is required to make a selection.
ICC only.
list : Candidate list name
isFirstSelect : FirstSelect
onConfirmCardInfo Confirm card information. ICC only
mode : Determine the type.
CMD_TRY_OTHER_APPLICATION
CMD_AMOUNT_CONFIG
CMD_ISSUER_REFERRAL
bundle : (see the EmvCardInfoConstraints class definition
for details)
onKernelType Returns the type of card issuer. For example (VISA,
MasterCard, AMEX,RuPay, etc.). PICC only
type :
EMV_CARD_NOT
EMV_CARD_VISA
EMV_CARD_UNIONPAY
EMV_CARD_MASTERCARD
EMV_CARD_DISCOVER
EMV_CARD_AMEX
EMV_CARD_MIR
EMV_CARD_RUPAY
EMV_CARD_INTERAC
onSecondTapCard Some issuers support script processing in PICC
transactions. A second call is required. This callback is
required by the application to display a prompt. Let the
cardholder re-card. PICC only
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 62 / 98
onRequestInputPin Input PIN. Support offline plain text PIN. Offline cipher text
PIN. Online PIN
bundle : (see the EmvPinConstraints class definition for
details)
onRequestOnlineProcess Online connection is requested.
bundle : Online connection data
(see the EmvOnlineRequestConstraints class definition for
details)
onTransactionResult EMV process result
result :
(see the PosEmvErrorCode class definition for details)
bundle :
(see the EmvProcessResultConstraints class definition for
details)
2.5.3. stopTransaction
Function description
Stop EMV Transaction.
Parameter
None
Return
None
2.5.4. EmvSetAid
Function description
Add AID parameter.
Parameter
Field Type Description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 63 / 98
param PosEmvAid see the PosEmvAid class definition for details
Return
Return value Description
int result
2.5.5. EmvDeleteAid
Function description
Delete AID parameter.
Parameter
None
Return
None
2.5.6. EmvGetAid
Function description
Get AID parameter.
Parameter
None
Return
Field Type Description
param List<PosEmvAid> see the PosEmvAid class definition for details
2.5.7. EmvSetCapk
Function description
Add CAPK parameter.
Parameter
Field Type Description
param PosEmvCapk see the PosEmvCapk class definition for details
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 64 / 98
Return
Return value Description
Int result
2.5.8. EmvDeleteCapk
Function description
Delete CAPK parameter.
Parameter
None
Return
None
2.5.9. EmvGetCapk
Function description
Get CAPK parameter.
Parameter
None
Return
Field Type Description
param List<PosEmvCapk> see the PosEmvCapk class definition for details
2.5.10. EmvSetExceptionFile
Function description
Add Exception File parameter.
Parameter
Field Type Description
param PosEmvExceptionFile see the PosEmvExceptionFile class definition
for details
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 65 / 98
Return
Return value Description
int result
2.5.11. EmvDeleteExceptionFile
Function description
Delete Exception File parameter.
Parameter list
None
Return
None
2.5.12. EmvGetExceptionFile
Function description
Get Exception File parameter.
Parameter
None
Return
Field Type Description
param List<PosEmvException see the PosEmvExceptionFile class definition
File> for details
2.5.13. EmvSetRevocationIPK
Function description
Add CAPK Revocation parameter.
Parameter
Field Type Description
param PosEmvRevocList see the PosEmvRevocList class definition for
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 66 / 98
details
Return
Return value Description
int result
2.5.14. EmvDeleteRevocationIPK
Function description
Delete CAPK Revocation parameter.
Parameter
None
Return
None
2.5.15. EmvGetRevocationIPK
Function description
Get CAPK Revocation parameter.
Parameter
None
Return
Field Type Description
param List<PosEmvRevocList> see the PosEmvRevocList class definition for
details
2.5.16. EmvSetTerminal
Function description
set terminal information in EMV kernel.
Parameter
Field Type Description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 67 / 98
type int TYPE_TERMINAL
TYPE_INTERAC
data android.os.Bundle see the EmvTerminalConstraints class
definition for details
Return
Return value Description
int result
2.5.17. EmvGetTerminal
Function description
get terminal information in EMV kernel.
Parameter
Field Type Description
type int TYPE_TERMINAL
TYPE_INTERAC
data android.os.Bundle see the EmvTerminalConstraints class
definition for details
Return
Return value Description
int result
2.5.18. EmvSetDRL
Function description
Add DRL configuration parameter.
Parameter
Field Type Description
type int TYPE_VISA
TYPE_AMEX
bundle android.os.Bundle see the EmvDrlConstraints class definition for
details
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 68 / 98
Return
Return value Description
int result
2.5.19. EmvDeleteDRL
Function description
Delete DRL configuration parameter.
Parameter
Field Type Description
type int TYPE_VISA
TYPE_AMEX
Return
None
2.5.20. EmvGetDRL
Function description
Delete DRL configuration parameter.
Parameter
Field Type Description
type int TYPE_VISA
TYPE_AMEX
bundle android.os.Bundle see the EmvDrlConstraints class definition for
details
Return
Return value Description
int result
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 69 / 98
2.5.21. EmvSetService
Function description
Add RuPay service parameter.
Parameter
Field Type Description
bundle android.os.Bundle see the EmvServiceConstraints class definition
for details
Return
Return value Description
int result
2.5.22. EmvDeleteService
Function description
Delete RuPay service parameter.
Parameter
None
Return
None
2.5.23. EmvGetService
Function description
Add RuPay service parameter.
Parameter
Field Type Description
bundle android.os.Bundle see the EmvServiceConstraints class definition
for details
Return
Return value Description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 70 / 98
int result
2.5.24. onSetSelectResponse
Function description
When EMV processes request to select Application (onSelectApplication()), EMV select the
application.
Parameter
Field Type Description
index int Application selection is from “1”, “0”means
cancellation.
Return
None
2.5.25. onSetCardInfoResponse
Function description
When EMV processes request to confirm the card information(onConfirmCardInfo()), it is called
after user confirmation.
Parameter
Field Type Description
confirm boolean
Return
None
2.5.26. onSetPinResponse
Function description
When EMV processes request to PIN (onRequestInputPin()).
Parameter
Field Type Description
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 71 / 98
info android.os.Bundle see the EmvPinConstraints class definition for
details
Return
None
2.5.27. onSetOnlineResponse
Function description
When EMV processes request for on-line operation(onRequestOnlineProcess()) and the value is
returned, the online data is passed into the process through this interface.
Parameter
Field Type Description
data android.os.Bundle see the EmvOnlineResultConstraints class
definition for details
Return
None
2.5.28. PosEmvErrorCode
Error code Error name Comment
0xAA EXCEPTION_ERR Exception error
0x00 EMV_OK Handle OK
0x01 EMV_APPROVED Transaction offline approval
0x02 EMV_APPROVED_ONLINE Transaction online approval
0x03 EMV_DECLINED Transaction declined
0x04 EMV_FORCE_APPROVED Transaction force approval
-1 EMV_PARAMETER_ERROR EMV parameter error
Please try another communication
-2 EMV_OTHER_INTERFACE
interface
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 72 / 98
-3 EMV_COMMAND_FAIL Read the card failure
-4 EMV_CARD_BLOCK Card locked
-5 EMV_APP_EMPTY No application
-6 EMV_APP_BLOCK Application locked
-7 EMV_FALLBACK Fallback
-8 EMV_SEE_PHONE See Phone
-9 EMV_NOT_ALLOWED No allowed
-10 EMV_NOT_ACCEPTED No accepted
-11 EMV_TERMINATED Trans terminated
-12 EMV_CANCEL Trans Canceled
-13 EMV_TIMEOUT Read card Timeout
-14 EMV_MULTI_PICC Read card multi Picc
Trade IC card. Not pure magnetic
-15 EMV_ICC_INTERFACE
strip
-20 EMV_ENCRYPT_ERROR Trade encrypt error
-21 EMV_UNENCRYPTED Trade unencrypted
-999 EMV_OTHER_ERROR Other error
2.5.29. PosEmvAid
Property Describe Value Type Example
AID Application id. Tag 9F06 byte[] “A000000004”
Version Application version. Tag 9F09 byte[] “0001”
Application select flags:
FULL_MATCH or PART_MATCH True: FULL_MATCH
SelectIndicator boolean
Partial match between 9F06 False: PART_MATCH
and ICC 4F supported
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 73 / 98
True: Contact
TypeIndicator Application Type boolean
False: Contactless
AcquirerId Acquirer Id. Tag 9F01 byte[] "A00000000001"
dDOL dDol. Tag 97 byte[] "9F3704"
tDOL tDol. Tag 9F49 byte[] "9F3704"
TACDenial TAC Denial byte[] "0000000000"
TACOnline TAC Online byte[] "0000000000"
TACDefault TAC Default byte[] "0000000000"
Threshold of bias random
Threshold int
selection
Target percentage of random
TargetPercentage int
selection
The maximum target
MaxTargetPercentag
percentage of offset random int
e
selection
FloorLimit Floor Limit int
ContactlessTransLimi
Contactless Trans Limit int
t
ContactlessCVMLimi
Contactless CVM Limit int
t
ContactlessFloorLimi
Contactless Floor Limit int
t
DynamicTransLimit Dynamic Trans Limit int
TerminalType Terminal Type 9F35 byte[] “22”
TerminalCapabilities Terminal Capabilities 9F33 byte[] “E0E888”
AdditionalTerminalC Additional Terminal Capabilities
byte[] “D8E00000”
apabilities 9F40
TerminalRiskManage Terminal Risk Management
byte[] “2000000000000000”
mentData Data 9F1D
TerminalCountryCod
Terminal Country Code 9F1A byte[] "0356"
e
MerchantCategoryC
Merchant Category Code 9F15 byte[] "0356"
ode
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 74 / 98
TransCurrencyCode Trans Currency Code 5F2A byte[] "0356"
TransCurrencyExp Trans Currency Exp 5F36 byte[] “02”
TerminalType, TerminalCapabilities, AdditionalTerminalCapabilities, TerminalCountryCode, MerchantCategoryCode,
TransCurrencyCode, TransCurrencyExp.
If it is set, the parameters in the AID will be used. If not set, the parameters in the Terminal will be used by default.
2.5.30. PosEmvCapk
Property Describe Value Type Example
RID Application id. 9F06 byte[] “A000000004”
CapkIndex key id byte 0x01
AIRTH_IND_RSA
HashInd HASH algorithm flag byte
AIRTH_IND_SM
HASH_IND_NO
AlgorithmInd RSA algorithm flag byte
HASH_IND_SHA1
Modul Module content. byte[]
Exponent Exponent content byte[]
CheckSum key checksum byte[]
2.5.31. PosEmvRevocationIPK
Property Describe Value Type Example
RID Application id. 9F06 byte[] “A000000004”
CapkIndex key id byte 0x01
SerialNo Certificate serial number byte[]
2.5.32. PosEmvExceptionFile
Property Describe Value Type Example
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 75 / 98
ucPan Pan byte[]
ucSerialNo Serial number byte[]
2.5.33. EmvDrlConstraints
Constant names Describe
DRLDATA DRL Data
DF01 variable DRL delimiter
DRL_SET_DELIMITER_TAG
DF01 length is equal to the length of the following TLV
9F5A 1 to 16 Mandatory. Application program Identifier
DRL_SET_ID_TAG
(AMEX does not have this configuration.)
DRL_SET_FLOOR_LIMIT_TAG DF23 6 Optional. Reader Contactless Floor Limit
DRL_SET_TRANSACTION_LIMIT_TAG DF24 6 Optional. Reader Contactless Transaction Limit
DRL_SET_CVM_REQUIRED_LIMIT_T
DF26 6 Optional. Reader CVM Required Limit
AG
DF30 Entry Point
Byte 1
B8: StatusCheckSupportFlag
b7: ZeroAmountAllowedFlag
DRL_SET_ENTRY_POINT_TAG
b6: ContactLessTransactionLimitFlag
b5: ContactLessFloorLimitFlag
b4: CVMRequiredLimitFlag
b3..b1 : RFU
DF32 Status Zero Amount Allowed Flag
DRL_SET_STATUS_ZERO_AMOUNT_ Byte 1
TAG 0x01: option1 = online cryptogram request
0x02: option2 = not allowed
TLV Example :
DF01 26 9F5A023031 DF2406323030303030 DF23053130303030 DF26053130303030 DF3001F8 DF320101
DF01 2B 9F5A0730313133323333 DF2406323030303030 DF23053130303030 DF26053130303030 DF3001F8
DF320101
2.5.34. EmvServiceConstraints
Constant names Describe
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 76 / 98
RUPAYSERVICEDATA Service Data
RUPAYPRMISSKEY PR Miss Key
DF01 variable Service delimiter
SERVICE_SET_DELIMITER_TAG
DF01 length is equal to the length of the following TLV
DF16 4 Mandatory.
SERVICE_SET_ID_TAG
Service Identifier
DF17 5 Mandatory. Service Qualifier
Byte 1
8-2 Priority Number
SERVICE_SET_QUALIFIER_TAG 1 0b Cardholder Confirmation is needed
1b Cardholder Confirmation NOT needed
Byte 2-3 Service ID 0xDF16
Byte 4-5 Default Service Management Info 0xDF15
SERVICE_SET_DATA_TAG DF24 Var(Max 96) Optional. Service Terminal Data
SERVICE_SET_PRMACQ_DELIMITER_ DF02 variable PRMacq delimiter
TAG DF02 length is equal to the length of the following TLV
SERVICE_SET_PRMACQ_KCV_TAG DF54 3 Mandatory PRMacq KCV
SERVICE_SET_PRMACQ_KEY_TAG DF48 8 Mandatory PRMacq KEY
TLV Example :
DF01 820107 DF160431303130 DF170A36303130313042353030
DF4581C03031303630353330303530313031313130303030303230303031303230313032303630303041303130
313033303230313032303330343035303630373038313132323333303130323031303231353035303131303130
313030303030303030303130303030313030303030303031303230333030303130323034303130303030303030
303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030
30303030303030303030303030303030 DF022C
DF48204436393437303545444630444642423532303233433133344345423935344535 DF5406413332424241
DF01 820107 DF160431303131 DF170A36303130313142353030
DF4581C03031303630353330303530313031313130303030303230303031303230313032303630303041303130
313033303230313032303330343035303630373038313132323333303130323031303231353035303131303130
313030303030303030303130303030313030303030303031303230333030303130323034303130303030303030
303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030
30303030303030303030303030303030 DF022C
DF48204436393437303545444630444642423532303233433133344345423935344535 DF5406413332424241
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 77 / 98
2.5.35. EmvTermCfgConstraints
Constant names Describe Bundle Value Type Example
MERCHNAME Merchant Location 9F4E byte[] "Railway Operator"
MERCHCATECODE Merchant Category Code 9F15 byte[] "0356"
MERCHID Merchant Id 9F16 byte[] "000000000000000"
TERMID Terminal Id 9F1C byte[] "Terminal"
TERMINALTYPE Terminal Type 9F35 byte[] “22”
TERMINALCAPABILIT
Terminal Capabilities 9F33 byte[] “E0E888”
Y
TERMINALEXCAPABI Additional Terminal Capabilities
byte[] “D8E00000”
LITY 9F40
REFERCURREXP Trans Ref Currency Exp 9F3D byte[] “02”
Transaction Ref Currency Code
REFERCURRCODE byte[] "0356"
9F3C
TRANSCURREXP Trans Currency Exp 5F36 byte[] “02”
TRANSCURRCODE Trans Currency Code 5F2A byte[] "0356"
TERMINALCOUNTRY
Terminal Country Code 9F1A byte[] "0356"
CODE
IFDSERIALNUMBER IFD Serial Number 9F1E byte[] “12345678”
TERMINALENTRYMO
Terminal Entry Mode 9F39 byte[] “05”
DE
PSE PSE boolean Default:true
CARDHOLDERCONFI
Card Holder Confirm boolean Default:true
RM
PREFERREDORDER Preferred Order boolean Default:false
LANGUAGESELECT Language Select boolean Default:false
REVOCATIONOFISSU
Revocation Issuer Public Key boolean Default:true
ERPUBLICKEY
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 78 / 98
DEFAULTDDOL Default DOL boolean Default:true
DEFAULTTDOL Default DOL boolean Default:true
BYPASSPINENTRY Bypass PIN Entry boolean Default:true
GETDATAFORPINCO
Get Data For PIN Counter boolean Default:true
UNTER
SUBSEQUENTBYPASS
Subsequent Bypass PIN Entry boolean Default:true
PINENTRY
RANDOMTRANSACTI
Random Transaction Selection boolean Default:true
ONSELECTION
VELOCITYCHECKING Velocity Checking boolean Default:true
TRANSACTIONLOG Transaction Log boolean Default:true
EXCEPTIONFILE Exception File boolean Default:true
ISSUERREFERRAL Issuer Referral boolean Default:false
FLOORLIMITCHECKI
Floor limit checking boolean Default:true
NG
UNABLETOGOONLIN
Unable to go online boolean Default:false
E
FORCEDONLINE Forced Online boolean Default:false
FORCEDACCEPTANC
Forced Acceptance boolean Default:false
E
TerminalType, TerminalCapabilities, AdditionalTerminalCapabilities, TerminalCountryCode, MerchantCategoryCode,
TransCurrencyCode, TransCurrencyExp.
If it is set, the parameters in the AID will be used. If not set, the parameters in the Terminal will be used by default.
2.5.35.1. MasterCard
Constant names Describe
MASTER_SET_DEFAULT_UDOL_TAG DF1A Default UDOL
MASTER_SET_KERNEL_ID_TAG DF0C Kernel ID
MASTER_SET_MAGSTRIPE_AVN_TA
9F6D Magstripe Application Version Number
G
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 79 / 98
DF1E Magstripe CVM Capabilities CVM Required
Byte 1
B8..b5:
0000: No CVM
MASTER_SET_MAGSTRIPE_CVM_CA
0001: Obtain Signature
PABILITIES_TAG
0010: Online PIN
1111: N/A
Other: RFU
b4..b1 : RFU
DF2C Magstripe CVM Capabilities No CVM Required
Byte 1
B8..b5:
0000: No CVM
MASTER_SET_MAGSTRIPE_NO_CV
0001: Obtain Signature
M_CAPABILITIES_TAG
0010: Online PIN
1111: N/A
Other: RFU
b4..b1 : RFU
MASTER_SET_MOBILE_SUPPORT_IN
9F7E Mobile Support Indicator
DICATOR_TAG
DF18 CVM Capabilities CVM Required
Byte 1
B8: Plaintext PIN for ICC verification
MASTER_SET_CVM_CAPABILITIES_T b7: Enciphered PIN for online verification
AG b6: Signature (paper)
b5: Enciphered PIN for offline verification
b4: No CVM required
b3..b1: RFU
DF19 CVM Capabilities No CVM Required
Byte 1
B8: Plaintext PIN for ICC verification
MASTER_SET_NO_CVM_CAPABILITI b7: Enciphered PIN for online verification
ES_TAG b6: Signature (paper)
b5: Enciphered PIN for offline verification
b4: No CVM required
b3..b1: RFU
DF1B Kernel Configuration
Byte 1
MASTER_SET_KERNEL_CONFIG_TAG
b8: only EMV supported
b7: only Magstripe supported
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 80 / 98
b6: On device cardholder verification supported
b5: Relay resistance protocol supported
b4..b3 : RFU
MASTER_SET_MIN_GRACE_RRP_TA
DF32 Minimum Relay Resistance Grace Period
G
MASTER_SET_MAX_GRACE_RRP_TA
DF33 Maximum Relay Resistance Grace Period
G
MASTER_SET_CAPDU_EXPECTED_R
DF34 Terminal Expected Transmission Time For Relay Resistance C-APDU
RP_TAG
MASTER_SET_RAPDU_EXPECTED_R
DF35 Terminal Expected Transmission Time For Relay Resistance R-APDU
RP_TAG
MASTER_SET_ACCURACY_THRESHO
DF36 Relay Resistance Accuracy Threshold
LD_RRP_TAG
MASTER_SET_MISMATCH_THRESHO
DF37 Relay Resistance Transmission Time Mismatch Threshold
LD_RRP_TAG
TLV Example :
DF1A039F6A04 DF1E0110 DF1E0100 DF180128 DF190160 DF1B0130
2.5.35.2. Visa
Constant names Describe Example
9F66 Terminal Transaction Qualifiers
Byte 1
bit 8: 1 = MSD supported (Mandatory no support)
bit 7: RFU (0)
bit 6: 1 = qVSDC supported
bit 5: 1 = EMV contact chip supported
bit 4: 1 = Offline-only reader
bit 3: 1 = Online PIN supported
bit 2: 1 = Signature supported
VISA_SET_QUALIFIERS_TAG
bit 1: 1 = Offline Data Authentication (ODA) for Online Authorizations
supported.
Byte 2
bit 8: 1 = Online cryptogram required
bit 7: 1 = CVM required
bits 6-1: RFU (00000)
Byte 3
bit 8: 1 = Issuer Update Processing supported
bit 7: 1 = Mobile functionality supported (Consumer Device CVM)
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 81 / 98
bits 6-1: RFU (000000)
Byte 4
RFU ('00')
TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning
of the transaction. All other TTQ bits are static values, and not modified
based on transaction conditions.
TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.
DF1B Kernel Configuration
VISA_SET_KERNEL_CONFIG_TAG Byte 1
b1: DrlSupportFlag
DF30 Entry Point
Byte 1
B8: StatusCheckSupportFlag
b7: ZeroAmountAllowedFlag
VISA_SET_ENTRY_POINT_TAG
b6: ContactLessTransactionLimitFlag
b5: ContactLessFloorLimitFlag
b4: CVMRequiredLimitFlag
b3..b1 : RFU
DF32 Status Zero Amount Allowed Flag
VISA_SET_STATUS_ZERO_AMOUNT_ Byte 1
TAG 0x01: option1 = online cryptogram request
0x02: option2 = not allowed
TLV Example :
DF3001F8 DF320101 DF1B0100 9F660436004000
2.5.35.3. Discover
Constant names Describe
9F66 Terminal Transaction Qualifiers
Byte 1
bit 8: 1 = MSD supported
bit 7: RFU (0)
bit 6: 1 = EMV supported
DISCOVER_SET_QUALIFIERS_TAG bit 5: 1 = EMV contact chip supported
bit 4: 1 = Offline-only reader
bit 3: 1 = Online PIN supported
bit 2: 1 = Signature supported
bit 1: RFU
Byte 2
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 82 / 98
bit 8: 1 = Online cryptogram required
bit 7: 1 = CVM required
bits 6-1: RFU (00000)
Byte 3
bit 8: 1 = Issuer Update Processing supported
bit 7: 1 = Mobile functionality supported (Consumer Device CVM)
bits 6-1: RFU (000000)
Byte 4
RFU ('00')
TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning
of the transaction. All other TTQ bits are static values, and not modified
based on transaction conditions.
TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.
DF30 Entry Point
Byte 1
B8: StatusCheckSupportFlag
b7: ZeroAmountAllowedFlag
DISCOVER_SET_ENTRY_POINT_TAG
b6: ContactLessTransactionLimitFlag
b5: ContactLessFloorLimitFlag
b4: CVMRequiredLimitFlag
b3..b1 : RFU
DF32 Status Zero Amount Allowed Flag
DISCOVER_SET_STATUS_ZERO_AMO Byte 1
UNT_TAG 0x01: option1 = online cryptogram request
0x02: option2 = not allowed
TLV Example :
DF3001F8 DF320101 9F6604B6004000
2.5.35.4. Amex
Constant names Describe
9F6E Enhanced ContactLess Reader Capabilities
Byte 1
bit 8: 1 = EMV contact chip supported
bit 7: 1 = MSD supported
AMEX_SET_CAPABILITIES_TAG
bit 6: 0 = (Fixed parameter)
bit 5: 1 = (Fixed parameter)
bit 4: 1 = (Fixed parameter)
bit 3: 1 = Try Another Interface after a decline
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 83 / 98
bit 2: RFU
bit 1: RFU
Byte 2
bit 8: 1 = Mobile CVM supported
bit 7: 1 = Online PIN supported
bit 6: 1 = Signature supported
bits 5-1: RFU (00000)
Byte 3
bit 8: 1 = Terminal is offline only
bit 7: 1 = CVM Required
bits 6-1: RFU (000000)
Byte 4
RFU ('00')
Byte 3 bit 7 are transient values, and reset to zero at the beginning of the
transaction.
DF1B Kernel Configuration
Byte 1
AMEX_SET_KERNEL_CONFIG_TAG b3: DelayedAuthorizationFlag
b2: UseTACDefaultIfUnableToGoOnlineFlag
b1: DrlSupportFlag
DF30 Entry Point
Byte 1
B8: StatusCheckSupportFlag
b7: ZeroAmountAllowedFlag
AMEX_SET_ENTRY_POINT_TAG
b6: ContactLessTransactionLimitFlag
b5: ContactLessFloorLimitFlag
b4: CVMRequiredLimitFlag
b3..b1 : RFU
DF32 Status Zero Amount Allowed Flag
AMEX_SET_STATUS_ZERO_AMOUNT Byte 1
_TAG 0x01: option1 = online cryptogram request
0x02: option2 = not allowed
TLV Example :
DF3001F8 DF320101 DF1B0100 9F6E04C0E00000
2.5.35.5. Quics
Constant names Describe
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 84 / 98
9F66 Terminal Transaction Qualifiers
Byte 1
bit 8: RFU
bit 7: 1 = Full transaction flow in ContactLess interface Support
(Mandatory no support)
bit 6: 1 = EMV supported
bit 5: 1 = EMV contact chip supported
bit 4: 1 = Offline-only reader
bit 3: 1 = Online PIN supported
bit 2: 1 = Signature supported
bit 1: RFU
Byte 2
bit 8: 1 = Online cryptogram required
QUICS_SET_QUALIFIERS_TAG
bit 7: 1 = CVM required
bits 6-1: RFU (00000)
Byte 3
bit 8: RFU
bit 7: 1 = Mobile functionality supported (Consumer Device CVM)
bits 6-1: RFU (000000)
Byte 4
bit 8: 1 = fDDA v1.0 Supported (Mandatory support)
bits 7-1: RFU (000000)
TTQ byte 2 bits 8-7 are transient values, and reset to zero at the beginning
of the transaction. All other TTQ bits are static values, and not modified
based on transaction conditions.
TTQ byte 3 bit 7 shall be set by the acquirer-merchant to 1b.
DF30 Entry Point
Byte 1
B8: StatusCheckSupportFlag
b7: ZeroAmountAllowedFlag
QUICS_SET_ENTRY_POINT_TAG
b6: ContactLessTransactionLimitFlag
b5: ContactLessFloorLimitFlag
b4: CVMRequiredLimitFlag
b3..b1 : RFU
DF32 Status Zero Amount Allowed Flag
QUICS_SET_STATUS_ZERO_AMOUN Byte 1
T_TAG 0x01: option1 = online cryptogram request
0x02: option2 = not allowed
TLV Example :
DF3001F8 DF320101 9F660436004000
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 85 / 98
2.5.36. EmvTransDataConstraints
Constant names Describe Bundle Value Type Example
PosEmvCoreManager.EMV_CASH,
TRANSTYPE Trans Type(9C) int
PosEmvCoreManager.EMV_GOODS,
TRANSAMT Trans Amt(9F02) int 1 == 0.01, 100 == 1.
CASHBACKAMT Trans Cashback Amt(9F03) int 1 == 0.01, 100 == 1.
TRANSDATE Trans Date(9A) String YYMMDD
TRANSTIME Trans Time(9F21) String hhmmss
Support for the ICC, PICC, MSD
PosEmvCoreManager.
DEV_ICC|DEV_PICC| DEV_MAG;
TRANSMODE Trans Card Type int
Support for the ICC, PICC
PosEmvCoreManager.
DEV_ICC|DEV_PICC;
TRANSFALLBACK Trans Fallback boolean Whether the IC card is degraded.
TRANSTIMEOUTMS Card Search Time int 60ms
Dynamic encryption configuration
Support for the ICC, PICC, MSD :
ENCRYPT_OPEN_ICC |
OPENENCRYPT Open Encrypt int ENCRYPT_OPEN_PICC|
ENCRYPT_OPEN_MAG;
Only support MSD :
ENCRYPT_OPEN_MAG
ENCRYPTCONTACT Encrypt Contact Bundle Encryption configuration.
ENCRYPTCONTACTLE
Encrypt Contactless Bundle Encryption configuration.
SS
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 86 / 98
ENCRYPTMAGSTRIPE Encrypt MagStripe Bundle Encryption configuration.
ENCRYPTKEYINDEX Encrypt Key Index int
Version type :
0x01 - TDK
0x02 - DUKPT MAC
ENCRYPTKEYTYPE Encrypt Key Type int 0x03 - DUKPT DATA REQUEST
0x04 - DUKPT DATA RESPONSE
0x05 - DUKPT PIN
0x06 - RSA TRANS ARMOR
ENCRYPTPADDING Encrypt Padding byte “0”
Version type :
0x01 - ECB
0x02 - CBC
ENCRYPTMODE Encrypt Mode int
Constant type :
CARDREADER_MODE_ECB = 1;
CARDREADER_MODE_CBC = 2;
ENCRYPTVECTOR Encrypt Vector byte [] Hex : 0000000000000000
RSATRANSARMORP
RSA Trans Armor POS Id byte [] Byte: 12345678
OSID
RSATRANSARMORKE
RSA Trans Armor Key Id byte [] Hex: 166257982464
YID
ENCRYPTBASE64 Encrypt Base64 boolean
2.5.37. EmvPinConstraints
Constant names Describe Bundle Value Type Example
PIN_TYPE_OFF_PIN,
PINTYPE Pin Type int
PIN_TYPE_ONLINE_PIN,
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 87 / 98
PIN_TYPE_OFF_CIPHER_PIN,
“444212131313”
If Encrypt is turned off, it will
PINCARD Card(5A) String
return; if it is not turned off, it
will not return.
If Encrypt is turned on, it will
PINENCRYPTCARD Encrypt Card String return. If it is not turned on, it
will not return.
PINALLOWBYPASS Pin ByPass boolean
PINOFFTRYCNT Pin TryCnt int
Off-line cipher text random
PINCARDRND byte[]
number
Off-line cipher text pub
PINPUBEXP byte[]
exponents
Off-line cipher text pub
PINPUBMODEL byte[]
model
OUTPINBLOCK Pin input results, PinBlock byte[]
Pin input results,
OUTPINOFFTRYCNT int
PinOffTryCnt
PosEmvCoreManager.
EMV_VERIFY_SUC,
// succeed
EMV_VERIFY_NO_PINPAD,
Pin input results,
OUTPINVERIFYRESULT int // No password keyboard or keyboard
PinVerifyResult
EMV_VERIFY_NO_PASSWORD,
// No password or user ignores the
password input
EMV_VERIFY_PIN_ERROR,
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 88 / 98
// Password error 63cx
EMV_VERIFY_PIN_BLOCK,
// Pin locking
2.5.38. EmvOnlineRequestConstraints
Constant names Describe Bundle Value Type Example
“9F4104000000019F1E08393030303
03030319F3303E0F9C89F350122950
EMVDATA EMV Data byte[] 500000000009F3704F18FDDAD9F020
60000000121019F030600000000000
0”
DF30 : Track 1 56
DF31 : Track 2 57
ENCRYPTDATA Encrypt Data byte[]
DF32: PAN 5A
DF33 : PAN Mask
0 means encryption is successful and
ENCRYPTRESULT Encrypt Result int
other failures
2.5.39. EmvOnlineResultConstraints
Constant names Describe Bundle Value Type Example
EMV_ONLINE_APPROVE
3030
EMV_ONLINE_FAIL
REQUESTAC Authorization Code Tag 8A int !3030
EMV_ONLINE_DENIAL
Connection failed, connection failed
(Y3 / Z3)
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 89 / 98
REQUESTAUTHCODE Issuer Data Tag 91 byte[] “9108E64A2FE21FD88672”
“72219F180411223344860D8424000
REQUESTSCRIPT Issuer Script Tag 71,72 byte[] 008AABBCCDD112233448609842400
000455667788”
2.5.40. EmvProcessResultConstraints
Constant names Describe Bundle Value Type Example
“9F4104000000019F1E08393030303
03030319F3303E0F9C89F350122950
EMVDATA EMV Data byte[] 500000000009F3704F18FDDAD9F020
60000000121019F030600000000000
0”
CVM_NO_CVM,
CVM_SIGNATURE,
CVM CVM int CVM_CONFIRMATION_CODE_VERIFIE
D,
CVM_SEE_PHONE
REQUSETISSUESCRIPT Script Result byte[]
DF30 : Track 1 56
DF31 : Track 2 57
ENCRYPTDATA Encrypt Data byte[]
DF32: PAN 5A
DF33 : PAN Mask
0 means encryption is successful and
ENCRYPTRESULT Encrypt Result int
other failures
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 90 / 98
3. POI SDK Error Code
3.1. ICCR Error Code
Error code Error name Comment
F7CC(-2100) SC_VCCERR Voltage mode error
F7CB(-2101) SC_SLOTERR Cartoon error
F7CA(-2102) SC_PARERR Parity error
F7C9(-2103) SC_PARAERR Parameter error
F7C8(-2104) SC_PROTOCALERR Protocol error
F7C7(-2105) SC_DATALENERR Wrong data length
F7C6(-2106) SC_CARDOUT Card out
F7C5(-2107) SC_NORESET Not initialized
F7C4(-2108) SC_TIMEOUT Card communication timeout
F7C3(-2109) SC_PPSERR PPS error
F7C2(-2110) SC_ATRERR ATR error
F7C1(-2111) SC_APDUERR Card communication failed
F7AD(-2131) MEMIC_ERR_FAIL Operation failed
F7AC(-2132) MEMIC_ERR_NOCARD No card
The card was removed during the
F7AB(-2133) MEMIC_ERR_CARD_REMOVED
operation
F7AA(-2134) MEMIC_ERR_UNSUP_TYPE Card type is not supported
F7A9(-2135) MEMIC_ERR_MFC Card manufacturer code is incorrect
F7A8(-2136) MEMIC_ERR_PARAM Parameter error
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 91 / 98
F7A7(-2137) MEMIC_ERR_UNSUP_OPT Operation is not supported yet
F7A6(-2138) MEMIC_ERR_AUTH Authentication failed
F7A5(-2139) MEMIC_ERR_CHECK Bad password, limited number of times
F7A4(-2140) MEMIC_ERR_VERIFY Wrong password, no limit
F7A3(-2141) MEMIC_ERR_READ Failed to read
F7A2(-2142) MEMIC_ERR_WRITE Write failure
F7A1(-2143) MEMIC_ERR_ERASE Erase failed
F7A0(-2144) MEMIC_ERR_RESC Failed to reset password verification
F79F(-2145) MEMIC_ERR_NACK Did not receive ACK
F79E(-2146) MEMIC_ERR_WRITE_P Write protection bit failed
F79D(-2147) MEMIC_ERR_PROTECTED Has been write protected, not operational
F79C(-2148) MEMIC_ERR_KEY_UPDATE Password update failed
F79B(-2149) MEMIC_ERR_CARD_LOCKED Card is locked
3.2. PCD Error Code
Error code Error name Comment
F447(-3001) RET_RF_ERR_PARAM Parameter error
F446(-3002) RET_RF_ERR_NO_OPEN RF module is not turned on
F445(-3003) RET_RF_ERR_NOT_ACT Card not activated
F444(-3004) RET_RF_ERR_MULTI_CARD Multiple cards
F443(-3005) RET_RF_ERR_TIMEOUT Timeout is not responding
F442(-3006) RET_RF_ERR_PROTOCOL Protocol error
F441(-3007) RET_RF_ERR_TRANSMIT Communication transmission error
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 92 / 98
F440(-3008) RET_RF_ERR_AUTH M1 card authentication failed
F43F(-3009) RET_RF_ERR_NO_AUTH Sector not certified
Numeric block data format is incorrect, or
F43E(-3010) RET_RF_ERR_VAL the file size is large in DES Fire card
operation tiny error
F43D(-3011) RET_RF_ERR_CARD_EXIST The card is still in the sensing area inside
Card status error (such as a/b card call m1
F43C(-3012) RET_RF_ERR_STATUS
card interface)
F43B(-3013) RET_RF_ERR_OVERFLOW
F43A(-3014) RET_RF_ERR_FAILED DES Fire card should answer data error
F439(-3015) RET_RF_ERR_COLLERR
Application buffer empty in DES Fire card
F438(-3016) RET_RF_ERR_FIFO
operation Lack of
F437(-3017) RET_RF_ERR_CRC
F436(-3018) RET_RF_ERR_FRAMING
F435(-3019) RET_RF_ERR_PARITY
DES Fire card response Data DES operation
F434(-3020) RET_RF_ERR_DES_VAL
result is inconsistent
The operation is not allowed. For example,
when the currently selected file is not a
F433(-3021) RET_RF_ERR_NOT_ALLOWED
record file, the read record cannot be
executed.
Operating interface chip does not exist
F3E4(-3100) RET_RF_ERR_CHIP_ABNORMAL
Or abnormal
F37F(-3201) RET_RF_DET_ERR_INVALID_PARAM
F37E(-3202) RET_RF_DET_ERR_NO_POWER
F37D(-3203) RET_RF_DET_ERR_NO_CARD
F37C(-3,204) RET_RF_DET_ERR_MULTIPLE_CARDS
F37B(-3,205) RET_RF_DET_ERR_ACT
F37A(-3,206) RET_RF_DET_ERR_PROTOCOL
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 93 / 98
F31B(-3,301) RET_RF_CMD_ERR_INVALID_PARAM
F31A(-3,302) RET_RF_CMD_ERR_NO_POWER
F319(-3,303) RET_RF_CMD_ERR_NO_CARD
F318(-3,304) RET_RF_CMD_ERR_TX
F317(-3,305) RET_RF_CMD_ERR_PROTOCOL
FF38(-200) PHILIPS_MIFARE_ERR_NACK
FF37(-201) PHILIPS_MIFARE_ERR_COMM
FF36(-202) PHILIPS_MIFARE_ERR_AUTHEN
FF35(-203) PHILIPS_MIFARE_ERR_CRC
FF34(-204) PHILIPS_MIFARE_ERR_REJECT
3.3. MSR Error Code
Error code Error name Comment
0xFFFF(-1) Open, close the magnetic stripe card failed
0xFD41(-703) ERR_MSR_READERR Read the card, but read the card wrong
0xFD42(-702) ERR_MSR_OPENERR
0xFD43(-701) ERR_MSR_NOSWIPED
3.4. Keypad Error Code
Error code Error name Comment
FFFF(-1) Time out
FFFD(-3) User cancel input (ESC key)
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 94 / 98
FFFC(-4) IC card is removed
Password length mode setting is not
FFFB(-5) ERR_PIN_LEN required to be greater than 4 Less than 12
digits
FFFA(-6) KEY_ERRPAD Keyboard (TP) module error
FC0B(-1013) KB_USER_ENTER_Exit User cancel input (command mode)
FC09(-1015) KB_USER_SLEEP User actively goes to sleep
FC03(-1021) TP_TAG_ERR Did not receive 0x73 this TLV
The number of button coordinates
FC02(-1022) TP_TLV_ERR
received is incorrect.
The coordinates received are incorrect,
FC01(-1023) TP_EXG_SIZE_ERR upper left and lower right Coordinates are
not logical
Coordinate exchange command wait
FC00(-1024) TP_CMDEXG_TO_ERR
timeout
3.5. RTC Error Code
Error code Error name Comment
FC7C(-900) TIME_FORMAT_ERR Time format error
FC7B(-901) TIME_YEAR_ERR Year error
FC7A(-902) TIME_MONTH_ERR Month error
FC79(-903) TIME_DAY_ERR Day error
FC78(-904) TIME_HOUR_ERR Hour error
FC77(-905) TIME_MINUTE_ERR Minute error
FC76(-906) TIME_SECOND_ERR Second error
FC75(-907) TIME_WEEK_ERR Weekly error
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 95 / 98
FC74(-908) TIME_SET_ERR Setup failed
FC73(-909) TIME_GET_ERR Acquisition failed
FC72(-910) TIME_RAMADDR_OVER Time content address is exceeded
FC71(-911) TIME_RAMLEN_OVER Length of time exceeded
3.6. HSM Error Code
Error code Error name Comment
FED3(-301) PED_RET_ERR_NO_KEY The key does not exist
Key index error, parameter index not in
FED2(-302) PED_RET_ERR_KEYIDX_ERR
range
Source key class when the key is written
FED1(-303) PED_RET_ERR_DERIVE_ERR The type error or level is lower than the
destination key
FED0(-304) PED_RET_ERR_CHECK_KEY_FAIL Key verification failed
FECF(-305) PED_RET_ERR_NO_PIN_INPUT Did not enter the pin
FECE(-306) PED_RET_ERR_INPUT_CANCEL User cancels input pin
Function call is less than minimum interval
FECD(-307) PED_RET_ERR_WAIT_INTERVAL
time
FECC(-308) PED_RET_ERR_CHECK_MODE_ERR KCV mode is wrong, not supported
Not authorized to use this key, PED current
FECB(-309) PED_RET_ERR_NO_RIGHT_USE key tag value and want to make The key
tag values used are not equal
FECA(-310) PED_RET_ERR_KEY_TYPE_ERR Key type error
FEC9(-311) PED_RET_ERR_EXPLEN_ERR Expected pin length string wrong
The destination key index is wrong, not
FEC8(-312) PED_RET_ERR_DSTKEY_IDX_ERR
Within the scope
The source key index is incorrect, not in
scope or when the key is written, the value
FEC7(-313) PED_RET_ERR_SRCKEY_IDX_ERR
of the source key type is greater than the
destination Key type, will return the key
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 96 / 98
FEC6(-314) PED_RET_ERR_KEY_LEN_ERR Key length error
FEC5(-315) PED_RET_ERR_INPUT_TIMEOUT Input pin timeout
FEC4(-316) PED_RET_ERR_NO_ICC ICC card does not exist
FEC3(-317) PED_RET_ERR_ICC_NO_INIT ICC card is not initialized
FEC2(-318) PED_RET_ERR_GROUP_IDX_ERR DUKPT group index number error
FEC1(-319) PED_RET_ERR_PARAM_PTR_NULL The pointer parameter is illegally empty
FEC0(-320) PED_RET_ERR_TAMPERED PED has been attacked
FEBF(-321) PED_RET_ERROR PED generic error
FEBE(-322) PED_RET_ERR_NOMORE_BUF No free buffer
FEBD(-323) PED_RET_ERR_NEED_ADMIN Need to get advanced permissions
FEBC(-324) PED_RET_ERR_DUKPT_OVERFLOW DUKPT has overflowed
FEBB(-325) PED_RET_ERR_KCV_CHECK_FAIL KCV checksum failed
Source key id when writing the key
FEBA(-326) PED_RET_ERR_SRCKEY_TYPE_ERR
Key type and source key type do not match
FEB9(-327) PED_RET_ERR_UNSPT_CMD Command not supported
FEB8(-328) PED_RET_ERR_COMM_ERR Communication error
FEB7(-329) PED_RET_ERR_NO_UAPUK No user authentication public key
FEB6(-330) PED_RET_ERR_ADMIN_ERR Failed to take system sensitive service
FEB5(-331) PED_RET_ERR_DOWNLOAD_INACTIVE PED is inactive download state
FEB4(-332) PED_RET_ERR_KCV_ODD_CHECK_FAIL KCV odd parity failed
FEB3(-333) PED_RET_ERR_PED_DATA_RW_FAIL Failed to read PED data
ICC card operation error (offline
FEB2(-334) PED_RET_ERR_ICC_CMD_ERR
Text, Cipher text password verification)
The key written is all zero or equal, there
FEB1(-335) PED_RET_ERR_KEY_VALUE_INVALID are equal components, and the 16/24 byte
key has two components equal.
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 97 / 98
FEB0(-336) PED_RET_ERR_KEY_VALUE_EXIST Already have the same key value
FEAF(-337) PED_RET_ERR_UART_PARAM_INVALID Serial port parameters are not supported
The key index is not selected or is not
PED_RET_ERR_KEY_INDEX_NOT_SELE
FEAE(-338) related to the selected key index.
CT_OR_NOT_MATCH
Wait
FEAD(-339) PED_RET_ERR_INPUT_CLEAR User presses clear key to exit Input pin
FEAC(-340) PED_RET_ERR_LOAD_TRK_FAIL
FEAB(-341) PED_RET_ERR_TRK_VERIFY_FAIL
FEAA(-342) PED_RET_ERR_MSR_STATUS_INVALID
FEA9(-343) PED_RET_ERR_NO_FREE_FLASH
FEA8(-344) PED_RET_ERR_DUKPT_NEED_INC_KSN DUKPT KSN needs to be added 1
FEA7(-345) PED_RET_ERR_KCV_MODE_ERR KCV mode error
FEA6(-346) PED_RET_ERR_DUKPT_NO_KCV NO KCV
FEA5(-347) PED_RET_ERR_PIN_BYPASS_BYFUNKEY Press the FN/atm4 key to cancel the pin
FEA4(-348) PED_RET_ERR_MAC_ERR
FEA3(-349) PED_RET_ERR_CRC_ERR
FEA2(-350) PED_RET_ERR_ALG_ERR
FEA1(-351) PED_RET_ERR_STATE
FEA0(-352) PED_RET_ERR_PWD
FE9F(-353) PED_RET_ERR_NEWPWD
FE9E(-354) PED_RET_ERR_PWDOVERRUN
FE9D(-355) PED_RET_ERR_REQ_SSA
FE9C(-356) PED_RET_ERR_UNLOCK_TIMEOUT
FE9B(-357) PED_RET_ERR_UNLOCK_PARAM
FE9A(-358) PED_RET_ERR_UNLOCK_NO
XCHENG HOLDING Co., Ltd.
XCHENG HOLDING Co., Ltd. XC-API-P001
`
POI SDK Specification V1.1 98 / 98
FE99(-359) PED_RET_ERR_UNLOCK_CHECK
FE98(-360) PED_RET_ERR_NEED_RESET
FE97(-361) PED_RET_ERR_RNG
FE96(-362) PED_RET_ERR_NEED_RMT_AUTH
FE70(-400) PED_RET_ERR_KEY_KCV_TAB_NULL
FE6F(-401) PED_RET_ERR_PED_CFG_RW_FAIL
FE6E(-402) PED_RET_ERR_SEK_VERIFY_FAIL
FE6D(-403) PED_RET_ERR_SEK_ALL_ZERO
FE6C(-404) PED_RET_ERR_PINBLOCK_FMT
FE6B(-405) PED_RET_ERR_PIN_LEN
FE6A(-406) PED_RET_ERR_PAN_LEN
FE69(-407) PED_RET_ERR_DATA_LEN
FE68(-408) PED_RET_ERR_KEY_LEN
FE67(-409) PED_RET_ERR_CMAC
FE66(-410) PED_RET_ERR_READ_CFG
FE65(-411) PED_RET_ERR_KEY_STRENGTH
FE64(-412) PED_RET_ERR_PARAM
FE63(-413) PED_RET_ERR_WORK_MODE
FE62(-414) PED_RET_ERR_KEY_INDEX
FE61(-415) PED_RET_ERR_KEYBLOCK_VER
FE60(-416) PED_RET_ERR_FORBIDDEN
FE5F(-417) PED_RET_ERR_INVALID_SIGN
FE5E(-418) PED_RET_ERR_INVALID_USE
XCHENG HOLDING Co., Ltd.