Account Data
The field accountData
contains one of the following items:
Payment Cards​
- Track data (unencrypted/encrypted)
- EMV data (unencrypted/encrypted)
- Manually keyed number
Check21 Transactions​
- MICR data
Track Data​
The system supports submission of track data in two ways - encrypted and unencrypted. Both are submitted within the accountData
field.
Unencrypted Track Data​
When the accountData
field contains unencrypted track data, it has to be encoded before it is sent to eliminate any issues with special characters. Use standard URL encoding procedure for that.
Encrypted Track Data​
If track data is encrypted, generally, encoding is not required (but it may be needed if non-alpha-numeric characters are present). The system accepts track data encrypted by both external and internal encryption methods.
- Internal Encryption: The system will decrypt track data with a key registered within the system and submit decrypted value for processing.
- External Encryption: The data will be passed to the processor as it was received by the gateway without modifications.
To identify that submitted data is encrypted, its value has to be preceded by tilde sign (~
). Otherwise, the system assumes that data is unencrypted.
Example: ~021301000F3D0000%*4111.....
Supported Encryption Algorithms​
Currently, three encryption algorithms are supported for track data encryption:
- TDES - A symmetric algorithm that requires one key for both encryption and decryption. Used by ID Tech devices.
- AES - A symmetric algorithm that requires one key for both encryption and decryption. Used by ID Tech devices.
- RSA - An asymmetric algorithm that requires two different keys for encryption (public key) and decryption (private key). Used by a native terminal application.
Supported Device Models​
Currently, the following ID Tech models are supported by the system:
- M100
- M130
The UniPay/UniBroker application receives audio track data (encrypted or decrypted) from USB card readers (audio-jack) in hexadecimal format and transforms them into ASCII format.
EMV Data​
Unencrypted EMV Data​
When the accountData
field contains unencrypted EMV data, its value has to be preceded by exclamation mark (!
).
Example: !4F07A00.....
Encrypted EMV Data​
To identify that submitted EMV data is encrypted, its value has to be preceded by exclamation mark and tilde sign (!~
or ~!
).
Example: !~021301000F3D0000%*4111.....
EMV Tags​
EMV processing requires various tags to be included in the receipt. These tags are also included in account data associated with a particular EMV card. Tags in transaction response come in random order, so the format can start from any available tag.
Account data in transaction response includes both required and optional tags:
- Tag
0x91
is a required tag. It is always present in the transaction response. - Tag
0x8A
allows to check the status of the transaction. It is optional and whether it is present or not in the response depends upon the processor.
Full list of EMV tags is available here.
Please see request and response examples of sale operation with EMV card for more details.