# Accept Payments from the Dashboard

## Introduction

This guide is for merchants who collect payments through the **Fluxis Dashboard**—no API or code required. You will learn how to create payment requests from your POS terminal, use a static QR at your cashier, and track payments as they complete.

::::info
First time here? Complete [Sign Up](/docs/merchant-integration/sign-up) and open your default POS from [Your Dashboard & Default POS](/docs/merchant-integration/auth-and-conf).
::::

## Two ways to receive payments

| Method | Best for | How it works |
| ------ | -------- | ------------ |
| **One-off payment request** | A specific sale with a known amount | Enter amount in the POS terminal → customer scans QR or opens payment link |
| **Static QR at the cashier** | Open-amount payments at a fixed location | Print or display the POS static QR → customer scans and enters the amount in their wallet |

Both methods use your default [Point of Sale](/docs/key-concepts/point-of-sale). Learn more about the underlying concept in [Payment Request](/docs/key-concepts/payment-request).

## Create a payment request from the POS terminal

Use this flow when you know the exact amount to charge (for example, a single checkout).

1. Sign in to the dashboard and go to **Points of Sale**.
2. Review your POS **settings** — here you can configure which [UAIs](/docs/key-concepts/uai) (asset/network combinations) the terminal will accept.
3. Select your reference currency by clicking on it, then enter a test amount (for example, `1.00`).
4. Click **Charge** to generate the payment request.
5. Show the QR code on screen to the customer, or click **Send a payment link** to share the payment link.
6. Check the generated payment request in the table on the left, along with its current **status**.

The customer pays with their crypto wallet. Fluxis detects the on-chain payment and updates the request status automatically.

::::tip
Payment requests expire after about **8 minutes** if no payment is received. Create a new request if the customer needs more time.
::::

### What the customer sees

The QR or link encodes a [**NASPIP token**](/docs/key-concepts/naspip/introduction) — a signed payment instruction that tells the wallet exactly where and how much to pay. You do not need to understand the token format to use the dashboard; Fluxis handles encoding and validation.

## Print your static QR for the cashier

For a physical store, many merchants display a **static QR** at the register so customers can pay without staff entering each amount in the terminal.

1. Open your POS terminal (**Points of Sale → Enter →**).
2. Locate the **static QR** option for this POS (representing the terminal itself, not a fixed amount).
3. **Print** or display the QR where customers can scan it (counter, receipt holder, signage).
4. When a customer scans, their wallet prompts them to **enter the payment amount**.

::::note
The static QR is tied to your **Point of Sale**, not to a single transaction. Each scan can start a new payment with the amount the customer chooses. Track completed payments under **Payments** in the dashboard sidebar.
::::

## Track payments and statuses

All activity appears under **Payments** in the dashboard sidebar. Filter by account, date range, or search to find specific transactions.

Payment requests move through these states:

| State | Meaning | What to do in the dashboard |
| ----- | ------- | ----------------------------- |
| `pending` | Checkout created; payer has not chosen asset yet | Wait or show hosted checkout if applicable |
| `created` | Address assigned; awaiting payment (~8 min expiry) | Keep QR/link visible; wait for customer to pay |
| `confirmed` | On-chain payment confirmed; settlement processing | Wait for `completed` before treating as fully settled |
| `processing` | Payment detected; awaiting blockchain confirmations | Inform customer payment is in progress |
| `completed` | Payment received and confirmed | Order fulfilled; payment appears in volume stats |
| `expired` | No payment in time | Create a new payment request for the customer |
| `underpaid` | Customer sent less than expected | Contact [support@fluxis.us](mailto:support@fluxis.us) |
| `overpaid` | Customer sent more than expected | Contact [support@fluxis.us](mailto:support@fluxis.us) |
| `failed` | Unexpected error during processing | Contact support; may need a new request |

::::info
**Edge cases**

Unusual amounts (`underpaid`, `overpaid`) and processing failures may need support coordination. See [Payment Flows — Edge Cases](/docs/payment-flows/edge-cases) for background.
::::

### Payment flow (dashboard perspective)

```mermaid
sequenceDiagram
    participant M as Merchant
    participant D as Fluxis Dashboard
    participant C as Customer
    participant B as Blockchain

    M->>D: Create payment request or show static QR
    D->>C: Display QR / payment link
    C->>B: Send payment
    B->>D: Transaction detected
    D->>M: Status updates in Payments tab
    M->>C: Confirm order / receipt
```

## Need to integrate via API instead?

If you want to embed Fluxis in your website, mobile app, or backend—and receive automated notifications when payments complete—follow the developer path:

**[API Integration Guide →](/docs/developers/tutorials/api-integration-guide)**

That guide covers API keys, authentication, creating payment requests via `POST /v1/pos/:posID/payment-request`, and monitoring via **webhooks** or **polling**.

## Need help?

Contact us at [support@fluxis.us](mailto:support@fluxis.us).
