---
title: "Add payment command"
method: POST
path: "/api/connector/v1/commands/addPaymentTerminal"
tags: ["Commands"]
---

# Add payment command

`POST /api/connector/v1/commands/addPaymentTerminal`

> ### Restricted!
> This operation is part of a custom workflow for Mews partners such as POS systems to access Mews Payment Terminals.
> See [Mews Payment Terminals](https://mews-systems.gitbook.io/connector-api/use-cases/mews-terminals).

Adds a new Mews Payment Terminal command for taking a customer payment.
The operation instructs a specified terminal device to take a payment from a specified customer for a specified amount.

## Request body

- PaymentTerminalCommandParameters
  - `ClientToken` string, required — Token identifying the client application.
  - `AccessToken` string, required — Access token of the client application.
  - `Client` string, required — Name and version of the client application.
  - `TerminalId` string, uuid, required — Unique identifier of the payment terminal.
  - `CustomerId` string, uuid, required — Unique identifier of the `Customer`.
  - `Type` 'Payment' | 'Preauthorization', required — Payment Preauthorization
  - `Amount` CurrencyValueOld, required — Total price of the reservation.
    - `Currency` string, currency, required
    - `Value` number, double, nullable
    - `Net` number, double, nullable
    - `Tax` number, double, nullable
    - `TaxRate` number, double, nullable
  - `BillId` string, uuid, nullable — Unique identifier of the `Bill`.
  - `PaymentRequestId` string, uuid, nullable — Unique identifier of the `PaymentRequest`.
  - `ReservationId` string, uuid, nullable — Unique identifier of the `Reservation`.

## Response `200`

OK

- DeviceCommandAddResult
  - `CommandId` string, uuid, required — Unique identifier of the created `Command`.

## Other responses

- `204` — Server has successfully fulfilled the request and there is no additional information to send back.
- `400` — Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
- `401` — Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
- `403` — Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
- `408` — Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
- `429` — Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
- `500` — Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).

---

[API](https://skmtc.net/mews/apis/connector-api.md) · [All operations](https://skmtc.net/mews/apis/connector-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mews/connector-api/revisions/f37f136ed35a/schema)
