---
title: "Cancel an authorised payment"
method: POST
path: "/cancels"
tags: ["Modifications"]
---

# Cancel an authorised payment

`POST /cancels`

Cancels the authorisation on a payment that has not yet been [captured](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/captures), and returns a unique reference for this request. You get the outcome of the request asynchronously, in a [**TECHNICAL_CANCEL** webhook](https://docs.adyen.com/online-payments/cancel#cancellation-webhook).

If you want to cancel a payment using the [`pspReference`](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments#responses-200-pspReference), use the [`/payments/{paymentPspReference}/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/cancels) endpoint instead.

If you want to cancel a payment but are not sure whether it has been captured, use the [`/payments/{paymentPspReference}/reversals`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments/{paymentPspReference}/reversals) endpoint instead.

For more information, refer to [Cancel](https://docs.adyen.com/online-payments/cancel).

## Headers

- `Idempotency-Key` string

## Request body

- StandalonePaymentCancelRequest
  - `applicationInfo` ApplicationInfo
    - `adyenLibrary` CommonField
      - `name` string — Name of the field. For example, Name of External Platform.
      - `version` string — Version of the field. For example, Version of External Platform.
    - `adyenPaymentSource` CommonField
      - `name` string — Name of the field. For example, Name of External Platform.
      - `version` string — Version of the field. For example, Version of External Platform.
    - `externalPlatform` ExternalPlatform
      - `integrator` string — External platform integrator.
      - `name` string — Name of the field. For example, Name of External Platform.
      - `version` string — Version of the field. For example, Version of External Platform.
    - `merchantApplication` CommonField
      - `name` string — Name of the field. For example, Name of External Platform.
      - `version` string — Version of the field. For example, Version of External Platform.
    - `merchantDevice` MerchantDevice
      - `os` string — Operating system running on the merchant device.
      - `osVersion` string — Version of the operating system on the merchant device.
      - `reference` string — Merchant device reference.
    - `shopperInteractionDevice` ShopperInteractionDevice
      - `locale` string — Locale on the shopper interaction device.
      - `os` string — Operating system running on the shopper interaction device.
      - `osVersion` string — Version of the operating system on the shopper interaction device.
  - `enhancedSchemeData` EnhancedSchemeData
    - `airline` Airline
      - `agency` Agency
        - `invoiceNumber` string — The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1 character * maxLength: 6 characters
        - `planName` string — The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength: 2 characters
      - `boardingFee` integer — The amount charged for boarding the plane, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric * minLength: 1 character * maxLength: 11 characters
      - `code` string — The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM = 074 * minLength: 3 characters * maxLength: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.
      - `computerizedReservationSystem` string — The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4 characters
      - `customerReferenceNumber` string — The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer reference number is truncated * Must not start with a space or be all spaces.
      - `designatorCode` string — The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not start with a space or be all spaces.
      - `documentType` string — A code that identifies the type of item bought. The description of the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger ticket = 01 * minLength: 2 characters * maxLength: 2 characters
      - `flightDate` string, date-time — The flight departure date. Time is optional. * Format for date only: `yyyy-MM-dd` * Format for date and time: `yyyy-MM-ddTHH:mm` * Use local time of departure airport. * minLength: 10 characters * maxLength: 16 characters
      - `legs` Leg[]
        - `carrierCode` string — The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier. This field is required if the airline data includes leg details. * Example: KLM = KL * minLength: 2 characters * maxLength: 2 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `classOfTravel` string — A one-letter travel class identifier. The following are common: * F: first class * J: business class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character * maxLength: 1 character * Must not start with a space or be all spaces. * Must not be all zeros.
        - `dateOfTravel` string, date-time — Date and time of travel in format `yyyy-MM-ddTHH:mm`. * Use local time of departure airport. * minLength: 16 characters * maxLength: 16 characters
        - `departureAirportCode` string — The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the departure airport. This field is required if the airline data includes leg details. * Encoding: ASCII * Example: Amsterdam = AMS * minLength: 3 characters * maxLength: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `departureTax` integer — The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric * minLength: 1 * maxLength: 11 * Must not be all zeros.
        - `destinationAirportCode` string — The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the destination airport. This field is required if the airline data includes leg details. * Example: Amsterdam = AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `fareBasisCode` string — The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1 character * maxLength: 15 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `flightNumber` string — The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `stopOverCode` string — A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1 character
      - `passengerName` string, required — The passenger's name, initials, and title. * Format: last name + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you send more than 20 characters, the name is truncated * Must not start with a space or be all spaces. * Must not be all zeros.
      - `passengers` Passenger[]
        - `dateOfBirth` string, date — The passenger's date of birth. * Format `yyyy-MM-dd` * minLength: 10 * maxLength: 10
        - `firstName` string — The passenger's first name. > This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII
        - `lastName` string — The passenger's last name. > This field is required if the airline data includes passenger details or leg details. * Encoding: ASCII
        - `phoneNumber` string — The passenger's phone number, including country code. This is an alphanumeric field that can include the '+' and '-' signs. * Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters
        - `travellerType` string — The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6 characters
      - `ticket` Ticket
        - `issueAddress` string — The address of the organization that issued the ticket. * minLength: 0 characters * maxLength: 16 characters
        - `issueDate` string, date — The date that the ticket was issued to the passenger. * minLength: 10 characters * maxLength: 10 characters * Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): yyyy-MM-dd
        - `number` string — The ticket's unique identifier. * minLength: 1 character * maxLength: 15 characters * Must not start with a space or be all spaces. * Must not be all zeros.
      - `travelAgency` TravelAgency
        - `code` string — The unique identifier from IATA or ARC for the travel agency that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not start with a space or be all spaces. * Must not be all zeros.
        - `name` string — The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25 characters * Must not start with a space or be all spaces. * Must not be all zeros.
  - `merchantAccount` string, required — The merchant account that is used to process the payment.
  - `paymentReference` string, required — The [`reference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__reqParam_reference) of the payment that you want to cancel.
  - `reference` string — Your reference for the cancel request. Maximum length: 80 characters.

## Response `201`

Created - the request has been fulfilled and has resulted in one or more new resources being created.

- StandalonePaymentCancelResponse
  - `merchantAccount` string, required — The merchant account that is used to process the payment.
  - `paymentReference` string, required — The [`reference`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/payments__reqParam_reference) of the payment to cancel.
  - `pspReference` string, required — Adyen's 16-character reference associated with the cancel request.
  - `reference` string — Your reference for the cancel request.
  - `status` 'received', required — The status of your request. This will always have the value **received**.

## Other responses

- `400` — Bad Request - a problem reading or understanding the request.
- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `422` — Unprocessable Entity - a request validation error.
- `500` — Internal Server Error - the server could not process the request.

## Changes

- **2025-07-23** (v70) `37689fc71cc9` — 1 info
  - added the new optional request property `enhancedSchemeData`

[Change history](https://skmtc.dev/adyen/apis/checkoutservice/changes/cancels/post.md)

---

[API](https://skmtc.dev/adyen/apis/checkoutservice.md) · [All operations](https://skmtc.dev/adyen/apis/checkoutservice/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adyen/checkoutservice/revisions/d2165bfbcf53/schema)
