PAX Back to Devices
PAX devices are different from our other offering as the application, with the GoChip integration, will run on the device itself.
Supported devices
Android | |
---|---|
PAX A80 | ✔ |
PAX A920 | ✔ |
PAX A920 PRO | ✔ |
PAX E700 | ✔ |
PAX E800 | ✔ |
PAX E500 | ✔ |
PAX IM30 | ✔ |
Configuring PAX devices
- To be able to support decrypting EBT/EMV transactions, PAX devices need to be correctly configured with DUKPT encryption keys.
-
The following slots are required to be injected (for testing use the following keys):
Slot 1 - used for Online PIN encryption
Slot 2 - used for DATA encryption
Slot 3 - used for EBT pin encryption
- PAX devices will also need to be activated and registered in PAXstore.
- Once registered, TermLink (tested using version:V1.02.02_20200717 and V1.04.02_20210617) is required to be installed which is responsible for communicating with device modules (magstripe, EMV and contactless).
- With the PAX A80, there's the ability to use an external PED - the PAX SP30. If using the SP30 as the external PED:
- For E700 devices, Q20L needs to have the following Termlink version installed: V1.01.00
- For E500 devices, Q20L needs to have the following Termlink version installed: V1.01.02
- For E800 devices, Q20L needs to have the following Termlink version installed: V1.01.02
Installation Instructions
SDK
Before proceeding, please download all necessary files for your device. You can find all the necessary files in the Downloads section.
- Please use the following link which describes how to install the SDK
- Follow this link to set up your API key
- Using the package provided, and once SDK is installed, install the PAX libraries by dropping them in your project.
-
Initialize the SDK by calling
AndroidTerminal.getInstance().initWithConfiguration(this, "TERMINAL_ID");
-
Once onSettingsRetrieved is called, initialize the device using the following code
AndroidTerminal.getInstance().initDevice(DeviceEnum.PAX, DeviceConnectionType.AIDL, null, null);
- For E700, E800 and E500 device please use
DeviceConnectionType.USB AndroidTerminal.getInstance().initDevice(DeviceEnum.PAX, DeviceConnectionType.USB, null, null);
- onDeviceConnected will be returned if the device has been successfully initialized.
- At this point you can start processing EBT transactions.
EMV
Configuring PAX device with EMV configuration
Please ensure your API key is set up correctly.
- Download the following configuration file. For IM30 use this configuration file.
- Copy the configuration file to PAX sdcard
- Import sample application to Android Studio, build it and install it on the device
- Navigate to side menu “App Settings” and enter your terminal ID and tap on Save button
- Once the SDK gets initialized, tap on pinpad icon in top right corner and select PAX from the list
- Once the device get connected, navigate to App Settings and tap on Load Configuration button
- Tap on Confirm and select paxConfig.zip from the list
- Once loaded, tap on Save button
- To test the transaction, enter amount, tap on SALE button and select either EMV or EBT transaction EMV transactions
-
To start EMV transaction
CoreSale coreSale = new CoreSale(BigDecimal.valueOf(12.00)); coreSale.setTransactionInputMethod(CoreTransactionInputMetho d.SWIPE_OR_INSERT_OR_TAP_OR_KEYED); AndroidTerminal.getInstance().processSale(coreSale);
- If the card requires a PIN, the onRequestPin callback will be triggered the same as for EBT.
- If the card requires signature, onSignatureRequired will be triggered with CoreSignature object to be populated with x and y coordinates of the signature. Our sample app contains the sample code for drawing signature using canvas. Below is the sample code.
- The transaction gets processed and the transaction response will be returned in onSaleResponse callback method.