void onTransferData(byte[] data) function the data follows the TLV (Tag-Length-Value) format, which consists of:
- Tag (1 byte): Identifies the type of data.
- Length (1 byte): Specifies the length of the value.
- Value (N bytes): Contains the actual data.
Example
IfonTransferData(byte\[] data) receives the following bytes:
- 5 is the tag for Card BIN
- 6 is the Length, in this case, 6 bytes
- 345678 is the value of the First 6 digits of the card number.
Tag Descriptions
The table below describes different types of data that can be transferred using this function:| Tag | Tag Name | Data Size | Description |
|---|---|---|---|
1 | Transaction ID | 8 bytes | Unique identifier for the transaction. |
2 | “Choose Product” Timeout | 2 bytes | Timeout for the “Choose Product” prompt. |
3 | Card Type | 1 byte | Identifies the type of card used. More on that below. |
4 | Card Entry Mode | 1 byte | Identifies how the card was entered (swiped, tapped, inserted, etc.). More on that below. |
5 | Card BIN | 6 bytes | First 6 digits of the card number (ASCII). |
6 | Card PAN Hash | 20 bytes | SHA1 hash of the whole card PAN (to protect card data). |
7 | Proprietary Card UID | MiFare- 4, 7, or 10 bytes Magstripe- up to 40 bytes QR- up to 255 bytes | Unique identifier for proprietary cards. QR- numeric values only |
8 | VMC Authorization Status | 1 byte | Authorization result (0 = Approved, 1 = Declined). |
9 | COM Status | 1 byte | Communication status between the server and the device. |
10 | FTL Data | Up to 500 bytes | Raw data transferred at a lower level (MDB Level 3). |
11 | Create Layout | 4 bytes | Layout creation request. |
12 | Update Layout | Up to 500 bytes | Updates an existing layout using the ExtraData field. |
13 | Credit Card Last Four Digits | 4 bytes (ASCII) | Last four digits of the credit card (in ASCII). |
14 | Product Code | 2 bytes | Code identifying the purchased product. |
15 | Product Price | 4 bytes | Price of the product. |
16 | Customized Data / General Purpose | Up to 500 bytes | JSON-formatted custom data (specific details TBD). |
17 | Consumer ID | Up to 500 bytes | Unique consumer identifier (e.g., Passport, ID Number). ASCII string. |
18 | Main Software Version | 14 bytes | Version of the device’s Main software running on the device. |
19 | POS Software Version | 10 bytes | Version of the device’s POS software running on the device. |
20 | Default Credit | 2 bytes | Predefined credit amount as set in Nayax Core. |
21 | Monyx ID | 9 bytes | ID related to Monyx payment system as defined in Nayax Core. |
22 | Final Price | 4 bytes | Final transaction price after discounts. |
23 | Card Sub-Type | 1 byte | More detailed classification of the card type. More on that below. |
24 | Card Balance | 4 bytes | The remaining balance on the proprietary card. |
25 | Transfer to BLE | N bytes | Data to be transmitted over Bluetooth/BLE. Related to Nayax EV (internal Nayax request) |
26 | Select Brand | 8 bytes | Relevant only for the Japanese market! Peripheral->Device: Select the brand to pay, instead of having the brand selection screen before that. Device > Peripheral: After the pairing process, update the peripheral in the 64-bit bitfield of configured brands. |
27 | Proprietary Card Name | N (up to 500) bytes | Proprietary card Description, arrived from tag 239 from Nayax’s server |
28 | Site ID | 1 Byte | Site ID information from Nayax’s servers that arrives in the authorization response |
| Credit Card | Proprietary Card |
|---|---|
| Tag 3: Card Type (value in range “2”-“6”) Tag 4: Entry Mode Tag 5: Card BIN Tag 6: Card PAN Hash Tag 13: Credit card last four digits Tag 1: Transaction ID Tag 9: COM Status | Tag 3: Card Type (value of “1”) Tag 4: Entry Mode (value of”1” if Magstripe, “4” if MiFare, “5” if HID, “10” if QR) Tag 7: Proprietary Card UID Tag 1: Transaction ID Tag 9: COM Status |