# `AdyenClient.Terminal`
[🔗](https://github.com/iamkanishka/adyen_client/blob/v1.0.0/lib/adyen_client/terminal/terminal_cloud_softpos.ex#L1)

Adyen Terminal API (NEXO-based, v1).

Used for in-person POS payments. Supports both synchronous (cloud) and
local (LAN) communication. For cloud communication prefer `AdyenClient.CloudDevice`.

All requests follow the NEXO SaleToPOI envelope structure:
`%{SaleToPOIRequest: %{MessageHeader: %{...}, <ServiceType>Request: %{...}}}`

# `abort`

```elixir
@spec abort(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send an Abort request.

# `admin`

```elixir
@spec admin(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send an Admin request.

# `balance_inquiry`

```elixir
@spec balance_inquiry(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a BalanceInquiry request.

# `card_acquisition`

```elixir
@spec card_acquisition(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a CardAcquisition request (read card without charging).

# `card_reader_apdu`

```elixir
@spec card_reader_apdu(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a CardReaderAPDU request.

# `diagnosis`

```elixir
@spec diagnosis(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Diagnosis request.

# `display`

```elixir
@spec display(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Display request.

# `enable_service`

```elixir
@spec enable_service(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send an EnableService request.

# `get_totals`

```elixir
@spec get_totals(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a GetTotals request.

# `input`

```elixir
@spec input(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send an Input request.

# `login`

```elixir
@spec login(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Login request to a terminal.

# `logout`

```elixir
@spec logout(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Logout request.

# `payment`

```elixir
@spec payment(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Payment request.

# `print`

```elixir
@spec print(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Print request.

# `reconciliation`

```elixir
@spec reconciliation(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Reconciliation request (end-of-day).

# `reversal`

```elixir
@spec reversal(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a Reversal request.

# `stored_value`

```elixir
@spec stored_value(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a StoredValue request (gift card operations).

# `transaction_status`

```elixir
@spec transaction_status(
  map(),
  keyword()
) :: AdyenClient.Client.response()
```

Send a TransactionStatus request.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
