Manual for Linea or Infinea device
Product information
Limitations
- Detailed limits for the RFID cards are found here. We recommend to use NTAGs. Namely NFC Forum Type 2 Tags. (They fall into the category Mifare Ultralight but they are NDEF formatted)
- Infinea X has RFID antenna exactly bellow iPhones native NFC scanner -> When Infinea X initiates RFID antenna ( Gonector_Read or Gonector_SetScriptEvent ) it leads to triggering of iOS NFC detection and iOS opens ApplePay view. Workaround is to remove all cards added to iOS Wallet application.
Connecting the Linea or Infinea device
To successfully connect the Linea or Infinea device it is necessary to call function Gonector_Connect( "LineaInfinea" ) and press a hardware button. For Linea Pro 7 it is the button on the right hand side of the device.
Connection troubleshooting guide
- Open Settings of the iOS device
- Open the General tab on the iOS device
- Open About on the iOS device
- Scroll down and see if the device is mentioned in the list of options
- If the device is not visible in the list of options, try to press the hardware button mentioned in the specification of the device as a startup button
- If the device is still not visible in the list of options, try reconnecting the device by removing it completely
- If the device is still not visible in the list of options, try to restart the iOS device
- If the device is still not visible in the list of options, try upgrading the firmware of the iOS device
- If the device is still not visible in the list of options, contact the supplier at https://stimare.net/contact-us/
- If the device is visible in the list of options but it is not possible to use the function Gonector_Connect successfully, please contact our support at support@24usoftware.com
Solving issues with Linea or Infinea device
- Device is connected to iOS, but i cannot use the device and cannot get firmwareVersion neither
Linea and Infinea devices use special protocol for communication, which has to be specified in your app. Into the .plist file of the project in Xcode, add new Row with the value "Supported external accessory protocol" and add the Strings:
- "com.datecs.linea.pro.msr"
- "com.datecs.linea.pro.bar"
- I cannot read some of the supported barcodes
Barcodes Codabar, Code93 and ITF14 are disabled by default for Linea Pro 7. To initiate reading it is necessary to read following codes
Apple App Store Requirements
If you build an app for any Infinite Peripherals device and are going to distribute your app on the App Store, you will need to register the app with Infinite Peripherals in order to obtain MFi Authorization
You can do so through the Infinite Peripherals website at https://developer.ipcmobile.com/profile/. Infinite Peripherals will provide you with an identification number (PPID) that you have to include in review notes when submitting your app
Select "Yes" for the "Bluetooth feature" option when registering your app as some of the supported devices use Bluetooth with a non-standard profile for communication.
NOTE: If you already did this step for IPC DPP-255 printer or Infinea mPos device in the same App you do not have to do this again for LineaInfinea device
Security
LineaInfinea stripe key guide
To manipulate the key for stripe reading you have two functions: Gonector_Set( "deviceStripeKey" ; ... ) and Gonector_Set( "connectionStripeKey" ; ... ).
Function Gonector_Set( "deviceStripeKey" ; ... ) stores the StripeKey directly in the device and so the plugin has no access to this key.
After every Gonector_Connect function you should set the same key with function Gonector_Set("connectionStripeKey" ; ... ) for stripe reading.
In fact the StripeKey is not used to decrypt the card. The StripeKey is used as a "Loading key" and at the same time a random session key is created and stored in the device and the plugin.
The StripeKey is never stored in the plugin.
Like this the plugin does not know the StripeKey and the user does not know the session key.
The device knows both keys and is able to provide handling for both keys.
As soon as the function Disconnect is called the session key disappears.
Those mechanics are provided by the device and they serve to protect the credit card data.
The plugin was designed to comply with those rules.
How to use the StripeKey:
- 1. Set a unique stripe key in the device with Gonector_Set( "deviceStripeKey" ; ... )
- 2. Use the stripe key to set a session key in the plugin with Gonector_Set("connectionStripeKey" ; ... )
- Repeat step 2. after every disconnect
Note: You don't need to set the deviceStripeKey anymore unless it becomes reasonable according to PCI compliance.
App Developer Key
- Create an account at Infinite Peripherals developer portal
- After you account is approved you can create an app developer key in your main profile page
- Bundle ID Name for your generated key has to be the same as the bundle id of your app
- Before you use any Linea or Infinea device you have to first call:
Gonector_Set("appDevKey" ; "" ; "<your app dev key>")