> ## Documentation Index
> Fetch the complete documentation index at: https://docs.handle.ng/llms.txt
> Use this file to discover all available pages before exploring further.

# SoftPOS & In-Store Payments

> Accept in-store payments on any smartphone or POS terminal

# SoftPOS & Retail In-Store Payments

Handle SoftPOS transforms any merchant’s Android smartphone or standard Android POS terminal (Sunmi, PAX, Nexgo) into an instant cardless payment terminal.

```mermaid theme={null}
sequenceDiagram
    autonumber
    actor Merchant as Merchant SoftPOS
    actor Customer as Customer (Handle App)
    participant HandleCloud as Handle Gateway

    Merchant->>Merchant: Types ₦12,500 & enters "@tunde"
    Merchant->>HandleCloud: POST /v1/charges/dispatch (handle_push)
    HandleCloud->>Customer: 🔔 In-App Push Prompt
    Customer->>Customer: Touch ID / FaceID Approval
    HandleCloud->>HandleCloud: Executes Instant Direct Debit
    HandleCloud-->>Merchant: Real-Time WebSocket Event (< 500ms)
    Merchant->>Merchant: 🔊 Green Screen Chime: "₦12,500 Paid"
```

## How In-Store Customers Pay

### 1. Direct Handle Request

1. Cashier enters amount: `₦12,500`.
2. Cashier asks: *"What is your handle?"* $\rightarrow$ enters `@tunde`.
3. Tunde’s phone buzzes with an in-app biometric approval prompt.
4. Tunde confirms with FaceID.
5. SoftPOS screen flashes green with a success chime in $< 500\text{ms}$.

### 2. Dynamic QR Code Display

1. Cashier types `₦12,500` $\rightarrow$ SoftPOS displays a live dynamic QR code.
2. Customer scans the QR code using their Handle mobile app scanner.
3. Customer approves on their phone $\rightarrow$ SoftPOS updates instantly.

## Hardware POS Compatibility

The Handle POS app compiles natively to Android OS terminals:

* **Sunmi:** V2, V2 Pro, P2, D2
* **PAX:** A920, A930
* **Nexgo:** N5, N86
* **Any Android Smartphone (SoftPOS mode)**
