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

# Troubleshooting your terminal

> Troubleshoot common issues with Dintero terminals, including provisioning errors and network problems.

# Terminal statuses

**Backoffice**

Backoffice shows the status of each terminal in **In-person payments** > **Terminals**.

| Status | Meaning | How it got there | Action |
| - | - | - | - |
| **Pending** | The terminal has been registered and is waiting to be provisioned. | You added the terminal, or an activation attempt is under way. | None. The status updates automatically. |
| **Activate terminal** | The terminal needs to fetch its configuration before it can be activated. Backoffice replaces the status with this button. | Dintero finished provisioning, or a configuration fetch was attempted and did not complete. | Click **Activate terminal** and follow the on-screen instructions. See [terminal onboarding](https://docs.dintero.com/docs/checkout/in-person/terminal-onboarding.md). |
| **Activated** | The terminal is provisioned and ready to accept payments. | The terminal fetched its configuration and confirmed it. | None. |
| **Inactive** | The device has been disabled and cannot take payments. | The device was disabled on the Dintero side. | Contact Dintero support. Re-enabling is not self-service. |
| **Deleted** | The terminal has been removed from the account. | You deleted the terminal. | None. Add the terminal again to reuse it. |

If setting up the terminal failed and it does not reach **Activated**, delete the terminal and add it again, or contact Dintero support.

**API**

Check the current status with [`GET /v1/accounts/{aid}/terminals/{terminal_id}`](https://docs.dintero.com/api-reference/account-terminals/aid_account_management_terminals_termid_get).

| Status | Meaning | How it got there | Action |
| - | - | - | - |
| `PENDING` | The terminal has been registered and is waiting to be provisioned. | You registered the terminal, or an activation attempt is under way. | None. The status updates automatically. |
| `ACTION_REQUIRED` | The terminal is ready to be activated. `status_reason` is `START_ACTIVATION`. | Dintero finished provisioning, or an activation attempt did not complete. | Make sure the terminal is online, then call [`POST /v1/admin/terminals/{terminal_id}/activations`](https://docs.dintero.com/api-reference/terminals/admin_terminals_terminal_id_activations_post). See [terminal onboarding](https://docs.dintero.com/docs/checkout/in-person/terminal-onboarding.md). |
| `ACTIVE` | The terminal is provisioned and ready to accept payments. | The terminal fetched its configuration and confirmed it. | None. |
| `INACTIVE` | The device has been disabled and cannot take payments. | The device was disabled on the Dintero side. | Contact Dintero support. Re-enabling is not self-service. |
| `ERROR` | Provisioning failed. | Something went wrong during setup that did not recover on its own. | Delete the terminal and register it again, or contact Dintero support. |
| `DELETED` | The terminal has been removed from the account. | You deleted the terminal. | None. Register the terminal again to reuse it. |

> [!WARNING]
>
> Only an `ACTIVE` terminal can take a payment. If `seitatech.in_person` is the only enabled payment method, creating a session against a terminal in any other status fails with `order.store.terminal_id: terminal is not active`.
>
> If other payment methods are enabled, the session is created but `seitatech.in_person` is disabled instead. See [The terminal does not prompt the customer](#the-terminal-does-not-prompt-the-customer). Most [terminal operations](https://docs.dintero.com/docs/checkout/in-person/terminal-operations.md) are restricted by status too - `poll_terminal` is the only one you can always send.

## Check whether a terminal is reachable

The terminal status tells you how far the terminal got through provisioning, not whether it is online right now. To check that, send a [`poll_terminal` operation](https://docs.dintero.com/docs/checkout/in-person/terminal-operations#check-that-a-terminal-is-reachable). It pings the terminal without changing anything on the device, and can be sent no matter which status the terminal has.

# Session issues

## The terminal does not prompt the customer

> [!NOTE]
>
> This only applies when the payment profile or session enables Card (Present) (`seitatech.in_person`) alongside online payment methods. If Card (Present) is the only payment method, an invalid in-person request fails with a validation error.

When Card (Present) is combined with online payment methods, an invalid in-person request does not fail. The session is created with `seitatech.in_person` disabled, so the online payment methods keep working. The terminal is not prompted, and no error is returned.

Validation fails when:

* `order.store.id`, `order.store.terminal_id`, or `order.store.payout_destination_id` is missing.
* The terminal in `order.store.terminal_id` is not active or not found.

To find out why in-person was disabled, retrieve the session with [GET /sessions/\{session\_id}](https://docs.dintero.com/api-reference/session/checkout_session_get.md) and check `configuration.seitatech.in_person.payability_disabled_reasons`:

```json Response theme={null}
{
  "configuration": {
    "seitatech": {
      "type": "payment_type",
      "in_person": {
        "type": "payment_product_type",
        "enabled": false,
        "payability": "disabled_by_validation",
        "payability_disabled_reasons": [
          {
            "code": "missing_store_id",
            "message": "order.store.id: must be set when seitatech.in_person is enabled"
          }
        ]
      }
    }
  }
}
```

> [!WARNING]
>
> If the terminal does not prompt the customer after you create the session, check `payability_disabled_reasons` before you retry.

# Terminal tasks

These tasks are done on the physical terminal, on a terminal that already has been onboarded.

## Service password

The Service menu asks for a password. It is a rotating code you can request from Dintero support.

## Change the Wi-Fi network

Use this when moving a terminal to a new location or replacing the network.

1. Swipe **↑ Up** and **Tap the ☰ Menu icon twice** to access the menu options.
2. Go to **Innstillinger (Settings)** > **Service** > enter the **Service password** > **Nettverksinnstilling (Network & internet)**.
3. Select your Wi-Fi network and enter the password.

## Fetch the terminal settings

Use this when the status is `ACTION_REQUIRED`. The terminal has not pulled its configuration yet.

1. Make sure the terminal is on a Wi-Fi network. See [Change the Wi-Fi network](#change-the-wi-fi-network).
2. Swipe **↑ Up** and **Tap the ☰ Menu icon twice** to access the menu options
3. Go to **Innstillinger (Settings)** > **Service** > enter the **service password** > **Hent Innstillinger (Get settings)**.
4. The terminal fetches the latest configuration, and automatically restarts.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.