Configuring CliSiTef to access external pinpads
Important: this Section only applies to the scenario with a smartphone/tablet connected to an external pinpad via USB or Bluetooth. It does not apply to APOS terminals that have an internal pinpad nor to the Verifone Carbon 10 terminal, which has a fixed external pinpad with internal communication.
As of jCliSiTefI version 4.0.0.10 (Android), the following external pinpads are supported 1 :
Model | Access mode |
---|---|
PAX D200 | Bluetooth |
PAX D180 | Bluetooth |
PAX D150 | Bluetooth (low energy) |
Ingenico iCMP | Bluetooth |
Gertec MobiPin | Bluetooth |
Gertec MP 5 | Bluetooth |
Datecs Bluepad | Bluetooth |
Newland ME30S | Bluetooth |
Gertec PPC-900 e PPC-910 | USB |
Ingenico iPP-320 e iPP-350 | USB |
Important: communication with a USB pinpad is only possible on devices with Android 3.1 “Honeycomb” (API level 12) or higher.
To guarantee access to the Bluetooth and networking resources required by CliSiTef in your application, it is necessary to include some permissions in the application manifest (file AndroidManifest.xml):
Furthermore, for CliSiTef to use supported Bluetooth pinpads, they must be paired in Android settings.
Each pinpad has a way of pairing and obtaining the code. These configuration instructions should be obtained from the manufacturers.
Important: communication with the pinpad must be done in “Secure Communication” mode. That is, the pinpad must support this feature.
To maintain compatibility with previous versions, CliSiTef adopts the following connection sequence:
- Try to get the list of connected USB devices.
- If you recognize any of the USB pinpads from the list above, try connecting.
- The list of USB pinpads is fixed internally, as each USB device has a specific Vendor ID and Product ID, which have been previously tested by Software Express.
- If you don't get a valid device, try getting a Bluetooth pinpad. Note that in this case, the Bluetooth interface will be automatically turned on. Additionally, the application must have permissions in the project manifest (see section below).
To force the use of CliSiTef with exactly one type of connection to the pinpad (Bluetooth or USB), indicate in the additional parameters of the configureIntSiTefInterativoEx() / configure() method the TipoPinPad parameter, as shown in the table below:
Value for PinPad Type | Description |
---|---|
ANDROID_AUTO | Attempts to obtain connection according to the heuristic above. |
ANDROID_USB | Try to connect only with USB pinpads. |
ANDROID_BT | Try to connect only with the Bluetooth pinpad. |
Example: