dsiEMVAndroid™
What is dsiEMVAndroid?
dsiEMVAndroid is an Android library that provides applications with the ability to process an EMV (chip card) electronic payment. More Specifically, dsiEMVAndroid is an Android .aar library that is compatible with most Android devices with an minimum API level of 23. dsiEMVAndroid is designed to communicate exclusively to Datacap’s NETePay Hosted™ platform, and doesn’t require an in-store NETePay application. Communication to NETePay Hosted uses the Android device’s IP stack, and all messages are encrypted for secure transmission over open networks (such as the Internet).
The dsiEMVAndroid control uses XML formatted requests and responses for transaction processing requests. For help getting started with dsiEMVAndroid, see Datacap’s dsiEMVAndroid Demo app on GitHub, or contact Datacap Integration Support.
dsiEMVAndroid enables support for semi-integrated SureTap™ SoftPOSSureTap™ SoftPOS. SureTap is Datacap's "bring-your-own-device" SoftPOS solution that turns NFC-enabled Android devices into secure payment acceptance tools, eliminating the need for dedicated hardware.
How dsiEMVAndroid™ Works
dsiEMVAndroid is a library that is compiled directly into the POS application and runs on an Android device. Once the app calls into the dsiEMVAndroid control to start a transaction, dsiEMVAndroid takes over the payment flow: it connects directly to the paired EMV secure device over Bluetooth LE, USB, or IP, prompts the customer for payment, and captures and encrypts cardholder data at the device itself. dsiEMVAndroid then builds an XML-formatted request and sends it as an outgoing HTTPS request over the Android device's own IP stack directly to Datacap's NETePay Hosted™ platform. From there, the request is routed to a backend processor for authorization, and the response flows back through dsiEMVAndroid to the POS application.
dsiEMVAndroid supports two development models: On-padOn-pad and Off-padOff-pad. On-pad apps run directly on the Android payment device (e.g. a PAX or Ingenico Android terminal), sharing screen time with the device's own retail application (PXRetailer or UXR) to display card entry, PIN, and signature prompts, and communicating with it over a local loopback IP address. Off-pad apps run on a separate Android device, such as a phone or tablet, and dsiEMVAndroid communicates with an external, paired EMV secure device over Bluetooth LE, USB, or IP instead.
Supported Library Functions
View the full dsiEMVAndroid functions herespec for implementation.
Function Name |
|---|
ProcessTransaction |
CollectCardData |
GetDevicesInfo |
CancelRequest |
AddLineItem |
RemoveLineItem |
ClearLineItems |
EstablishBluetoothConnection |
Disconnect |
AddBluetoothConnectionListener |
AddDisplayMessageListener |
AddProcessTransactionResponseListener |
SetProcessListener |
AddEstablishBluetoothConnectionResponseListener |
GetLogFiles |
GetDBFiles |
Supported EMV PIN Pad Devices (SecureDevice)
View the full list of dsiEMVAndroid Supported devices here
The EMV PIN pads supported by dsiEMVAndroid can be determined by performing the GetDevicesInfo method available in dsiEMVAndroid. See Functions ListSee GetDevicesInfo for details.
Device/Payment Processing Provider | <SecureDevice> Value |
|---|---|
ID TECH VP3300 - Datacap E2E | EMV_VP3300_DATACAP |
ID TECH VP3300 - Datacap E2E via RS-232 | EMV_VP3300_DATACAP_RS232 |
ID TECH VP3350 - Datacap E2E | EMV_VP3350_DATACAP |
ID TECH VP3350 - PCI-Validated P2PE | EMV_VP3350_DATACAP_BLUEFIN |
ID TECH VP8300 - Datacap E2E | EMV_VP8300_DATACAP |
ID TECH VP7200 - Datacap E2E | EMV_VP7200_DATACAP |
Ingenico DX4000 - Datacap E2E | EMV_DX4000_DATACAP_E2E |
Ingenico DX4000 - PCI-Validated P2PE | EMV_DX4000_DATACAP_BLUEFIN |
Ingenico DX8000 - Datacap E2E | EMV_DX8000_DATACAP_E2E |
Ingenico DX8000 - PCI-Validated P2PE | EMV_DX8000_DATACAP_BLUEFIN |
Ingenico EX6000 - Datacap E2E | EMV_EX6000_DATACAP_E2E |
Ingenico EX6000 - PCI-Validated P2PE | EMV_EX6000_DATACAP_BLUEFIN |
Ingenico EX8000 - Datacap E2E | EMV_EX8000_DATACAP_E2E |
Ingenico EX8000 - PCI-Validated P2PE | EMV_EX8000_DATACAP_BLUEFIN |
Ingenico RX5000 - Datacap E2E | EMV_RX5000_DATACAP_E2E |
Ingenico RX5000 - PCI-Validated P2PE | EMV_RX5000_DATACAP_BLUEFIN |
Ingenico RX7000 - Datacap E2E | EMV_RX7000_DATACAP_E2E |
Ingenico RX7000 - PCI-Validated P2PE | EMV_RX7000_DATACAP_BLUEFIN |
Ingenico Lane/3000 | EMV_LANE3000_DATACAP_E2E |
Ingenico Lane/7000 | EMV_LANE7000_DATACAP_E2E |
PAX A920Pro - Datacap E2E | EMV_A920PRO_DATACAP_E2E |
PAX A920MAX - Datacap E2E | EMV_A920PRO_DATACAP_E2E |
PAX A30 - Datacap E2E | EMV_A30_DATACAP_E2E |
PAX A35 - Datacap E2E | EMV_A35_DATACAP_E2E |
PAX A60 - Datacap E2E | EMV_A60_DATACAP_E2E |
PAX A77 - Datacap E2E | EMV_A77_DATACAP_E2E |
PAX A6650 - Datacap E2E | EMV_A6650_DATACAP_E2E |
PAX A6630 - Datacap E2E | EMV_A6630_DATACAP_E2E |
PAX A800 - Datacap E2E | EMV_A800_DATACAP_E2E |
PAX A800 - Bluefin E2E | EMV_A800_DATACAP_BLUEFIN |
PAX A3700 - Datacap E2E | EMV_A3700_DATACAP |
PAX A3700 - Bluefin E2E | EMV_A3700_DATACAP_BLUEFIN |
PAX A6650 - Datacap E2E | EMV_A6650_DATACAP_E2E |
PAX Aries6 - Datacap E2E | EMV_ARIES6_DATACAP_E2E |
PAX Aries8 - Datacap E2E | EMV_ARIES8_DATACAP_E2E |
PAX IM30 - Datacap E2E | EMV_IM30_DATACAP_E2E |
Request Full Access to dsiEMVAndroid API
Get started: Request developer credentials for free access to every product's integration guide.