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

# Configure a device

> Per-kiosk payment settings: terminal addresses, ids, and local bridges.

Card-present methods need data that changes from one kiosk to another: the terminal's IP, its terminal id, or the address of a local bridge. Fire spark stores it per device, separate from the merchant's credentials.

## Where the settings live

Each kiosk device has `settings_overrides.payment_settings`, keyed by payment id:

```json theme={null}
{
  "disabled_payment_ids": [],
  "payment_settings": {
    "pay-pinpad-downtown": {
      "terminal_ip": "192.168.1.40",
      "terminal_id": "TID00123"
    }
  }
}
```

The fields each method asks for are listed on its page under **Activate it**. A field marked secret is masked as `********` when you read it. Sending `********` back keeps the stored value, so you can edit other fields without re-entering secrets.

## Set the values

Send `settings_overrides.payment_settings` with the Integrations API [Update kiosk device](https://firespark.cloud/docs/integrations-api/kiosk/devices/put.md) endpoint. Other keys in `settings_overrides` keep their stored values. The dashboard **Devices** screen will show these fields once a method that needs them is available.

## Check before charging

In the channel, `order.getMissingPaymentFields(payment)` returns the required fields that are still empty for this device. Hide the method or show a setup message until the list is empty.

## Local bridges

Some terminals are reached through a bridge service running on the device or on the store's network. The bridge is installed and kept running by the store's operations team. If the bridge uses plain `http`, Android apps must allow cleartext traffic to it. Each method's page says whether it uses a bridge.

## Test the terminal

From your kiosk admin screen, run `order.runPaymentTerminal(payment, "test")` to check that the terminal or bridge answers. Failures appear in [monitoring alerts](https://firespark.cloud/docs/guides/monitoring-alerts.md) as terminal failures, with the device id.


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