Skip to content

argo22com/fin-android

Repository files navigation

FinPOS

Android terminal app for Worldline SmartPOS hardware, integrating the Finbricks backend for QR payments. Card payments use the standard Worldline payment pathway.

Agents / new contributors: start with PROJECT_MAP.md (+ NEXT_STEPS.md, docs/). These are local-only handoff docs (git-ignored) — they live on the working machine, not in the repo. If you cloned a fresh copy and don't see them, ask the team for the handoff bundle. Only the buildable project is committed.

Name FinPOS / com.argo22.finpos is provisional — easy to rename before release.

What it is

  • Hub screen → customer picks QR (our Finbricks flow) or Card (Worldline pathway).
  • SmartPOS API 1.7.1 (Worldline AAR) bound via AIDL — printer, NFC, chip-card, device info. Only functional on real terminal hardware.
  • Finbricks REST backend with RSA request signing for QR payment initiation.

Module layout

app/
  libs/                         Worldline SmartPOS .aar
  src/main/java/com/argo22/finpos/
    MainActivity.kt             Hub (QR/Card) + QR screen
    ui/                         QrViewModel, theme
    finbricks/                  FinbricksSigner, SigningInterceptor, Client, Config
    smartpos/                   SmartPosConnection (AIDL binding helper)
  src/test/java/...             FinbricksSignerTest (JUnit)
scripts/
  finbricks_smoke.sh            BE reachability + signed-call smoke test
  tdd/SignerSpec.kt             Standalone kotlinc red-green spec for the signer
SmartPOS API 1.7.1/             Vendor docs + .aar (source of truth)

Stack

Kotlin 2.0, Jetpack Compose (Material3), Retrofit + OkHttp + kotlinx.serialization, Gradle KTS + version catalog. minSdk 24, compile/targetSdk 35, JDK 17.

Quick checks

# Finbricks backend reachable?
./scripts/finbricks_smoke.sh

# Signer unit tests (standalone, no Android)
kotlinc app/src/main/java/com/argo22/finpos/finbricks/FinbricksSigner.kt \
        scripts/tdd/SignerSpec.kt -include-runtime -d /tmp/signerspec.jar \
  && java -jar /tmp/signerspec.jar

# Full unit tests (needs Android SDK; downloads Gradle on first run)
./gradlew :app:testDebugUnitTest

See NEXT_STEPS.md for what's blocked and how to unblock it.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors