Skip to Content
DocumentationIntegration GuideIn-Person PaymentsTapro Semi-IntegrationArchitecture

Solution Overview

Tapro semi-integration decouples your business system from the payment terminal — business logic stays on the POS side while payment processing is handled by the Tapro terminal. The two collaborate through the Taplink SDK or Nexus API.

Product Architecture

Tapro Product Architecture

Choosing an Integration Form

Start with one question: Are your POS software and payment terminal on the same device?

Your SituationIntegration FormConnection Method
Same Android deviceOn-DeviceIntent (IPC)
Two devices, same siteCross-DeviceLAN / Cable / Auto
Two devices, cloud POS or multi-store managementCross-DeviceCloud
Customer display requiredSub-ScreenDirect display connection

Hybrid Deployment: Different stores can use different forms. For example, headquarters uses Cloud for centralized management, store counters use On-Device for speed, and customer-facing windows use Sub-Screen.


On-Device

POS and Tapro run on the same Android device. The SDK launches Tapro via Intent — IPC latency is in the low milliseconds. Suitable for Android all-in-one devices, tablets, and handheld terminals.

Integration only requires initializing the Taplink SDK with your appId and clientSecret. The SDK automatically detects the local Tapro app and establishes the connection — no IP, port, or cabling configuration needed.

Currently Android only. Windows and iOS support is planned.


Cross-Device

POS and payment terminal are separate devices. Choose a connection method based on your site conditions:

MethodDescriptionBest For
LANWebSocket/TLS over the same networkDevices on the same network, wireless flexibility needed
CableUSB or RS232 direct connectionDevices side by side, maximum stability
AutoSDK automatically selects LAN or Cable and falls back as neededHands-off connection management
CloudMerchant backend dispatches orders to the terminal via Nexus APICloud POS / SaaS / multi-store management

LAN, Cable, and Auto establish local connections through the Taplink SDK. Cloud mode uses Nexus SDK / API to dispatch orders from the cloud — no local connection required.

LAN

Connected via WebSocket over TLS (WSS):

  • Transport security: TLS 1.2+ encryption, HMAC-SHA256 message signing, 24-hour session validity
  • Port: Random port 8443-8453, shown on the Tapro UI
  • Device discovery: First connection requires manual IP + port entry. After that, mDNS (_taplink._tcp.local) handles automatic discovery and adapts to DHCP-driven IP changes

Cable

TypeProtocolUse Case
USB AOAAndroid Open Accessory 2.0Android ↔ Android, plug and play
USB-VSPCDC-ACM virtual serial portWindows ↔ Android
RS232Standard serialTraditional POS ↔ terminal

The SDK monitors USB / serial ports automatically and establishes communication once a physical link is detected — no manual port configuration required.

Cable mode is now available. You can connect to TaPro over USB VSP, RS232, or USB AOA using the Taplink SDK.

Auto

The SDK decides between LAN and Cable automatically — no need to specify a connection method.

Selection strategy:

  1. Cable is tried first (lower latency, no network dependency)
  2. Falls back to LAN when Cable is unavailable
  3. Link health is monitored continuously; if the active link drops, the SDK attempts the other one

Automatic switching only occurs while idle. If the link drops mid-transaction, the SDK returns a connection error and lets the POS decide whether to retry or cancel — it never switches links silently during a transaction.

Cloud

The merchant backend sends payment orders through the Nexus API. SUNBAY pushes the instruction to wake up Tapro for payment collection, and the transaction result is returned via Webhook. Ideal when the POS is cloud-based or you need to manage multiple stores centrally.

View Cloud Integration Documentation →


Sub-Screen

For scenarios where a customer-facing display needs to show amount and payment status (restaurants, retail checkouts, etc.). The display is physically attached to the terminal — no connection method configuration needed.

Key difference: Sub-Screen integration applies a stricter success criteria — the connection is only considered successful when the terminal’s customer display has lit up and entered the ready-for-payment state. If the display fails to activate, the SDK returns a clear failure reason, preventing the “looks connected but the screen is dark” situation.

On the Tapro terminal UI, Sub-Screen appears as a dedicated tab, separate from other Cross-Device methods, for easy identification.


Core Components

Powers On-Device, local Cross-Device connections (LAN / Cable / Auto), and Sub-Screen integration.

  • Platforms: ✅ Android (released), 🚧 Windows / iOS (planned)
  • Capabilities: Payment API wrapper, connection management, auto-reconnect, mDNS device discovery

Nexus SDK / API (Cloud Integration)

Powers Cross-Device Cloud connections.

  • SDK (recommended): Java, Node.js, Python, PHP, Go, .NET
  • API: RESTful, language-agnostic
  • Capabilities: Payment requests, order dispatch, transaction queries, Webhook notifications

Security and Compliance

LayerMeasures
GeneralPermission checks (authorized transaction types only), card number masking, PCI DSS compliant
Local connectionsApp ID + Client Secret auth, HMAC-SHA256 signing, TLS 1.2+ encryption (LAN)
Cloud connectionsAPI Key auth, Webhook signature verification, HTTPS end-to-end
CertificationsPCI DSS Level 1, EMV chip card certified
Last updated on