---
title: "Create a Reader Checkout"
method: POST
path: "/v0.1/merchants/{merchant_code}/readers/{reader_id}/checkout"
tags: ["Readers"]
---

# Create a Reader Checkout

`POST /v0.1/merchants/{merchant_code}/readers/{reader_id}/checkout`

Creates a Checkout for a Reader.

This process is asynchronous and the actual transaction may take some time to be started on the device.


There are some caveats when using this endpoint:
* The target device must be online, otherwise checkout won't be accepted
* After the checkout is accepted, the system has 60 seconds to start the payment on the target device. During this time, any other checkout for the same device will be rejected.


**Note**: If the target device is a Solo, it must be in version 3.3.24.3 or higher.

## Path parameters

- `merchant_code` string, required
- `reader_id` string, required

## Request body

- CreateReaderCheckoutRequest — Reader Checkout
  - `aade` object — Optional object containing data for transactions from ERP integrators in Greece that comply with the AADE 1155 protocol. When such regulatory/business requirements apply, this object must be provided and contains the data needed to validate the transaction with the AADE signature provider.
    - `provider_id` string, required — The identifier of the AADE signature provider.
    - `signature` string, required — The base64 encoded signature of the transaction data.
    - `signature_data` string, required — The string containing the signed transaction data.
  - `affiliate` object, nullable — Affiliate metadata for the transaction. It is a field that allow for integrators to track the source of the transaction.
    - `app_id` string, required — Application ID of the affiliate. It is a unique identifier for the application and should be set by the integrator in the [Affiliate Keys](https://developer.sumup.com/affiliate-keys) page.
    - `foreign_transaction_id` string, required — Foreign transaction ID of the affiliate. It is a unique identifier for the transaction. It can be used later to fetch the transaction details via the [Transactions API](https://developer.sumup.com/api/transactions/get).
    - `key` string, required — Key of the affiliate. It is a unique identifier for the key and should be generated by the integrator in the [Affiliate Keys](https://developer.sumup.com/affiliate-keys) page.
    - `tags` object — Additional metadata for the transaction. It is key-value object that can be associated with the transaction.
  - `card_type` 'credit' | 'debit' — The card type of the card used for the transaction. Is is required only for some countries (e.g: Brazil).
  - `description` string — Description of the checkout to be shown in the Merchant Sales
  - `installments` integer, nullable — Number of installments for the transaction. It may vary according to the merchant country. For example, in Brazil, the maximum number of installments is 12. Omit if the merchant country does support installments. Otherwise, the checkout will be rejected.
  - `return_url` string, uri — Webhook URL to which the payment result will be sent. It must be a HTTPS url.
  - `tip_rates` number[] — List of tipping rates to be displayed to the cardholder. The rates are in percentage and should be between 0.01 and 0.99. The list should be sorted in ascending order.
  - `tip_timeout` integer — Time in seconds the cardholder has to select a tip rate. If not provided, the default value is 30 seconds. It can only be set if `tip_rates` is provided. **Note**: If the target device is a Solo, it must be in version 3.3.38.0 or higher.
  - `total_amount` object, required — Amount structure. The amount is represented as an integer value altogether with the currency and the minor unit. For example, EUR 1.00 is represented as value 100 with minor unit of 2.
    - `currency` string, required — Currency ISO 4217 code
    - `minor_unit` integer, required — The minor units of the currency. It represents the number of decimals of the currency. For the currencies CLP, COP and HUF, the minor unit is 0.
    - `value` integer, required — Integer value of the amount.

## Response `201`

The Checkout got successfully created for the given reader.

- CreateReaderCheckoutResponse
  - `data` object, required
    - `checkout_id` string — The checkout ID is a unique identifier for the checkout.
    - `client_transaction_id` string, required — The client transaction ID is a unique identifier for the transaction that is generated for the client. It can be used later to fetch the transaction details via the [Transactions API](https://developer.sumup.com/api/transactions/get).

## Other responses

- `400` — Response when given params (or one of them) are invalid
- `401` — Unauthorized
- `404` — Response when given reader is not found
- `422` — Response when given params (or one of them) are invalid

## Changes

- **2026-08-03** `f50e1dc97523` — 1 info
  - added the optional property `data/checkout_id` to the response with the `201` status
- **2026-04-08** `96b3b0180cb3` — 1 info
  - added the new optional request property `aade`
- **2026-03-11** `cd79d83b07e0` — 7 info
  - added the media type `application/problem+json` for the response with the status `400`
  - added the media type `application/problem+json` for the response with the status `401`
  - added the media type `application/problem+json` for the response with the status `422`
  - added the non-success response with the status `404`
  - …3 more
- **2026-02-25** `bef1083e0580` — 5 info
  - added the required property `errors/type` to the response with the `400` status
  - added the required property `errors/type` to the response with the `401` status
  - added the required property `errors/type` to the response with the `500` status
  - added the required property `errors/type` to the response with the `502` status
  - …1 more
- **2025-12-11** `b8fb7c9463b8` — 1 warning, 2 info
  - the `installments` request property's min was set to `1.00`
  - the request property `affiliate` became nullable
  - the request property `installments` became nullable

[Change history](https://skmtc.dev/sumup/apis/sumup-rest-api/changes/v0.1/merchants/:merchant_code/readers/:reader_id/checkout/post.md)

---

[API](https://skmtc.dev/sumup/apis/sumup-rest-api.md) · [All operations](https://skmtc.dev/sumup/apis/sumup-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sumup/sumup-rest-api/revisions/b050b86c35d1/schema)
