Skip to content

Repository files navigation

Handpoint Android Demo App

A reference demo application for the Handpoint Android SDK on PAX SmartPOS terminals.

It demonstrates every SDK operation, all five acquirer configurations, automatic transaction recovery, and the Interac VOID flow — with no business logic in the way.

What it shows

Feature Where
SDK initialization and connection HpSdk.kt
All financial operations (Sale, Refund, Pre-Auth, MOTO, Tokenize) HpSdk.kt
Per-acquirer capability flags AcquirerConfig.kt
Config-driven button visibility MainActivity.kt → applyAcquirerConfig()
Interac VOID detection and UI MainActivity.kt → updateInteracButtons()
Transaction recovery (SharedPreferences + exponential backoff) HpSdk.kt
Automatic receipt printing MainActivity.kt → onTransactionResult()

Prerequisites

  • A PAX A920 or compatible SmartPOS terminal enrolled in Handpoint TMS
  • Your Shared Secret Key (SSK) and Cloud API Key from the Handpoint Portal
  • Android Studio Meerkat or later (Kotlin 2.1+)
  • SDK 7.1012.3 or later — resolves from the Handpoint Nexus server (see below)

Setup

1. Add your credentials

Create local.properties in the project root (it is already gitignored):

sdk.dir=/path/to/android/sdk

# Your Handpoint merchant credentials
HANDPOINT_SHARED_SECRET=your_shared_secret_key
HANDPOINT_CLOUD_API_KEY=your_cloud_api_key

The credentials are read into BuildConfig at compile time by app/build.gradle.kts — they are never stored in source files.

2. Select your acquirer

Open MainActivity.kt and change the config constant at the top of the class:

// Change to match your merchant account
private val config: AcquirerConfig = AcquirerConfigs.EPI

Available configs: EPI, PAYSAFE_INTERAC, PAYSAFE_US, EMERCHANTPAY, PAYSTRAX.
See AcquirerConfig.kt for the full capability matrix.

3. Build and run

./gradlew :app:assembleDebug
adb install app/build/outputs/apk/debug/app-debug.apk

Or open the project in Android Studio and run directly on a connected PAX terminal.

SDK version

The demo targets SDK 7.1012.3. To use a different stable version, update both the buildConfigField and the implementation dependency in app/build.gradle.kts.

For RC/SNAPSHOT builds, contact Handpoint support for Nexus access credentials, then add them to local.properties:

nexusUsername=PROVIDED_BY_HANDPOINT
nexusPassword=PROVIDED_BY_HANDPOINT

Documentation

License

Copyright © Handpoint. All rights reserved.

About

Reference demo app for the Handpoint Android SDK on PAX SmartPOS terminals

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages