> For the complete documentation index, see [llms.txt](https://docs.makapay.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.makapay.io/point-of-sale-pos/payment-history.md).

# Payment History & Recovery

Cashiers and merchants can view and manage POS payment history.

***

## Cashier Payment History

### Accessing History

While logged into a POS business, cashiers can tap the **History** button (clock icon) in the business header bar to open the payment history panel.

The history panel shows **only payments made by the current cashier on the current business**, ordered newest first (up to 50 payments).

### What Cashiers See

Each payment entry shows:

| Field    | Description                                                         |
| -------- | ------------------------------------------------------------------- |
| Amount   | Payment amount and token symbol (e.g., "10.00 USDT")                |
| Status   | Current status badge (Pending, Completed, Collected, Expired, etc.) |
| Time     | Relative time since creation (e.g., "5m ago", "2h ago")             |
| Order ID | The full POS Order ID (e.g., `POS-R1-JD-1707842400000`)             |
| Received | For partial payments, shows how much was received                   |

### Filter Tabs

The history panel has four filter tabs:

| Tab           | Shows                                                           |
| ------------- | --------------------------------------------------------------- |
| **All**       | Every payment (default)                                         |
| **Pending**   | Payments waiting for customer to pay (no funds received yet)    |
| **Completed** | Payments that are paid, completed, or collected                 |
| **Partial**   | Payments where some funds were received but not the full amount |

### Resuming a Pending Payment

If a payment is still pending (waiting for the customer), the cashier can tap **Resume** to return to that payment's QR code screen. This is useful when:

* The POS business was accidentally closed or crashed mid-payment
* The browser refreshed during a payment
* The device ran out of battery and was restarted
* The cashier logged out and back in while a payment was active

The Resume button loads the original payment -- same QR code, same wallet address, same amount. The customer can continue paying without creating a new payment.

> **Note:** Expired payments cannot be resumed. If a payment has expired, create a new one.

***

## Merchant Payment History (Dashboard)

Merchants can view all POS payments from the main dashboard.

### POS Activity Page

Go to **Dashboard > POS > Activity** to see all POS payments across all businesses and cashiers.

### Filtering by Business or Cashier

Use the Order ID to identify payments:

| Order ID Part   | Meaning             |
| --------------- | ------------------- |
| `POS-`          | POS payment prefix  |
| `R1`            | Business short code |
| `JD`            | Cashier short code  |
| `1707842400000` | Timestamp           |

Example: To find all payments from Front Counter, search for `POS-R1-`.

To find all payments by cashier "JD", search for the cashier code in the Order ID.

### Payment Statuses in the Dashboard

| Status                | Meaning                                  |
| --------------------- | ---------------------------------------- |
| Pending               | Waiting for customer payment             |
| Paid                  | Payment received, settlement in progress |
| Completed             | Fully processed and settled              |
| Withdrawn / Collected | Funds sent to merchant wallet            |
| Expired               | Payment timed out before customer paid   |
| Cancelled             | Payment was cancelled by the cashier     |
| Failed                | Payment processing failed                |

***

## Partial Payments

A partial payment occurs when a customer sends less than the requested amount. For example, if the POS requests 100 USDT and the customer sends 60 USDT.

### What Cashiers See

When a partial payment is detected:

1. The business shows a **"Partial Payment Received"** banner
2. A **progress bar** shows how much has been received vs. expected
3. Two options are available:
   * **Collect** -- collect whatever was received and close the payment
   * **Wait** -- keep the QR code displayed so the customer can send the remaining amount

### Collecting Partial Payments

Tapping **Collect** submits a withdrawal request:

1. The system queues the funds for collection
2. Status changes to "Collecting Funds"
3. Once processed, funds are sent to the merchant wallet
4. The cashier can then create a new payment for the remaining amount, or accept the partial payment

### Recovery from the History Panel

If the business closes while a partial payment is active:

1. Open the POS business and log in
2. Tap the **History** button
3. Switch to the **Partial** tab
4. Tap **Resume** on the partial payment
5. The payment screen reloads with the current state -- showing how much was received and the remaining balance

***

## Payment Recovery Scenarios

### Scenario: Browser Crashed Mid-Payment

1. Reopen the browser and navigate to the business URL
2. Log in with your PIN
3. Tap the **History** button
4. Find the pending payment and tap **Resume**
5. The QR code and payment details are restored

### Scenario: Device Ran Out of Battery

1. Charge and restart the device
2. Open the business URL
3. Log in with your PIN
4. Tap the **History** button
5. If the payment hasn't expired, tap **Resume**
6. If expired, create a new payment

### Scenario: Cashier Shift Change During Active Payment

1. New cashier logs in on the same business
2. The new cashier's history only shows **their own** payments
3. The previous cashier's pending payment is **not visible** to the new cashier
4. The merchant can see the orphaned payment in the dashboard and handle it from there

> **Important:** Each cashier's history is scoped to their own payments. A cashier cannot see or resume another cashier's payments.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.makapay.io/point-of-sale-pos/payment-history.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
