---
title: "Process a checkout"
method: PUT
path: "/v0.1/checkouts/{id}"
tags: ["Checkouts"]
---

# Process a checkout

`PUT /v0.1/checkouts/{id}`

Processing a checkout will attempt to charge the provided payment instrument for the amount of the specified checkout resource initiated in the `Create a checkout` endpoint.

Follow this request with `Retrieve a checkout` to confirm its status.

## Request body

- CheckoutProcessMixin — Details of the payment instrument for processing the checkout.
  - `payment_type` 'card' | 'boleto' | 'ideal' | 'blik' | 'bancontact', required — Describes the payment method used to attempt processing
  - `installments` integer — Number of installments for deferred payments. Available only to merchant users in Brazil.
  - `mandate` MandatePayload — Mandate is passed when a card is to be tokenized
    - `type` 'recurrent', required — Indicates the mandate type
    - `user_agent` string, required — Operating system and web client used by the end-user
    - `user_ip` string — IP address of the end user. Supports IPv4 and IPv6
  - `card` Card — __Required when payment type is `card`.__ Details of the payment card.
    - `name` string, required — Name of the cardholder as it appears on the payment card.
    - `number` string, required — Number of the payment card (without spaces).
    - `expiry_year` string, required — Year from the expiration time of the payment card. Accepted formats are `YY` and `YYYY`.
    - `expiry_month` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12', required — Month from the expiration time of the payment card. Accepted format is `MM`.
    - `cvv` string, required — Three or four-digit card verification value (security code) of the payment card.
    - `zip_code` string — Required five-digit ZIP code. Applicable only to merchant users in the USA.
    - `last_4_digits` string, required — Last 4 digits of the payment card number.
    - `type` 'AMEX' | 'CUP' | 'DINERS' | 'DISCOVER' | 'ELO' | 'ELV' | 'HIPERCARD' | 'JCB' | 'MAESTRO' | 'MASTERCARD' | 'VISA' | 'VISA_ELECTRON' | 'VISA_VPAY' | 'UNKNOWN', required — Issuing card network of the payment card.
  - `token` string — __Required when using a tokenized card to process a checkout.__ Unique token identifying the saved payment card for a customer.
  - `customer_id` string — __Required when `token` is provided.__ Unique ID of the customer.
  - `personal_details` PersonalDetails — Personal details for the customer.
    - `first_name` string — First name of the customer.
    - `last_name` string — Last name of the customer.
    - `email` string — Email address of the customer.
    - `phone` string — Phone number of the customer.
    - `birth_date` string, date — Date of birth of the customer.
    - `tax_id` string — An identification number user for tax purposes (e.g. CPF)
    - `address` Address — Profile's personal address information.
      - `city` string — City name from the address.
      - `country` string — Two letter country code formatted according to [ISO3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      - `line_1` string — First line of the address with details of the street name and number.
      - `line_2` string — Second line of the address with details of the building, unit, apartment, and floor numbers.
      - `postal_code` string — Postal code from the address.
      - `state` string — State name or abbreviation from the address.

## Response `200`

OK

- CheckoutSuccess — Details of the payment checkout.
  - `checkout_reference` string — Unique ID of the payment checkout specified by the client application when creating the checkout resource.
  - `amount` number, float — Amount of the payment.
  - `currency` 'BGN' | 'BRL' | 'CHF' | 'CLP' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HRK' | 'HUF' | 'NOK' | 'PLN' | 'RON' | 'SEK' | 'USD' — Three-letter [ISO4217](https://en.wikipedia.org/wiki/ISO_4217) code of the currency for the amount. Currently supported currency values are enumerated above.
  - `pay_to_email` string, email — Email address of the registered user (merchant) to whom the payment is made.
  - `merchant_code` string — Unique identifying code of the merchant profile.
  - `description` string — Short description of the checkout visible in the SumUp dashboard. The description can contribute to reporting, allowing easier identification of a checkout.
  - `return_url` string, uri — URL to which the SumUp platform sends the processing status of the payment checkout.
  - `id` string — Unique ID of the checkout resource.
  - `status` 'PENDING' | 'FAILED' | 'PAID' — Current status of the checkout.
  - `date` string, date-time — Date and time of the creation of the payment checkout. Response format expressed according to [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) code.
  - `valid_until` string, date-time, nullable — Date and time of the checkout expiration before which the client application needs to send a processing request. If no value is present, the checkout does not have an expiration time.
  - `customer_id` string — Unique identification of a customer. If specified, the checkout session and payment instrument are associated with the referenced customer.
  - `mandate` MandateResponse — Created mandate
    - `type` string — Indicates the mandate type
    - `status` string — Mandate status
    - `merchant_code` string — Merchant code which has the mandate
  - `transactions` object[] — List of transactions related to the payment.
    - `id` string — Unique ID of the transaction.
    - `transaction_code` string — Transaction code returned by the acquirer/processing entity after processing the transaction.
    - `amount` number, float — Total amount of the transaction.
    - `currency` 'BGN' | 'BRL' | 'CHF' | 'CLP' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HRK' | 'HUF' | 'NOK' | 'PLN' | 'RON' | 'SEK' | 'USD' — Three-letter [ISO4217](https://en.wikipedia.org/wiki/ISO_4217) code of the currency for the amount. Currently supported currency values are enumerated above.
    - `timestamp` string, date-time — Date and time of the creation of the transaction. Response format expressed according to [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) code.
    - `status` 'SUCCESSFUL' | 'CANCELLED' | 'FAILED' | 'PENDING' — Current status of the transaction.
    - `payment_type` 'ECOM' | 'RECURRING' | 'BOLETO' — Payment type used for the transaction.
    - `installments_count` integer — Current number of the installment for deferred payments.
    - `merchant_code` string — Unique code of the registered merchant to whom the payment is made.
    - `vat_amount` number, float — Amount of the applicable VAT (out of the total transaction amount).
    - `tip_amount` number, float — Amount of the tip (out of the total transaction amount).
    - `entry_mode` 'CUSTOMER_ENTRY' | 'BOLETO' — Entry mode of the payment details.
    - `auth_code` string — Authorization code for the transaction sent by the payment card issuer or bank. Applicable only to card payments.
    - `internal_id` integer — Internal unique ID of the transaction on the SumUp platform.
  - `transaction_code` string — Transaction code of the successful transaction with which the payment for the checkout is completed.
  - `transaction_id` string — Transaction ID of the successful transaction with which the payment for the checkout is completed.
  - `merchant_name` string — Name of the merchant
  - `redirect_url` string — Refers to a url where the end user is redirected once the payment processing completes.
  - `payment_instrument` object — Object containing token information for the specified payment instrument
    - `token` string — Token value

## Other responses

- `202` — Accepted
- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict

## Changes

- **2025-03-29** `040271b0b0c2` — 2 info
  - added the new optional request property `personal_details`
  - response property `allOf[subschema #1: Checkout]/pay_to_email` deprecated
- **2025-02-25** `cdadac3315a1` — 2 info
  - the endpoint scheme security `apiKey` was added to the API
  - the endpoint scheme security `oauth2` was added to the API
- **2025-01-31** `b2658ad0a0e9` — 1 info
  - added the success response with the status `202`

[Change history](https://skmtc.dev/sumup/apis/sumup-rest-api/changes/v0.1/checkouts/:id/put.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/2b6f466f2efe/schema)
