Skip to main content
Version: Next

Introduction


tip

If you are currently using 6.x of the Android SDK, take a look at the migration guide to 7.x

The new generation of Handpoint APIs and SDKs are engineered to make your life simpler and happier.

Awesomely simple

Created for humans, coders, geeks, no need of a dark and complex knowledge of the payment industry.


Super secure

We take care of PCI compliance so you can be kept out of PCI scope. The Handpoint terminals encrypt all sensitive cardholder data so your app does not have to deal with it.

SDK distribution

The Handpoint Android SDK is available on Maven central as well as the Handpoint internal Nexus server. Maven central contains the production builds while Nexus contains development snapshots of the SDK.

  • If you are integrating your software with a PAX debug terminal you will need to get the SDK from Nexus.
  • If you are integrating your software with a PAX production terminal you will need to get the SDK from Maven Central.
  • If you are integrating your software with an HiLite terminal you will need to get the SDK from Maven Central.

The Handpoint Android SDK is compatible with Android version 5.1.1 (API level 22) and up. The latest version is compiled with java 1.8

AndroidManifest.xml

We strongly recommend you add the following to your AndroidManifest.xml:

  • Inside the tag <application> -> android:extractNativeLibs:"true"
<application
android:extractNativeLibs:"true"
...
...
...>
</application>
  • Inside the tag <activity> -> android:launchMode="singleTask":
<activity android:name=".MainActivity"
android:launchMode="singleTask">
...
...
</activity>

Gradle Settings

For production terminals (Maven):

 //Handpoint Production SDK (Production terminals)
implementation 'com.handpoint.api:sdk:7.x.x'

In the gradle.build (Top-level build file) for production terminals (Maven):

      allprojects {     //Handpoint Production SDK (Production terminals)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
}
}

For debug terminals (Nexus) [Only applies to PAX/Telpo devices]:

 //Handpoint Staging/Development SDK (Debug terminals)
implementation 'com.handpoint.api:sdk:7.x.x-RC.x-SNAPSHOT'

In the gradle.build (Top-level build file) for debug terminals (Nexus) [Only applies to PAX/Telpo devices]:

      allprojects {   //Handpoint Staging/Development SDK (Debug terminals)
repositories {
google()
mavenCentral()
maven {
name = "Handpoint Nexus"
url = uri("urlProvided") //URL provided by Handpoint once you order a dev kit
credentials { //Credentials provided by Handpoint once you order a dev kit
username = 'usernameProvided'
password = 'passwordProvided'
}
}
}
}
  • Some considerations to keep in mind when using gradle (for both production and debug terminals)

    In the gradle.build (app module) add the following packaging options:

    android {
    defaultConfig {
    minSdkVersion 22 //Required to support all PAX & Telpo models
    targetSdkVersion 29 //If using version targetSdkVersion 30 or higher, please note that you will need
    //to add android:exported="true" or android:exported="false" in your activities
    multiDexEnabled true
    ndk {
    abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64"
    }
    }

    packagingOptions {
    pickFirst '**/*.so'
    exclude 'META-INF/*'
    exclude '**/anim/*.xml'
    exclude '**/layout/*.xml'
    exclude 'resources.arsc'
    exclude 'AndroidManifest.xml'
    exclude '**/animator/*.xml'
    }
    }

Maven Settings

For production terminals:

    <dependency>
<groupId>com.handpoint.api</groupId>
<artifactId>sdk</artifactId>
<version>[7.1001.0,)</version>
<type>aar</type>
</dependency>
tip

If using AndroidX you will need to switch the following flags to true:
android.enableJetifier=true
android.useAndroidX=true

It is time to visit our Integration Guides section.

If you have any questions, do not hesitate to Contact Us.