Classes - A - I
These classes are equipped with helper classes named Builders. Builders can parse the raw data byte array of an OnEvent() into a format required by a builder’s class.
For the complete documentation index, see llms.txt. This page is also available as Markdown.
BarCodeData
These constructors initialize a BarCodeData object. Use BarCodeDataBuilder.GetBarCodeData with data from the BarCodeData event to return a BarcodeData.
BarCodeData BarCodeDataBuilder.GetBarCodeData(
DeviceType deviceType,
byte[] dataBytes
);
new BarCodeData(byte[] Data, boolean Encrypted);
new BarCodeData(
byte[] Data,
boolean Encrypted,
byte EncryptionType,
byte[] KSN
);Data()
Returns the data payload.
Encrypted()
Returns the encryption status. false = data is not encrypted true = data is encrypted
EncryptionType()
Returns the encryption type.
KSN()
Returns the Key Serial Number.
Return Value: Returns an instance of BarCodeData.
CertificateInfo
CertificateInfo is used for the connection to a device requiring client credentials. See the following for details on installing a certificate chain: D998200550 DynaFlex II PED Using Wireless LAN Guide.
This constructor initialize a CertificateInfo object. Once created, it is to be passed to CoreAPI.createDevice().
format getFormat()
String
Certificate data format. “PKCS12” – for .p12 file. “PFX” – for .pfx file.
data getData()
byte[]
Certificate data.
password getPassword()
String
Password to access the certificate data.
Return Value: Returns an instance of Certificate Info. Example of using CertificateInfo.
ConnectionStateBuilder
This class returns the connection state of the device when supplied the data object of the OnEvent() ConnectionState event.
CONNECTED
Returns string of connected.
CONNECTING
Returns string of connecting.
DISCONNECTED
Returns string of disconnected.
DISCONNECTING
Returns string of disconnecting.
ERROR
Returns string of error.
GetString()
Returns string of the ConnectionState enum.
GetValue()
Returns ConnectionState enum from the event data string value.
Return Value: Returns an instance of ConnectionStateBuilder.
DirectoryEntry
DirectoryEntry is similar to an InputRequest for Application during a transaction. Other fields of information are included besides Application Label. During a transaction, the device selects the PPSE. The directory entries are the PPSE response starting from the BF0C tag. The number of directory entries correspond to the number of applications on the card.
These constructors initialize a DirectoryEntry object.
Aid
String
Application Identifier. Tag 4F
Label
String
Application Label. Tag 50
Priority
byte
Application Priority Indicator. Tag 87
ProprietaryData
byte[]
Application Selection Registered Proprietary Data. Tag 9F0A
KernelIdentifier
byte
Kernel Identifier. Tag 9F2A
IssuerIN
byte[3]
Issuer Identification Number. Tag 42
IssuerINE
byte[4]
Issuer Identification Number Extended. Tag 9F0C
IssuerCountryCodeAlpha2
byte[2]
Issuer Country Code (alpha2 format). Tag 5F55
IssuerCountryCodeAlpha3
byte[3]
Issuer Country Code (alpha3 format). Tag 5F56
CardProductDetails
byte[2]
Card Product Details. Tag 9F7D
Return Value: Returns an instance of DirectoryEntry.
EnhancedInputRequest
This supplies a directory entry list for application selection after a card has been presented to the device during a transaction. To be implemented, Application Selection Behavior property 1.2.1.1.1.2 must be set to 0x03 – Enhanced Prompt Cardholder.
The data byte array from the EnhancedInputRequest event is parsed and returned as an enhanced application selection list (directory entry). This list is the PPSE response starting from tag BF0C. EnhancedInputRequest class extends InputRequest.
EnhancedSelectionList()
List<DirectoryEntry>
Returns a list of enhanced application selection.
setEnhancedSelectionList()
List<DirectoryEntry>
Sets a list of enhanced application selection.
Title()
String
Title to display.
Type()
int
Selection type.
Timeout()
long
Timeout in seconds to make selection.
IData
IData is used for the payload of events and passing data to functions. When assigning the member StringValue, the member ByteArray is automatically assigned. Same is true vice versa. In this way either a string or an array can be accessed without need of data conversion.
Use the BaseData() function to assign an instance of IData.
StringValue()
String
Returns a string value.
ByteArray()
byte[]
Returns a byte array.
Example of using IData.
InputRequest
This is used for displaying messages prompted by the card during a transaction. The data byte array from the InputRequest event is parsed and returned as an application selection list.
Type() setType()
byte
Input type.
0x00 = INPUT_TYPE_APPLICATION
0x01 = INPUT_TYPE_LANGUAGE
Timeout() setTimeout
byte
Timeout in seconds
Title() setTitle()
string
Title
SelectionList() setSelectionList()
List<String>
List of selections for Application and Language depending on the Type.
INPUT_TYPE_APPLICATION
0x00
Selection type is for Application.
INPUT_TYPE_LANGUAGE
0x01
Selection type is for Language.
INPUT_STATUS_COMPLETED
0x00
To send the status of completed for sendSelection().
INPUT_STATUS_CANCELLED
0x01
To send the status of canceled for sendSelection().
INPUT_STATUS_TIMED_OUT
0x02
To send the status of timed out for sendSelection().
Return Value: Returns an instance of InputRequest.
ITransaction
This is the interface used as the parameter for startTransaction(). For an example, see the sample code in IDevice Walk Through.
Timeout
byte
Transaction timeout in seconds. Default is 60 seconds. 0 to 255 - Depending on the device, 0 means no timeout.
PaymentMethods
List of Payment Method
List of the PaymentMethod enumeration.
MSR = For magnetic stripe cards.
Contact = For EMV chip cards.
Contactless = For NFC contactless cards.
ManualEntry = Manually entry, no card. When set, other payment methods must not be included.
Barcode = For barcode.
BarcodeEncrypted = For barcode with encrypted response.
AppleVAS = For Apple VAS.
GoogleVAS = For Google Wallet VAS.
NFC = For NFC tag.
QuickChip
boolean
In QuickChip mode, the device does not prompt for an amount. Device sends an ARQC request to the host. Device automatically populates the ARPC response data with EMV Tag 8A set to “Z3”. Card holder is prompted to remove the card. Transaction result is later determined by the processor and not by the card.
false - Do not enable QuickChip mode.
true - Enable QuickChip mode. Default.
EMVOnly
boolean
Flag that determines whether or not to start an EMV transaction.
false - Do not start transaction if the device does not support EMV.
true - Only start transaction if the device supports EMV. Default.
PreventMSRSignature ForCardWithICC
boolean
Flag that forces the device to skip signature capture during an MSR-only transaction if the card’s service code indicates it is a chip card.
false – Allow the prompt for a signature if requested.
true – Do not prompt for signature.
SuppressThankYouMes sage
boolean
By default, devices with a display signal the end of a transaction by briefly showing “THANK YOU,” then “WELCOME.”
false – Do not suppress the thank you message.
true – Suppress the thank you message.
DisplayAmountForQuic kChip
boolean
Display Amount for Quick Chip Transaction Flow.
false = Do not display Amount when QuickChip mode is true. Default.
true = Display Amount when QuickChip mode is true.
OverrideFinalTransacti onMessage
byte
By default, devices with a display signal the end of a transaction by returning to the idle page and showing “WELCOME.” This parameter directs the device to show a message based on the Message ID from the command displayMessage(). This option completely overrides the device’s idle page behavior until the next transaction, power cycle, or other similar state change.
Example but not limited to:
0x00 - reserved, do not use. 0x01 - “AMOUNT”
0x02 - “AMOUNT OK?”
0x03 - “APPROVED”
0x04 - “CALL YOUR BANK”
0x05 - “CANCEL OR ENTER”
0x06 - “CARD ERROR”
0x07 - “DECLINED”
0x08 - “ENTER AMOUNT”
0x09 - reserved, do not use. 0x0A - reserved, do not use. 0x0B - “INSERT CARD”
0x0C – “NOT ACCEPTED”
0x0D - reserved, do not use. 0x0E - “PLEASE WAIT”
0x0F - “PROCESSING ERROR”
0x10 - “REMOVE CARD”
0x11 - “USE CHIP READER”
0x12 - “USE MAGSTRIPE”
0x13 - “TRY AGAIN”
0x14 - “WELCOME”
0x15 - “PRESENT CARD”
0x16 - “PROCESSING”
0x17 - “CARD READ OK - REMOVE CARD”
0x18 - “INSERT OR SWIPE CARD”
0x19 - “PRESENT ONE CARD ONLY”
0x1A - “APPROVED PLEASE SIGN”
0x1B - “AUTHORIZING PLEASE WAIT”
0x1C - “INSERT, SWIPE OR TRY ANOTHER CARD”
0x1D - “PLEASE INSERT CARD”
0x1E - Null prompt (empty screen) 0x1F - reserved, do not use.
0x20 - “SEE PHONE”
0x21 - “PRESENT CARD AGAIN”
0x22 - “INSERT/SWIPE/TRY OTHER CARD”
0x23 - “TAP or SWIPE CARD”
0x24 - “TAP or INSERT CARD”
0x25 - “TAP, INSERT or SWIPE CARD”
0x26 - “TAP CARD”
0x27 - “TIMEOUT”
0x28 - “TRANSACTION TERMINATED”
EMVResponseFormat
byte
The format of the EMV response.
0x00 – Legacy. Default.
0x01 – RFU
TransactionType
byte 1
EMV Tag 9C - The type of financial transaction, represented by the first two digits of the ISO 8583:1987 Processing Code.
Examples:
0x00 – purchase. Default.
0x01 – cash advance
0x09 – purchase with cashback
0x20 – refund
Supported transaction types can found in the commands programmers manual specific to the device.
Amount
String 12
EMV Tag 9F02 - Authorized amount of the transaction.
Example:
“000000000123” – $1.23
“000000009999” – $99.99
CashBack
String 12
EMV Tag 9F03 - Secondary amount associated with the transaction.
Example:
“000000000123” – $1.23
“000000009999” – $99.99
CurrenyCode
byte[] 2
EMV Tag 5F2A - Currency code of the transaction according to ISO 4217. The byte array is null by default.
Example:
0x0840 = US Dollar 0x0978 = Euro 0x0826 = UK Pound
CurrencyExponent
byte[] 1
EMV Tag 5F36 - The decimal point position from the right of the transaction amount. The byte array is null by default.
Example:
0x02 – decimal point at 2 position from the right.
TransactionCategory
byte[] 1
EMV Tag 9F53 - The type of contactless transaction being performed. The byte array is null by default.
MerchantCategory
byte[] 2
EMV Tag 9F15 - The type of business being done by the merchant, represented according to ISO 18245. The byte array is null by default.
MerchantID
byte[] 15
EMV Tag 9F16 - Used to uniquely identify a given merchant. The byte array is null by default.
MerchantCustomData
byte[] 20
EMV Tag 9F7C – Proprietary merchant data that may be requested. The byte array is null by default.
ManualEntryType
byte
User interface sequence.
0x00 - Card Number, Expiration Date, Security Code
0x01 - Name on Card, Card Number, Expiration Date, Security Code (Reserved for Future Use)
0x02 – Qwick Code, Last 4 digits of Card Number, Security Code (Reserved for future use)
ManualEntryFormat
byte
Card number valid format.
0x00 - PAN min 8, max 21 digits
ManualEntrySound
byte
Beeper feedback.
0x00 - On keypress sound disabled
0x01 - On keypress sound enabled
AppleVASMode
VASMode
An enumeration for the Apple VAS Mode.
AppleVASProtocol
VASProtocol
An enumeration for the Apple VAS Protocol.
ECP2FrameData
byte[] 3-18
Apple ECP2.0 frame from Byte 2 to Byte N. See Apple ECP2.0 specification.
· For example, if ECP2.0 VASUP-A frame is 6A02C3020003FFFF
then Byte 2-N is 0xC3020003FFFF.
· By default, ECP2.0 frame (Byte 2 -N) is 0xC3020003FFFF
CustomNFCTransactionMode
List of NFC TransactionMode
List of NFC transaction modes.
CustomNFCReadDataMode
NFCDataMode
Custom NFC data mode.
TipMode
byte
Tip mode.
0x00 = Disable Tip Mode
0x01 = Show Tip GUI immediately using %
0x02 = Show Tip GUI immediately using $
0x11 = Enable Read Channel(s), with +Tip Button using %
0x12 = Enable Read Channel(s), with +Tip Button, using $
Tip1DisplayMode
byte
Display mode for Tip button 1.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip2DisplayMode
byte
Display mode for Tip button 2.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip3DisplayMode
byte
Display mode for Tip button 3.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip4DisplayMode
byte
Display mode for Tip button 4.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip5DisplayMode
byte
Display mode for Tip button 5.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip6DisplayMode
byte
Display mode for Tip button 6.
0x00 = % or $
0x01 = Display Custom 0x02 = Display NO TIP 0x03 = Disabled
Tip1Value
String
Display value for Tip button 1.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
Tip2Value
String
Display value for Tip button 2.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
Tip3Value
String
Display value for Tip button 3.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
Tip4Value
String
Display value for Tip button 4.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
Tip5Value
String
Display value for Tip button 5.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
Tip6Value
String
Display value for Tip button 6.
“1.00” = $1.00 (Display Mode is $)
“10.0001” = 10.0001% (Display Mode is %)
TaxAmount
String
Tax amount.
“1.00” = $1.00
FunctionalButtonRight Option
byte[] 2
String ID to use for the Right functional button. The byte array is null by default.
When user presses this button, device sends a notification to the host to indicate the present card functional button Right is pressed. Device then waits for the next command from the host. While waiting, the screen shows “PLEASE WAIT”.
null = Disable.
0x0000 to 0x00FF = String ID

