Wink Developers
Home WinkPay
WinkPay

Biometric payments on Android POS

WinkPay is an embedded Android SDK that adds face + palm biometric checkout to point-of-sale apps. It wraps the Wink Cloud identity + payment APIs and layers POS-specific UX — customer-display routing, EMV integration, dual-screen support, MFA + consent — so a partner POS shipping the SDK gets a complete tap-pay-look flow with one WinkPayEmbedded.init(…) call.

SDK 1.5.0 Platform Android · arm64-v8a Distribution WinkPay TMS Auth surface Wink Core API

What is WinkPay

WinkPay isn't a separate Wink — it's a packaging of the Wink biometric identity stack tailored for Android POS hardware. Underneath, every SDK call resolves to one or more Wink Core API calls. On top, the SDK adds:

  • Native customer-display UI — face / palm capture views, card-picker, payment confirmation, MFA + consent dialogs.
  • Dual-display routing — auto-targets the customer screen on terminals with one.
  • Felix EMV integration — chip-and-PIN tap flow optionally combined with biometric check-in.
  • Capture tuning — per-device-class face-ratio defaults, palm overrides, rotation knobs for handhelds with offset sensors.
  • POS-only ergonomics — age-restriction merchant override, external-token mode for processors that own the charge, lite registration for low-friction onboarding.

Where to next

Pick the closest match to what you're building:

How a checkout flows

End-to-end, a face-checkout transaction on a WinkPay-enabled terminal looks like this:

  1. POS hands off — your app calls winkPay.startPayment(request, callback) with the order amount + tender id, then launches the customer-display Activity via createNativeIntent(...).
  2. SDK runs capture — customer-display shows the face-capture view, runs liveness, falls back to palm if face fails (1.4.9+). All on-device.
  3. Wink Cloud identifies — the SDK posts the captured frame to Wink's auth APIs; on success returns a winkTag + a list of the customer's saved cards.
  4. Card picker + MFA — if multiple cards, the customer picks one on the display; MFA + consent dialogs fire if the merchant config requires them.
  5. Charge — either WinkPay charges via its payment rails (default) or returns external tokens for the host to process (returnExternalTokens = true).
  6. Result callbackonSuccess fires on the main thread with the transaction id + amount. Your POS prints the receipt.

The SDK Quickstart shows the full 30-line Kotlin integration that wires all of this.

Supported terminals

The SDK targets arm64-v8a Android, minSdk = 24. Reference deployments on:

  • Sunmi T3 Pro — dual-display terminal; WinkPay drives the customer screen with face / palm capture while the merchant retains the operator UI.
  • PAX A360 — single-display countertop terminal; face-only checkout with EMV combo via Felix.
  • Landi — handheld with palm support; rotationAngle = 90 needed for the palm sensor orientation.
  • Elo — kiosk-class terminal; face capture at customer-stands-back distance (minFaceRatio ≈ 0.30).

Other arm64-v8a Android terminals work out of the box; see Prerequisites for the constraints.

Latest release

Current SDK: 1.5.0 — public API stabilised, capture tuning knobs, per-modality (face/palm) overrides, lite palm preview path. Direct link: Download & install. Per-version notes live in the SDK Changelog.

i

Migrating from docs.wink.cloud/docs/winkpay-pos-integration? The reference content has moved to /winkpay/sdk/. The legacy page will redirect here once content checks are complete; the SDK behaviour and code samples on both pages match 1.5.0.