openapi: 3.1.0
servers:
  - url: https://pal-test.adyen.com/pal/servlet/Payment/v25
info:
  contact:
    email: developer-experience@adyen.com
    name: Adyen Developer Experience team
    url: https://www.adyen.help/hc/en-us/community/topics
    x-twitter: Adyen
  description: |-
    A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.

    To learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).

    ## Authentication
    You need an [API credential](https://docs.adyen.com/development-resources/api-credentials) to authenticate to the API.

    If using an API key, add an `X-API-Key` header with the API key as the value, for example:

     ```
    curl
    -H "Content-Type: application/json" \
    -H "X-API-Key: YOUR_API_KEY" \
    ...
    ```

    Alternatively, you can use the username and password to connect to the API using basic authentication, for example:

    ```
    curl
    -U "ws@Company.YOUR_COMPANY_ACCOUNT":"YOUR_BASIC_AUTHENTICATION_PASSWORD" \
    -H "Content-Type: application/json" \
    ...
    ```

    ## Versioning
    Payments API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: "vXX", where XX is the version number.

    For example:
    ```
    https://pal-test.adyen.com/pal/servlet/Payment/v25/authorise
    ```

    ## Going live

    To authenticate to the live endpoints, you need an [API credential](https://docs.adyen.com/development-resources/api-credentials) from your live Customer Area.

    The live endpoint URLs contain a prefix which is unique to your company account:
    ```

    https://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Payment/v25/authorise
    ```

    Get your `{PREFIX}` from your live Customer Area under **Developers** > **API URLs** > **Prefix**.
  termsOfService: https://www.adyen.com/legal/terms-and-conditions
  title: Adyen Payment API
  version: "25"
  x-apisguru-categories:
    - payment
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter_com_Adyen_profile_image.svg
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/Adyen/adyen-openapi/main/json/PaymentService-v25.json
      version: "3.1"
  x-preferred: false
  x-providerName: adyen.com
  x-publicVersion: true
  x-serviceName: PaymentService
  x-timestamp: 2023-04-11T21:25:17Z
tags:
  - name: Modifications
  - name: General
paths:
  /authorise:
    post:
      description: |-
        Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.
        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.
      operationId: post-authorise
      requestBody:
        content:
          application/json:
            examples:
              authorise-3dsecure:
                $ref: "#/components/examples/post-authorise-authorise-3dsecure"
              authorise-card:
                $ref: "#/components/examples/post-authorise-authorise-card"
              authorise-recurringcontauth:
                $ref: "#/components/examples/post-authorise-authorise-recurringcontauth"
              authorise-recurringoneclick:
                $ref: "#/components/examples/post-authorise-authorise-recurringoneclick"
              authorise-recurringstore:
                $ref: "#/components/examples/post-authorise-authorise-recurringstore"
            schema:
              $ref: "#/components/schemas/PaymentRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                authorise-recurringcontauth:
                  $ref: "#/components/examples/post-authorise-authorise-recurringcontauth-200"
              schema:
                $ref: "#/components/schemas/PaymentResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Create an authorisation
      tags:
        - General
      x-groupName: General
      x-methodName: authorise
      x-sortIndex: 1
  /authorise3d:
    post:
      description: |-
        For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.

        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.
      operationId: post-authorise3d
      requestBody:
        content:
          application/json:
            examples:
              authorise3d:
                $ref: "#/components/examples/post-authorise3d-authorise3d"
            schema:
              $ref: "#/components/schemas/PaymentRequest3d"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PaymentResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Complete a 3DS authorisation
      tags:
        - General
      x-groupName: General
      x-methodName: authorise3d
      x-sortIndex: 2
  /cancel:
    post:
      description: |-
        Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.

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

        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/cancels) endpoint under Checkout API instead.
      operationId: post-cancel
      requestBody:
        content:
          application/json:
            examples:
              cancel:
                $ref: "#/components/examples/post-cancel-cancel"
            schema:
              $ref: "#/components/schemas/CancelRequest"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ModificationResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Cancel an authorisation
      tags:
        - Modifications
      x-groupName: Modifications
      x-methodName: cancel
      x-sortIndex: 2
  /cancelOrRefund:
    post:
      description: |-
        Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).

        Do not use this endpoint for payments that involve:
         * [Multiple partial captures](https://docs.adyen.com/online-payments/capture).
         * [Split data](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#providing-split-information) either at time of payment or capture for Adyen for Platforms.

         Instead, check if the payment has been captured and make a corresponding [`/refund`](https://docs.adyen.com/api-explorer/#/Payment/refund) or [`/cancel`](https://docs.adyen.com/api-explorer/#/Payment/cancel) call.

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

        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/reversals`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/reversals) endpoint under Checkout API instead.
      operationId: post-cancelOrRefund
      requestBody:
        content:
          application/json:
            examples:
              cancelOrRefund:
                $ref: "#/components/examples/post-cancelOrRefund-cancelOrRefund"
            schema:
              $ref: "#/components/schemas/CancelOrRefundRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                cancelOrRefund:
                  $ref: "#/components/examples/post-cancelOrRefund-cancelOrRefund-200"
              schema:
                $ref: "#/components/schemas/ModificationResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Cancel or refund a payment
      tags:
        - Modifications
      x-groupName: Modifications
      x-methodName: cancelOrRefund
      x-sortIndex: 4
  /capture:
    post:
      description: |+
        Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.

        Payment methods that are captured automatically after authorisation don't need to be captured. However, submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not neccessary.

        For more information refer to [Capture](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/capture).

        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/captures) endpoint on Checkout API instead.

      operationId: post-capture
      requestBody:
        content:
          application/json:
            examples:
              capture:
                $ref: "#/components/examples/post-capture-capture"
            schema:
              $ref: "#/components/schemas/CaptureRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                capture:
                  $ref: "#/components/examples/post-capture-capture-200"
              schema:
                $ref: "#/components/schemas/ModificationResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Capture an authorisation
      tags:
        - Modifications
      x-groupName: Modifications
      x-methodName: capture
      x-sortIndex: 1
  /refund:
    post:
      description: |-
        Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.

        Some payment methods/gateways do not support partial/multiple refunds.
        A margin above the captured limit can be configured to cover shipping/handling costs.

        For more information, refer to [Refund](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/refund).

        > This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/refunds`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/refunds) endpoint under Checkout API instead.
      operationId: post-refund
      requestBody:
        content:
          application/json:
            examples:
              refund:
                $ref: "#/components/examples/post-refund-refund"
            schema:
              $ref: "#/components/schemas/RefundRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                refund:
                  $ref: "#/components/examples/post-refund-refund-200"
              schema:
                $ref: "#/components/schemas/ModificationResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Refund a captured payment
      tags:
        - Modifications
      x-groupName: Modifications
      x-methodName: refund
      x-sortIndex: 3
  /voidPendingRefund:
    post:
      description: |-
        This endpoint allows you to cancel an unreferenced refund request before it has been completed.

        In your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.

        For more information, refer to [Cancel an unreferenced refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-unreferenced).
      operationId: post-voidPendingRefund
      requestBody:
        content:
          application/json:
            examples:
              voidpendingrefund-pspreference:
                $ref: "#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference"
              voidpendingrefund-tenderreference:
                $ref: "#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference"
            schema:
              $ref: "#/components/schemas/VoidPendingRefundRequest"
      responses:
        "200":
          content:
            application/json:
              examples:
                voidpendingrefund-pspreference:
                  $ref: "#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference-200"
                voidpendingrefund-tenderreference:
                  $ref: "#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference-200"
              schema:
                $ref: "#/components/schemas/ModificationResult"
          description: OK - the request has succeeded.
        "400":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-400"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Bad Request - a problem reading or understanding the request.
        "401":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-401"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unauthorized - authentication required.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Forbidden - insufficient permissions to process the request.
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Unprocessable Entity - a request validation error.
        "500":
          content:
            application/json:
              examples:
                generic:
                  $ref: "#/components/examples/generic-500"
              schema:
                $ref: "#/components/schemas/ServiceError"
          description: Internal Server Error - the server could not process the request.
      security:
        - BasicAuth: []
        - ApiKeyAuth: []
      summary: Cancel an in-person refund
      tags:
        - Modifications
      x-addedInVersion: "25"
      x-groupName: Modifications
      x-methodName: voidPendingRefund
      x-sortIndex: 7
components:
  examples:
    generic-400:
      summary: Response code 400. Bad request.
      value:
        errorCode: "702"
        errorType: validation
        message: 'Unexpected input: ", expected: }'
        status: 400
    generic-401:
      summary: Response code 401. Unauthorized.
      value:
        errorCode: "000"
        errorType: security
        message: HTTP Status Response - Unauthorized
        status: 401
    generic-500:
      summary: Response code 500. Internal server error.
      value:
        errorCode: "905"
        errorType: configuration
        message: Payment details are not supported
        pspReference: "8516091485743033"
        status: 500
    post-authorise-authorise-3dsecure:
      summary: Initiate a 3D Secure payment
      value:
        amount:
          currency: EUR
          value: 1500
        browserInfo:
          acceptHeader: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
          userAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008052912 Firefox/3.0
        card:
          cvc: "737"
          expiryMonth: "03"
          expiryYear: "2030"
          holderName: John Smith
          number: "5212345678901234"
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        reference: YOUR_REFERENCE
    post-authorise-authorise-card:
      summary: Authorise a card payment
      value:
        amount:
          currency: EUR
          value: 1500
        card:
          cvc: "737"
          expiryMonth: "03"
          expiryYear: "2030"
          holderName: John Smith
          number: "4111111111111111"
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        reference: YOUR_REFERENCE
    post-authorise-authorise-recurringcontauth:
      summary: Authorise a recurring payment
      value:
        amount:
          currency: EUR
          value: 2000
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        recurring:
          contract: RECURRING
        reference: YOUR_REFERENCE
        selectedRecurringDetailReference: LATEST
        shopperEmail: s.hopper@test.com
        shopperIP: 61.294.12.12
        shopperInteraction: ContAuth
        shopperReference: YOUR_UNIQUE_SHOPPER_ID
    post-authorise-authorise-recurringcontauth-200:
      summary: Example response for request 'authorise-recurringcontauth'
      value:
        additionalData:
          recurring.recurringDetailReference: "8316172010100170"
          recurring.shopperReference: YOUR_UNIQUE_SHOPPER_ID
          recurringProcessingModel: CardOnFile
        authCode: "065914"
        pspReference: 852617895343904C
        resultCode: Authorised
    post-authorise-authorise-recurringoneclick:
      summary: Authorise a one-click payment
      value:
        amount:
          currency: EUR
          value: 2000
        card:
          cvc: "737"
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        recurring:
          contract: ONECLICK
        reference: YOUR_REFERENCE
        selectedRecurringDetailReference: LATEST
        shopperEmail: s.hopper@test.com
        shopperIP: 61.294.12.12
        shopperInteraction: Ecommerce
        shopperReference: YOUR_UNIQUE_SHOPPER_ID
    post-authorise-authorise-recurringstore:
      summary: Store card details for recurring payments
      value:
        amount:
          currency: EUR
          value: 2000
        card:
          cvc: "737"
          expiryMonth: "03"
          expiryYear: "2030"
          holderName: John Smith
          number: "4111111111111111"
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        recurring:
          contract: RECURRING
        reference: YOUR_REFERENCE
        shopperEmail: s.hopper@test.com
        shopperIP: 61.294.12.12
        shopperReference: YOUR_UNIQUE_SHOPPER_ID
    post-authorise3d-authorise3d:
      summary: Complete a 3D Secure payment
      value:
        md: 31h..........vOXek7w
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        paResponse: eNqtmF........wGVA4Ch
        shopperIP: 61.294.12.12
    post-cancel-cancel:
      summary: Cancel an authorised payment
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
        reference: YourModificationReference
    post-cancelOrRefund-cancelOrRefund:
      summary: Cancel or refund a payment
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
        reference: YourModificationReference
    post-cancelOrRefund-cancelOrRefund-200:
      summary: Example response for request 'cancelOrRefund'
      value:
        pspReference: 851617892359708H
        response: "[cancelOrRefund-received]"
    post-capture-capture:
      summary: Capture an authorised payment
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        modificationAmount:
          currency: EUR
          value: 500
        originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
        reference: YOUR_REFERENCE
    post-capture-capture-200:
      summary: Example response for request 'capture'
      value:
        pspReference: 861617892359057J
        response: "[capture-received]"
    post-refund-refund:
      summary: Refund a captured payment
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        modificationAmount:
          currency: EUR
          value: 500
        originalReference: COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE
        reference: YOUR_REFERENCE
    post-refund-refund-200:
      summary: Example response for request 'refund'
      value:
        pspReference: 861617892360059B
        response: "[refund-received]"
    post-voidPendingRefund-voidpendingrefund-pspreference:
      summary: Cancel a POS refund request with PSP reference before it has been completed
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        originalReference: "9914748988390044"
    post-voidPendingRefund-voidpendingrefund-pspreference-200:
      summary: Example response for request 'voidpendingrefund-pspreference'
      value:
        pspReference: 861617892360062F
        response: "[voidPendingRefund-received]"
    post-voidPendingRefund-voidpendingrefund-tenderreference:
      summary: Cancels a POS refund request with tender reference before it has been completed
      value:
        merchantAccount: YOUR_MERCHANT_ACCOUNT
        tenderReference: 5Iw8001176969533005
        uniqueTerminalId: VX820-123456789
    post-voidPendingRefund-voidpendingrefund-tenderreference-200:
      summary: Example response for request 'voidpendingrefund-tenderreference'
      value:
        pspReference: 881617892360409G
        response: "[voidPendingRefund-received]"
  schemas:
    AdditionalData3DSecure:
      properties:
        allow3DS2:
          description: |
            Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).

             > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) or send the `executeThreeD` parameter.

            Possible values:
            * **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.
            * **false** – Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.
          type: string
        challengeWindowSize:
          description: |-
            Dimensions of the 3DS2 challenge window to be displayed to the cardholder.

            Possible values:

            * **01** - size of 250x400 
            * **02** - size of 390x400
            * **03** - size of 500x600
            * **04** - size of 600x400
            * **05** - Fullscreen
          enum:
            - "01"
            - "02"
            - "03"
            - "04"
            - "05"
          type: string
        executeThreeD:
          description: |
            Indicates if you want to perform 3D Secure authentication on a transaction.

             > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.

            Possible values:
            * **true** – Perform 3D Secure authentication.
            * **false** – Don't perform 3D Secure authentication. Note that this setting results in refusals if the issuer mandates 3D Secure because of the PSD2 directive  or other, national regulations. 
          type: string
        mpiImplementationType:
          description: In case of Secure+, this field must be set to **CUPSecurePlus**.
          type: string
        scaExemption:
          description: |-
            Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.

             Possible values:
            * **lowValue** 
            * **secureCorporate** 
            * **trustedBeneficiary** 
            * **transactionRiskAnalysis** 
          type: string
        threeDSVersion:
          description: |+
            Indicates your preference for the 3D Secure version. 
            > If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.

            Possible values:
            * **1.0.2**: Apply 3D Secure version 1.0.2. 
            * **2.1.0**: Apply 3D Secure version 2.1.0. 
            * **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.

            The following rules apply:
            * If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.
            * If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.

          type: string
      type: object
    AdditionalDataAirline:
      properties:
        airline.agency_invoice_number:
          description: |-
            Reference number for the invoice, issued by the agency.
            * minLength: 1
            * maxLength: 6
          type: string
        airline.agency_plan_name:
          description: |-
            2-letter agency plan identifier; alphabetical.
            * minLength: 2
            * maxLength: 2
          type: string
        airline.airline_code:
          description: |-
            [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX); numeric. It identifies the carrier.
            * Format: IATA 3-digit accounting code (PAX)
            * Example: KLM = 074
            * minLength: 3
            * maxLength: 3
          type: string
        airline.airline_designator_code:
          description: |-
            [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.
            * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter airline code
            * Example: KLM = KL
            * minLength: 2
            * maxLength: 2
          type: string
        airline.boarding_fee:
          description: |-
            Chargeable amount for boarding the plane.
            The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).
            * minLength: 1
            * maxLength: 18
          type: string
        airline.computerized_reservation_system:
          description: |-
            The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.
            * Format: alphanumeric.
            * minLength: 4
            * maxLength: 4
          type: string
        airline.customer_reference_number:
          description: |-
            Reference number; alphanumeric.
            * minLength: 0
            * maxLength: 20
          type: string
        airline.document_type:
          description: |-
            Optional 2-digit code; alphanumeric. It identifies the type of product of the transaction. The description of the code may appear on credit card statements.
            * Format: 2-digit code
            * Example: Passenger ticket = 01
            * minLength: 2
            * maxLength: 2
          type: string
        airline.flight_date:
          description: |-
            Flight departure date. Local time `(HH:mm)` is optional.
            * Date format: `yyyy-MM-dd`
            * Date and time format: `yyyy-MM-dd HH:mm`
            * minLength: 10
            * maxLength: 16
          type: string
        airline.leg.carrier_code:
          description: |-
            [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX); alphabetical. It identifies the carrier.
            This field is required/mandatory if the airline data includes leg details.
            * Format: IATA 2-letter airline code
            * Example: KLM = KL
            * minLength: 2
            * maxLength: 2
          type: string
        airline.leg.class_of_travel:
          description: |-
            1-letter travel class identifier; alphabetical. There is no standard; however, the following codes are used rather consistently:
            * F: first class
            * J: business class
            * Y: economy class
            * W: premium economy

            Limitations:
            * minLength: 1
            * maxLength: 1
          type: string
        airline.leg.date_of_travel:
          description: |-
            	
            Date and time of travel. [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-compliant.
            * Format: `yyyy-MM-dd HH:mm`
            * minLength: 16
            * maxLength: 16
          type: string
        airline.leg.depart_airport:
          description: |-
            Alphabetical identifier of the departure airport.
            This field is required if the airline data includes leg details.
            * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.
            * Example: Amsterdam = AMS
            * minLength: 3
            * maxLength: 3
          type: string
        airline.leg.depart_tax:
          description: |-
            [Departure tax](https://en.wikipedia.org/wiki/Departure_tax). Amount charged by a country to an individual upon their leaving. The transaction amount needs to be represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).
            * minLength: 1
            * maxLength: 12
          type: string
        airline.leg.destination_code:
          description: |-
            Alphabetical identifier of the destination/arrival airport.
            This field is required/mandatory if the airline data includes leg details.
            * Format: [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code.
            * Example: Amsterdam = AMS
            * minLength: 3
            * maxLength: 3
          type: string
        airline.leg.fare_base_code:
          description: |-
            [Fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code); alphanumeric.
            * minLength: 1
            * maxLength: 7
          type: string
        airline.leg.flight_number:
          description: |-
            The flight identifier.
            * minLength: 1
            * maxLength: 5
          type: string
        airline.leg.stop_over_code:
          description: |-
            1-letter code that indicates whether the passenger is entitled to make a stopover. Only two types of characters are allowed:
            * O: Stopover allowed
            * X: Stopover not allowed

            Limitations:
            * minLength: 1
            * maxLength: 1
          type: string
        airline.passenger.date_of_birth:
          description: |-
            Date of birth of the passenger.

            Date format: `yyyy-MM-dd`
            * minLength: 10
            * maxLength: 10
          type: string
        airline.passenger.first_name:
          description: |-
            Passenger first name/given name.
            > This field is required/mandatory if the airline data includes passenger details or leg details.
          type: string
        airline.passenger.last_name:
          description: |-
            Passenger last name/family name.
            > This field is required/mandatory if the airline data includes passenger details or leg details.
          type: string
        airline.passenger.telephone_number:
          description: |-
            Telephone number of the passenger, including country code. This is an alphanumeric field that can include the '+' and '-' signs.
            * minLength: 3
            * maxLength: 30
          type: string
        airline.passenger.traveller_type:
          description: |-
            Passenger type code (PTC). IATA PTC values are 3-letter alphabetical. Example: ADT, SRC, CNN, INS.

            However, several carriers use non-standard codes that can be up to 5 alphanumeric characters.
            * minLength: 3
            * maxLength: 6
          type: string
        airline.passenger_name:
          description: |-
            Passenger name, initials, and a title.
            * Format: last name + first name or initials + title.
            * Example: *FLYER / MARY MS*.
            * minLength: 1
            * maxLength: 49
          type: string
        airline.ticket_issue_address:
          description: |-
            Address of the place/agency that issued the ticket.
            * minLength: 0
            * maxLength: 16
          type: string
        airline.ticket_number:
          description: |-
            The ticket's unique identifier.
            * minLength: 1
            * maxLength: 150
          type: string
        airline.travel_agency_code:
          description: |-
            IATA number, also ARC number or ARC/IATA number. Unique identifier number for travel agencies.
            * minLength: 1
            * maxLength: 8
          type: string
        airline.travel_agency_name:
          description: |-
            The name of the travel agency.
            * minLength: 1
            * maxLength: 25
          type: string
      required:
        - airline.passenger_name
      type: object
    AdditionalDataCarRental:
      properties:
        carRental.checkOutDate:
          description: |-
            Pick-up date.
            * Date format: `yyyyMMdd`
          type: string
        carRental.customerServiceTollFreeNumber:
          description: |-
            The customer service phone number of the car rental company.
            * Format: Alphanumeric
            * maxLength: 17
          type: string
        carRental.daysRented:
          description: |-
            Number of days for which the car is being rented.
            * Format: Numeric
            * maxLength: 19
          type: string
        carRental.fuelCharges:
          description: |-
            Any fuel charges associated with the rental.
            * Format: Numeric
            * maxLength: 12
          type: string
        carRental.insuranceCharges:
          description: |-
            Any insurance charges associated with the rental.
            * Format: Numeric
            * maxLength: 12
          type: string
        carRental.locationCity:
          description: |-
            The city from which the car is rented.
            * Format: Alphanumeric
            * maxLength: 18
          type: string
        carRental.locationCountry:
          description: |-
            The country from which the car is rented.
            * Format: Alphanumeric
            * maxLength: 2
          type: string
        carRental.locationStateProvince:
          description: |-
            The state or province from where the car is rented.
            * Format: Alphanumeric
            * maxLength: 3
          type: string
        carRental.noShowIndicator:
          description: |-
            Indicates if the customer was a "no-show" (neither keeps nor cancels their booking).
            * Y - Customer was a no show.
            * N - Not applicable.
          type: string
        carRental.oneWayDropOffCharges:
          description: Charge associated with not returning a vehicle to the original rental location.
          type: string
        carRental.rate:
          description: |-
            Daily rental rate.
            * Format: Alphanumeric
            * maxLength: 12
          type: string
        carRental.rateIndicator:
          description: |-
            Specifies whether the given rate is applied daily or weekly.
            * D - Daily rate.
            * W - Weekly rate.
          type: string
        carRental.rentalAgreementNumber:
          description: |-
            The rental agreement number associated with this car rental.
            * Format: Alphanumeric
            * maxLength: 9
          type: string
        carRental.rentalClassId:
          description: |-
            Daily rental rate.
            * Format: Alphanumeric
            * maxLength: 12
          type: string
        carRental.renterName:
          description: |-
            The name of the person renting the car.
            * Format: Alphanumeric
            * maxLength: 26
          type: string
        carRental.returnCity:
          description: |-
            The city where the car must be returned.
            * Format: Alphanumeric
            * maxLength: 18
          type: string
        carRental.returnCountry:
          description: |-
            The country where the car must be returned.
            * Format: Alphanumeric
            * maxLength: 2
          type: string
        carRental.returnDate:
          description: |-
            The last date to return the car by.
            * Date format: `yyyyMMdd`
          type: string
        carRental.returnLocationId:
          description: |-
            Agency code, phone number, or address abbreviation
            * Format: Alphanumeric
            * maxLength: 10
          type: string
        carRental.returnStateProvince:
          description: |-
            The state or province where the car must be returned.
            * Format: Alphanumeric
            * maxLength: 3
          type: string
        carRental.taxExemptIndicator:
          description: |-
            Indicates whether the goods or services were tax-exempt, or tax was not collected.

            Values:
            * Y - Goods or services were tax exempt
            * N - Tax was not collected
          type: string
        travelEntertainmentAuthData.duration:
          description: |-
            Number of nights.  This should be included in the auth message.
            * Format: Numeric
            * maxLength: 2
          type: string
        travelEntertainmentAuthData.market:
          description: |-
            Indicates what market-specific dataset will be submitted or is being submitted. Value should be "A" for Car rental. This should be included in the auth message.
            * Format: Alphanumeric
            * maxLength: 1
          type: string
      type: object
    AdditionalDataCommon:
      properties:
        RequestedTestErrorResponseCode:
          description: |-
            Triggers test scenarios that allow to replicate certain communication errors.

            Allowed values:
            * **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.
            This is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.
            * **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.
            This is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.
          type: string
        allowPartialAuth:
          description: |-
            Set to true to authorise a part of the requested amount in case the cardholder does not have enough funds on their account. 
            If a payment was partially authorised, the response includes resultCode: PartiallyAuthorised and the authorised amount in additionalData.authorisedAmountValue.
            To enable this functionality, contact our Support Team.
          type: string
        authorisationType:
          description: |-
            Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).

            Allowed values:
            * **PreAuth** – flags the payment request to be handled as a pre-authorisation.
            * **FinalAuth** – flags the payment request to be handled as a final authorisation.
          type: string
        customRoutingFlag:
          description: |-
            Allows you to determine or override the acquirer account that should be used for the transaction.

            If you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.

            To enable this functionality, contact [Support](https://www.adyen.help/hc/en-us/requests/new).
          type: string
        industryUsage:
          description: |-
            In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.

            Possible values:

             * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.

             * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.
          enum:
            - NoShow
            - DelayedCharge
          type: string
          x-enum:
            - description: An incremental charge is carried out because of a no-show for a guaranteed reservation.
              value: NoShow
            - description: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.
              value: DelayedCharge
        manualCapture:
          description: Set to **true** to require [manual capture](https://docs.adyen.com/online-payments/capture) for the transaction.
          type: string
        networkTxReference:
          description: |-
            Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.

            Transaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.

            Submit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.

            Make sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.
          type: string
        overwriteBrand:
          description: Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.
          type: string
        subMerchantCity:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.
            * Format: alpha-numeric.
            * Maximum length: 13 characters.
          type: string
        subMerchantCountry:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.
            * Format: alpha-numeric.
            * Fixed length: 3 characters.
          type: string
        subMerchantID:
          description: |-
            This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.

            A unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.
            * Format: alpha-numeric.
            * Fixed length: 15 characters.
          type: string
        subMerchantName:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.
            * Format: alpha-numeric.
            * Maximum length: 22 characters.
          type: string
        subMerchantPostalCode:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.
            * Format: alpha-numeric.
            * Maximum length: 10 characters.
          type: string
        subMerchantState:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.
            * Format: alpha-numeric.
            * Maximum length: 3 characters.
          type: string
        subMerchantStreet:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.
            * Format: alpha-numeric.
            * Maximum length: 60 characters.
          type: string
        subMerchantTaxId:
          description: |-
            This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.
            * Format: alpha-numeric.
            * Fixed length: 11 or 14 characters.
          type: string
      type: object
    AdditionalDataLevel23:
      properties:
        enhancedSchemeData.customerReference:
          description: |-
            Customer code, if supplied by a customer.

            Encoding: ASCII.

            Max length: 25 characters.

            > Required for Level 2 and Level 3 data.
          type: string
        enhancedSchemeData.destinationCountryCode:
          description: |-
            Destination country code.

            Encoding: ASCII.

            Max length: 3 characters.
          type: string
        enhancedSchemeData.destinationPostalCode:
          description: |-
            The postal code of a destination address.

            Encoding: ASCII.

            Max length: 10 characters.

            > Required for American Express.
          type: string
        enhancedSchemeData.destinationStateProvinceCode:
          description: |-
            Destination state or province code.

            Encoding: ASCII.Max length: 3 characters.
          type: string
        enhancedSchemeData.dutyAmount:
          description: |-
            Duty amount, in minor units.

            For example, 2000 means USD 20.00.

            Max length: 12 characters.
          type: string
        enhancedSchemeData.freightAmount:
          description: |-
            Shipping amount, in minor units.

            For example, 2000 means USD 20.00.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].commodityCode":
          description: |-
            Item commodity code.

            Encoding: ASCII.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].description":
          description: |-
            Item description.

            Encoding: ASCII.

            Max length: 26 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].discountAmount":
          description: |-
            Discount amount, in minor units.

            For example, 2000 means USD 20.00.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].productCode":
          description: |-
            Product code.

            Encoding: ASCII.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].quantity":
          description: |-
            Quantity, specified as an integer value.

            Value must be greater than 0.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].totalAmount":
          description: |-
            Total amount, in minor units.

            For example, 2000 means USD 20.00.

            Max length: 12 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure":
          description: |-
            Item unit of measurement.

            Encoding: ASCII.

            Max length: 3 characters.
          type: string
        "enhancedSchemeData.itemDetailLine[itemNr].unitPrice":
          description: |-
            Unit price, specified in [minor units](https://docs.adyen.com/development-resources/currency-codes).

            Max length: 12 characters.
          type: string
        enhancedSchemeData.orderDate:
          description: |-
            Order date.
            * Format: `ddMMyy`

            Encoding: ASCII.

            Max length: 6 characters.
          type: string
        enhancedSchemeData.shipFromPostalCode:
          description: |-
            The postal code of a "ship-from" address.

            Encoding: ASCII.

            Max length: 10 characters.
          type: string
        enhancedSchemeData.totalTaxAmount:
          description: |-
            Total tax amount, in minor units.

            For example, 2000 means USD 20.00.

            Max length: 12 characters.

            > Required for Level 2 and Level 3 data.
          type: string
      type: object
    AdditionalDataLodging:
      properties:
        lodging.checkInDate:
          description: |-
            The arrival date.
            * Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.
          type: string
        lodging.checkOutDate:
          description: |-
            The departure date.
            * Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.
          type: string
        lodging.customerServiceTollFreeNumber:
          description: |-
            The toll-free phone number for the lodging.
            * Format: alphanumeric.
            * Max length: 17 characters.
            * For US numbers: must start with 3 digits and be at least 10 characters in length. Otherwise, the capture can fail.
          type: string
        lodging.fireSafetyActIndicator:
          description: |-
            Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Values can be: 'Y' or 'N'.
            * Format: alphabetic.
            * Max length: 1 character.
          type: string
        lodging.folioCashAdvances:
          description: |-
            The folio cash advances.
            * Format: numeric.
            * Max length: 12 characters.
          type: string
        lodging.folioNumber:
          description: |-
            The card acceptor’s internal invoice or billing ID reference number.
            * Format: alphanumeric.
            * Max length: 25 characters.
          type: string
        lodging.foodBeverageCharges:
          description: |-
            The additional charges for food and beverages associated with the booking.
            * Format: numeric.
            * Max length: 12 characters.
          type: string
        lodging.noShowIndicator:
          description: |-
            Indicates if the customer didn't check in for their booking.
             Possible values: 
             * **Y**: the customer didn't check in. 
             **N**: the customer checked in.
          type: string
        lodging.prepaidExpenses:
          description: |-
            The prepaid expenses for the booking.
            * Format: numeric.
            * Max length: 12 characters.
          type: string
        lodging.propertyPhoneNumber:
          description: |-
            Identifies the location of the lodging by its local phone number.
            * Format: alphanumeric.
            * Max length: 17 characters.
            * For US numbers: must start with 3 digits and be at least 10 characters in length. Otherwise, the capture can fail.
          type: string
        lodging.room1.numberOfNights:
          description: |-
            The total number of nights the room is booked for.
            * Format: numeric.
            * Max length: 4 characters.
          type: string
        lodging.room1.rate:
          description: |-
            The rate of the room.
            * Format: numeric.
            * Max length: 12 characters.
            * Must be in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        lodging.room1.tax:
          description: |-
            The total amount of tax to be paid.
            * Format: numeric.
            * Max length: 12 chracters.
            * Must be in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        lodging.totalRoomTax:
          description: |-
            The total room tax amount.
            * Format: numeric.
            * Max length: 12 characters.
            * Must be in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        lodging.totalTax:
          description: |-
            The total tax amount.
            * Format: numeric.
            * Max length: 12 characters.
            * Must be in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        travelEntertainmentAuthData.duration:
          description: |-
            The number of nights. This should be included in the auth message.
            * Format: numeric.
            * Max length: 2 characters.
          type: string
        travelEntertainmentAuthData.market:
          description: |-
            Indicates what market-specific dataset will be submitted or is being submitted. Value should be "H" for Hotel. This should be included in the auth message.

            * Format: alphanumeric.
            * Max length: 1 character.
          type: string
      type: object
    AdditionalDataModifications:
      properties:
        installmentPaymentData.selectedInstallmentOption:
          description: This is the installment option selected by the shopper. It is required only if specified by the user.
          type: string
      type: object
    AdditionalDataOpenInvoice:
      properties:
        openinvoicedata.merchantData:
          description: |-
            Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.

            The `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.

            Since the field is optional, if it's not included it does not impact computing the merchant signature.

            Applies only to Klarna.

            You can contact Klarna for the format and structure of the string.
          type: string
        openinvoicedata.numberOfLines:
          description: |-
            The number of invoice lines included in `openinvoicedata`.

            There needs to be at least one line, so `numberOfLines` needs to be at least 1.
          type: string
        openinvoicedata.recipientFirstName:
          description: First name of the recipient. If the delivery address and the billing address are different, specify the `recipientFirstName` and `recipientLastName` to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
          type: string
        openinvoicedata.recipientLastName:
          description: Last name of the recipient. If the delivery address and the billing address are different, specify the `recipientFirstName` and `recipientLastName` to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.
          type: string
        "openinvoicedataLine[itemNr].currencyCode":
          description: The three-character ISO currency code.
          type: string
        "openinvoicedataLine[itemNr].description":
          description: A text description of the product the invoice line refers to.
          type: string
        "openinvoicedataLine[itemNr].itemAmount":
          description: |-
            The price for one item in the invoice line, represented in minor units.

            The due amount for the item, VAT excluded.
          type: string
        "openinvoicedataLine[itemNr].itemId":
          description: A unique id for this item. Required for RatePay if the description of each item is not unique.
          type: string
        "openinvoicedataLine[itemNr].itemVatAmount":
          description: The VAT due for one item in the invoice line, represented in minor units.
          type: string
        "openinvoicedataLine[itemNr].itemVatPercentage":
          description: |-
            The VAT percentage for one item in the invoice line, represented in minor units.

            For example, 19% VAT is specified as 1900.
          type: string
        "openinvoicedataLine[itemNr].numberOfItems":
          description: The number of units purchased of a specific product.
          type: string
        "openinvoicedataLine[itemNr].returnShippingCompany":
          description: Name of the shipping company handling the the return shipment.
          type: string
        "openinvoicedataLine[itemNr].returnTrackingNumber":
          description: The tracking number for the return of the shipment.
          type: string
        "openinvoicedataLine[itemNr].returnTrackingUri":
          description: URI where the customer can track the return of their shipment.
          type: string
        "openinvoicedataLine[itemNr].shippingCompany":
          description: Name of the shipping company handling the delivery.
          type: string
        "openinvoicedataLine[itemNr].shippingMethod":
          description: Shipping method.
          type: string
        "openinvoicedataLine[itemNr].trackingNumber":
          description: The tracking number for the shipment.
          type: string
        "openinvoicedataLine[itemNr].trackingUri":
          description: URI where the customer can track their shipment.
          type: string
      type: object
    AdditionalDataOpi:
      properties:
        opi.includeTransToken:
          description: |-
            Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.

            You can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).
          type: string
      type: object
    AdditionalDataRatepay:
      properties:
        ratepay.installmentAmount:
          description: Amount the customer has to pay each month.
          type: string
        ratepay.interestRate:
          description: Interest rate of this installment.
          type: string
        ratepay.lastInstallmentAmount:
          description: Amount of the last installment.
          type: string
        ratepay.paymentFirstday:
          description: Calendar day of the first payment.
          type: string
        ratepaydata.deliveryDate:
          description: Date the merchant delivered the goods to the customer.
          type: string
        ratepaydata.dueDate:
          description: Date by which the customer must settle the payment.
          type: string
        ratepaydata.invoiceDate:
          description: Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.
          type: string
        ratepaydata.invoiceId:
          description: Identification name or number for the invoice, defined by the merchant.
          type: string
      type: object
    AdditionalDataRetry:
      properties:
        retry.chainAttemptNumber:
          description: |-
            The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.

            > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.
          type: string
        retry.orderAttemptNumber:
          description: |-
            The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.

            > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.
          type: string
        retry.skipRetry:
          description: |-
            The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.

            > If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.
          type: string
      type: object
    AdditionalDataRisk:
      properties:
        "riskdata.[customFieldName]":
          description: The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).
          type: string
        "riskdata.basket.item[itemNr].amountPerItem":
          description: The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        "riskdata.basket.item[itemNr].brand":
          description: Brand of the item.
          type: string
        "riskdata.basket.item[itemNr].category":
          description: Category of the item.
          type: string
        "riskdata.basket.item[itemNr].color":
          description: Color of the item.
          type: string
        "riskdata.basket.item[itemNr].currency":
          description: The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).
          type: string
        "riskdata.basket.item[itemNr].itemID":
          description: ID of the item.
          type: string
        "riskdata.basket.item[itemNr].manufacturer":
          description: Manufacturer of the item.
          type: string
        "riskdata.basket.item[itemNr].productTitle":
          description: A text description of the product the invoice line refers to.
          type: string
        "riskdata.basket.item[itemNr].quantity":
          description: Quantity of the item purchased.
          type: string
        "riskdata.basket.item[itemNr].receiverEmail":
          description: Email associated with the given product in the basket (usually in electronic gift cards).
          type: string
        "riskdata.basket.item[itemNr].size":
          description: Size of the item.
          type: string
        "riskdata.basket.item[itemNr].sku":
          description: "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit)."
          type: string
        "riskdata.basket.item[itemNr].upc":
          description: "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code)."
          type: string
        "riskdata.promotions.promotion[itemNr].promotionCode":
          description: Code of the promotion.
          type: string
        "riskdata.promotions.promotion[itemNr].promotionDiscountAmount":
          description: The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency":
          description: The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).
          type: string
        "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage":
          description: |-
            Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.

            e.g. for a promotion discount of 30%, the value of the field should be 30.
          type: string
        "riskdata.promotions.promotion[itemNr].promotionName":
          description: Name of the promotion.
          type: string
        riskdata.riskProfileReference:
          description: Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).
          type: string
        riskdata.skipRisk:
          description: If this parameter is provided with the value **true**, risk checks for the payment request are skipped and the transaction will not get a risk score.
          type: string
      type: object
    AdditionalDataRiskStandalone:
      properties:
        PayPal.CountryCode:
          description: Shopper's country of residence in the form of ISO standard 3166 2-character country codes.
          type: string
        PayPal.EmailId:
          description: Shopper's email.
          type: string
        PayPal.FirstName:
          description: Shopper's first name.
          type: string
        PayPal.LastName:
          description: Shopper's last name.
          type: string
        PayPal.PayerId:
          description: "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters."
          type: string
        PayPal.Phone:
          description: Shopper's phone number.
          type: string
        PayPal.ProtectionEligibility:
          description: |-
            Allowed values:
            * **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.

            * **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.

            * **Ineligible** — Merchant is not protected under the Seller Protection Policy.
          type: string
        PayPal.TransactionId:
          description: Unique transaction ID of the payment.
          type: string
        avsResultRaw:
          description: "Raw AVS result received from the acquirer, where available. Example: D"
          type: string
        bin:
          description: The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/risk-management/standalone-risk#tokenised-pan-request).
          type: string
        cvcResultRaw:
          description: "Raw CVC result received from the acquirer, where available. Example: 1"
          type: string
        riskToken:
          description: Unique identifier or token for the shopper's card details.
          type: string
        threeDAuthenticated:
          description: "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true"
          type: string
        threeDOffered:
          description: "A Boolean value indicating whether 3DS was offered for this payment. Example: true"
          type: string
        tokenDataType:
          description: "Required for PayPal payments only. The only supported value is: **paypal**."
          type: string
      type: object
    AdditionalDataSubMerchant:
      properties:
        subMerchant.numberOfSubSellers:
          description: Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.
          type: string
        "subMerchant.subSeller[subSellerNr].city":
          description: |-
            Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.
            * Format: Alphanumeric
            * Maximum length: 13 characters
          type: string
        "subMerchant.subSeller[subSellerNr].country":
          description: |-
            Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. 
            * Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
            * Fixed length: 3 characters
          type: string
        "subMerchant.subSeller[subSellerNr].id":
          description: |-
            Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. 
            * Format: Alphanumeric
            * Maximum length: 15 characters
          type: string
        "subMerchant.subSeller[subSellerNr].mcc":
          description: |-
            Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). 
            * Format: Numeric
            * Fixed length: 4 digits
          type: string
        "subMerchant.subSeller[subSellerNr].name":
          description: |-
            Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement  that will appear in the card statement.
            * Format: Alphanumeric
            * Maximum length: 22 characters
          type: string
        "subMerchant.subSeller[subSellerNr].postalCode":
          description: |-
            Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.
            * Format: Numeric
            * Fixed length: 8 digits
          type: string
        "subMerchant.subSeller[subSellerNr].state":
          description: |-
            Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.
            * Format: Alphanumeric
            * Maximum length: 2 characters
          type: string
        "subMerchant.subSeller[subSellerNr].street":
          description: |-
            Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.
            * Format: Alphanumeric
            * Maximum length: 60 characters
          type: string
        "subMerchant.subSeller[subSellerNr].taxId":
          description: |-
            Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.
            * Format: Numeric
            * Fixed length: 11 digits for the CPF or 14 digits for the CNPJ
          type: string
      type: object
    AdditionalDataTemporaryServices:
      properties:
        enhancedSchemeData.customerReference:
          description: |-
            Customer code, if supplied by a customer.
            * Encoding: ASCII
            * maxLength: 25
          type: string
        enhancedSchemeData.employeeName:
          description: |-
            Name or ID associated with the individual working in a temporary capacity.
            * maxLength: 40
          type: string
        enhancedSchemeData.jobDescription:
          description: |-
            Description of the job or task of the individual working in a temporary capacity.
            * maxLength: 40
          type: string
        enhancedSchemeData.regularHoursRate:
          description: |-
            Amount paid per regular hours worked, minor units.
            * maxLength: 7
          type: string
        enhancedSchemeData.regularHoursWorked:
          description: |-
            Amount of time worked during a normal operation for the task or job.
            * maxLength: 7
          type: string
        enhancedSchemeData.requestName:
          description: |-
            Name of the individual requesting temporary services.
            * maxLength: 40
          type: string
        enhancedSchemeData.tempStartDate:
          description: |-
            Date for the beginning of the pay period.
            * Format: ddMMyy
            * maxLength: 6
          type: string
        enhancedSchemeData.tempWeekEnding:
          description: |-
            Date of the end of the billing cycle.
            * Format: ddMMyy
            * maxLength: 6
          type: string
        enhancedSchemeData.totalTaxAmount:
          description: |-
            Total tax amount, in minor units. For example, 2000 means USD 20.00
            * maxLength: 12
          type: string
      type: object
    AdditionalDataWallets:
      properties:
        androidpay.token:
          description: The Android Pay token retrieved from the SDK.
          type: string
        masterpass.transactionId:
          description: The Mastercard Masterpass Transaction ID retrieved from the SDK.
          type: string
        payment.token:
          description: The Apple Pay token retrieved from the SDK.
          type: string
        paywithgoogle.token:
          description: The Google Pay token retrieved from the SDK.
          type: string
        samsungpay.token:
          description: The Samsung Pay token retrieved from the SDK.
          type: string
        visacheckout.callId:
          description: The Visa Checkout Call ID retrieved from the SDK.
          type: string
      type: object
    Address:
      properties:
        city:
          description: "The name of the city. Maximum length: 3000 characters."
          maxLength: 3000
          type: string
        country:
          description: |-
            The two-character ISO-3166-1 alpha-2 country code. For example, **US**.
            > If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.
          type: string
        houseNumberOrName:
          description: "The number or name of the house. Maximum length: 3000 characters."
          maxLength: 3000
          type: string
        postalCode:
          description: A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.
          type: string
        stateOrProvince:
          description: |-
            The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada.
            > Required for the US and Canada.
          type: string
        street:
          description: |-
            The name of the street. Maximum length: 3000 characters.
            > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.
          maxLength: 3000
          type: string
      required:
        - street
        - houseNumberOrName
        - city
        - postalCode
        - country
      type: object
    Amount:
      properties:
        currency:
          description: The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
          maxLength: 3
          minLength: 3
          type: string
        value:
          description: The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes).
          format: int64
          type: integer
      required:
        - value
        - currency
      type: object
    BankAccount:
      properties:
        bankAccountNumber:
          description: The bank account number (without separators).
          type: string
        bankCity:
          description: The bank city.
          type: string
          x-addedInVersion: "18"
        bankLocationId:
          description: The location id of the bank. The field value is `nil` in most cases.
          type: string
        bankName:
          description: The name of the bank.
          type: string
        bic:
          description: The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.
          type: string
        countryCode:
          description: |-
            Country code where the bank is located.

            A valid value is an ISO two-character country code (e.g. 'NL').
          type: string
        iban:
          description: The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).
          type: string
        ownerName:
          description: |-
            The name of the bank account holder.
            If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:
            * χ12 is converted to ch12.
            * üA is converted to euA.
            * Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.
            After replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:
            * John17 - allowed.
            * J17 - allowed.
            * 171 - not allowed.
            * John-7 - allowed.
            > If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.
          type: string
        taxId:
          description: The bank account holder's tax ID.
          type: string
          x-addedInVersion: "18"
      type: object
    BrowserInfo:
      properties:
        acceptHeader:
          description: The accept header value of the shopper's browser.
          type: string
        userAgent:
          description: The user agent value of the shopper's browser.
          type: string
      required:
        - userAgent
        - acceptHeader
      type: object
    CancelOrRefundRequest:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataModifications"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular modification request.

            The additionalData object consists of entries, each of which includes the key and value.
          type: object
        merchantAccount:
          description: The merchant account that is used to process the payment.
          type: string
        originalReference:
          description: |+
            The original pspReference of the payment to modify.
            This reference is returned in:
            * authorisation response
            * authorisation notification

          type: string
        reference:
          description: |-
            Your reference for the payment modification. This reference is visible in Customer Area and in reports.
            Maximum length: 80 characters.
          type: string
        tenderReference:
          description: The transaction reference provided by the PED. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
        uniqueTerminalId:
          description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
      required:
        - merchantAccount
        - originalReference
      type: object
    CancelRequest:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataModifications"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular modification request.

            The additionalData object consists of entries, each of which includes the key and value.
          type: object
        merchantAccount:
          description: The merchant account that is used to process the payment.
          type: string
        originalReference:
          description: |+
            The original pspReference of the payment to modify.
            This reference is returned in:
            * authorisation response
            * authorisation notification

          type: string
        reference:
          description: |-
            Your reference for the payment modification. This reference is visible in Customer Area and in reports.
            Maximum length: 80 characters.
          type: string
        tenderReference:
          description: The transaction reference provided by the PED. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
        uniqueTerminalId:
          description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
      required:
        - merchantAccount
        - originalReference
      type: object
    CaptureRequest:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataModifications"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular modification request.

            The additionalData object consists of entries, each of which includes the key and value.
          type: object
        merchantAccount:
          description: The merchant account that is used to process the payment.
          type: string
        modificationAmount:
          $ref: "#/components/schemas/Amount"
          description: The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.
        originalReference:
          description: |+
            The original pspReference of the payment to modify.
            This reference is returned in:
            * authorisation response
            * authorisation notification

          type: string
        reference:
          description: |-
            Your reference for the payment modification. This reference is visible in Customer Area and in reports.
            Maximum length: 80 characters.
          type: string
        tenderReference:
          description: The transaction reference provided by the PED. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
        uniqueTerminalId:
          description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
      required:
        - merchantAccount
        - modificationAmount
        - originalReference
      type: object
    Card:
      properties:
        cvc:
          description: |-
            The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:
            * CVV2/CVC2 – length: 3 digits
            * CID – length: 4 digits
            > If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.
            > This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).
            > When this value is returned in a response, it is always empty because it is not stored.
          maxLength: 20
          minLength: 1
          type: string
        expiryMonth:
          description: |-
            The card expiry month.
            Format: 2 digits, zero-padded for single digits. For example:
            * 03 = March
            * 11 = November
          maxLength: 2
          minLength: 1
          type: string
        expiryYear:
          description: |-
            The card expiry year.
            Format: 4 digits. For example: 2020
          maxLength: 4
          minLength: 4
          type: string
        holderName:
          description: The name of the cardholder, as printed on the card.
          maxLength: 50
          minLength: 1
          type: string
        issueNumber:
          description: The issue number of the card (for some UK debit cards only).
          maxLength: 2
          minLength: 1
          type: string
        number:
          description: |-
            The card number (4-19 characters). Do not use any separators.
            When this value is returned in a response, only the last 4 digits of the card number are returned.
          maxLength: 19
          minLength: 4
          type: string
        startMonth:
          description: The month component of the start date (for some UK debit cards only).
          maxLength: 2
          minLength: 1
          type: string
        startYear:
          description: The year component of the start date (for some UK debit cards only).
          maxLength: 4
          minLength: 4
          type: string
      type: object
    ForexQuote:
      properties:
        account:
          description: The account name.
          type: string
        accountType:
          description: The account type.
          type: string
        baseAmount:
          $ref: "#/components/schemas/Amount"
          description: The base amount.
        basePoints:
          description: The base points.
          format: int32
          type: integer
        buy:
          $ref: "#/components/schemas/Amount"
          description: The buy rate.
        interbank:
          $ref: "#/components/schemas/Amount"
          description: The interbank amount.
        reference:
          description: The reference assigned to the forex quote request.
          type: string
        sell:
          $ref: "#/components/schemas/Amount"
          description: The sell rate.
        signature:
          description: The signature to validate the integrity.
          type: string
        source:
          description: The source of the forex quote.
          type: string
        type:
          description: The type of forex.
          type: string
        validTill:
          description: The date until which the forex quote is valid.
          format: date-time
          type: string
      required:
        - validTill
        - basePoints
      type: object
    FraudCheckResult:
      properties:
        accountScore:
          description: The fraud score generated by the risk check.
          format: int32
          type: integer
        checkId:
          description: The ID of the risk check.
          format: int32
          type: integer
        name:
          description: The name of the risk check.
          type: string
      required:
        - checkId
        - name
        - accountScore
      type: object
    FraudCheckResultWrapper:
      properties:
        FraudCheckResult:
          $ref: "#/components/schemas/FraudCheckResult"
    FraudResult:
      properties:
        accountScore:
          description: The total fraud score generated by the risk checks.
          format: int32
          type: integer
        results:
          description: The result of the individual risk checks.
          items:
            $ref: "#/components/schemas/FraudCheckResultWrapper"
          type: array
      required:
        - accountScore
      type: object
    Installments:
      properties:
        value:
          description: |-
            Defines the number of installments. Its value needs to be greater than zero.

            Usually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary.
          format: int32
          type: integer
      required:
        - value
      type: object
    Mandate:
      properties:
        amount:
          description: The billing amount (in minor units) of the recurring transactions.
          type: string
        amountRule:
          description: |+
            The limitation rule of the billing amount.

            Possible values:
             * **max**: The transaction amount can not exceed the `amount`.

             * **exact**: The transaction amount should be the same as the `amount`.

          enum:
            - max
            - exact
          type: string
        billingAttemptsRule:
          description: |+
            The rule to specify the period, within which the recurring debit can happen, relative to the mandate recurring date.

            Possible values:

             * **on**: On a specific date.

             * **before**:  Before and on a specific date.

             * **after**: On and after a specific date.

          enum:
            - on
            - before
            - after
          type: string
        billingDay:
          description: |-
            The number of the day, on which the recurring debit can happen. Should be within the same calendar month as the mandate recurring date.

            Possible values: 1-31 based on the `frequency`.
          type: string
        endsAt:
          description: End date of the billing plan, in YYYY-MM-DD format.
          type: string
        frequency:
          description: |-
            The frequency with which a shopper should be charged.

            Possible values: **daily**, **weekly**, **biWeekly**, **monthly**, **quarterly**, **halfYearly**, **yearly**.
          enum:
            - adhoc
            - daily
            - weekly
            - biWeekly
            - monthly
            - quarterly
            - halfYearly
            - yearly
          type: string
        remarks:
          description: The message shown by UPI to the shopper on the approval screen.
          type: string
        startsAt:
          description: Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.
          type: string
      required:
        - frequency
        - amount
        - endsAt
      type: object
    ModificationResult:
      properties:
        additionalData:
          additionalProperties:
            type: string
          description: This field contains additional data, which may be returned in a particular modification response.
          type: object
        pspReference:
          description: Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.
          type: string
        response:
          description: Indicates if the modification request has been received for processing.
          enum:
            - "[capture-received]"
            - "[cancel-received]"
            - "[refund-received]"
            - "[cancelOrRefund-received]"
            - "[adjustAuthorisation-received]"
            - "[donation-received]"
            - "[technical-cancel-received]"
            - "[voidPendingRefund-received]"
          type: string
      required:
        - response
        - pspReference
      type: object
    Name:
      properties:
        firstName:
          description: The first name.
          type: string
        lastName:
          description: The last name.
          type: string
      required:
        - firstName
        - lastName
      type: object
    PaymentRequest:
      properties:
        additionalAmount:
          $ref: "#/components/schemas/Amount"
          description: |-
            If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).
            Required to be in the same currency as the `amount`. 
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular payment request.

            The `additionalData` object consists of entries, each of which includes the key and value.
          type: object
        amount:
          $ref: "#/components/schemas/Amount"
          description: The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).
        bankAccount:
          $ref: "#/components/schemas/BankAccount"
          description: |-
            The details of the bank account, from which the payment should be made.
            > Either `bankAccount` or `card` field must be provided in a payment request.
        billingAddress:
          $ref: "#/components/schemas/Address"
          description: |-
            The address where to send the invoice.
            > The `billingAddress` object is required in the following scenarios. Include all of the fields within this object.
            >* For 3D Secure 2 transactions in all browser-based and mobile implementations.
            >* For cross-border payouts to and from Canada.
          x-addedInVersion: "4"
        browserInfo:
          $ref: "#/components/schemas/BrowserInfo"
          description: |-
            The shopper's browser information.
            > For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate  that your integration can support a redirect in case a payment is routed to 3D Secure 1.
        captureDelayHours:
          description: The delay between the authorisation and scheduled auto-capture, specified in hours.
          format: int32
          type: integer
          x-addedInVersion: "2"
        card:
          $ref: "#/components/schemas/Card"
          description: |-
            A container for card data.
            > Either `bankAccount` or `card` field must be provided in a payment request.
        dateOfBirth:
          description: |-
            The shopper's date of birth.

            Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
          format: date
          type: string
          x-addedInVersion: "7"
        dccQuote:
          $ref: "#/components/schemas/ForexQuote"
          description: The forex quote as returned in the response of the forex service.
        deliveryAddress:
          $ref: "#/components/schemas/Address"
          description: The address where the purchased goods should be delivered.
        deliveryDate:
          description: |-
            The date and time the purchased goods should be delivered.

            Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD

            Example: 2017-07-17T13:42:40.428+01:00
          format: date-time
          type: string
          x-addedInVersion: "8"
        deviceFingerprint:
          description: A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
          maxLength: 5000
          type: string
          x-addedInVersion: "2"
        entityType:
          description: The type of the entity the payment is processed for.
          enum:
            - NaturalPerson
            - CompanyName
          type: string
          x-addedInVersion: "24"
        fraudOffset:
          description: An integer value that is added to the normal fraud score. The value can be either positive or negative.
          format: int32
          type: integer
        installments:
          $ref: "#/components/schemas/Installments"
          description: Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).
          x-addedInVersion: "4"
        mandate:
          $ref: "#/components/schemas/Mandate"
          description: The mandate details to initiate recurring transaction.
        mcc:
          description: The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
          type: string
          x-addedInVersion: "12"
        merchantAccount:
          description: The merchant account identifier, with which you want to process the transaction.
          type: string
        merchantOrderReference:
          description: |-
            This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.
            The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.
            > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
          type: string
          x-addedInVersion: "9"
        metadata:
          additionalProperties:
            type: string
          description: |-
            Metadata consists of entries, each of which includes a key and a value.
            Limits:
            * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit".
            * Maximum 20 characters per key.
            * Maximum 80 characters per value. 
          type: object
          x-addedInVersion: "17"
        mpiData:
          $ref: "#/components/schemas/ThreeDSecureData"
          description: Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).
        nationality:
          description: The two-character country code of the shopper's nationality.
          maxLength: 2
          type: string
          x-addedInVersion: "24"
        orderReference:
          description: When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
          type: string
        recurring:
          $ref: "#/components/schemas/Recurring"
          description: The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).
        reference:
          description: |-
            The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.
            If you need to provide multiple references for a transaction, separate them with hyphens ("-").
            Maximum length: 80 characters.
          type: string
        selectedBrand:
          description: |-
            Some payment methods require defining a value for this field to specify how to process the transaction.

            For the Bancontact payment method, it can be set to:
            * `maestro` (default), to be processed like a Maestro card, or
            * `bcmc`, to be processed like a Bancontact card.
          type: string
        selectedRecurringDetailReference:
          description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
          type: string
        sessionId:
          description: A session ID used to identify a payment session.
          type: string
        shopperEmail:
          description: |-
            The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.
            > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
          type: string
        shopperIP:
          description: |-
            The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).
            > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.
            This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
          type: string
        shopperInteraction:
          description: |-
            Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.
            For the web service API, Adyen assumes Ecommerce shopper interaction by default.

            This field has the following possible values:
            * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.
            * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).
            * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.
            * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
          enum:
            - Ecommerce
            - ContAuth
            - Moto
            - POS
          type: string
        shopperLocale:
          description: The combination of a language code and a country code to specify the language to be used in the payment.
          type: string
          x-addedInVersion: "7"
        shopperName:
          $ref: "#/components/schemas/Name"
          description: The shopper's full name.
          x-addedInVersion: "7"
        shopperReference:
          description: |-
            Required for recurring payments. 
            Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.
            > Your reference must not include personally identifiable information (PII), for example name or email address.
          type: string
        shopperStatement:
          description: |-
            The text to be shown on the shopper's bank statement.
             We recommend sending a maximum of 22 characters, otherwise banks might truncate the string.
             Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /**.
          type: string
        socialSecurityNumber:
          description: The shopper's social security number.
          type: string
          x-addedInVersion: "4"
        store:
          description: The ecommerce or point-of-sale store that is processing the payment. Used in [partner model integrations](https://docs.adyen.com/marketplaces-and-platforms/classic/platforms-for-partners#route-payments) for Adyen for Platforms.
          maxLength: 16
          minLength: 1
          type: string
          x-addedInVersion: "23"
        telephoneNumber:
          description: The shopper's telephone number.
          type: string
          x-addedInVersion: "7"
        totalsGroup:
          description: The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
          maxLength: 16
          minLength: 1
          type: string
          x-addedInVersion: "23"
      required:
        - merchantAccount
        - reference
        - amount
      type: object
    PaymentRequest3d:
      properties:
        additionalAmount:
          $ref: "#/components/schemas/Amount"
          description: |-
            If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).
            Required to be in the same currency as the `amount`. 
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular payment request.

            The `additionalData` object consists of entries, each of which includes the key and value.
          type: object
        amount:
          $ref: "#/components/schemas/Amount"
          description: The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).
        billingAddress:
          $ref: "#/components/schemas/Address"
          description: |-
            The address where to send the invoice.
            > The `billingAddress` object is required in the following scenarios. Include all of the fields within this object.
            >* For 3D Secure 2 transactions in all browser-based and mobile implementations.
            >* For cross-border payouts to and from Canada.
          x-addedInVersion: "4"
        browserInfo:
          $ref: "#/components/schemas/BrowserInfo"
          description: |-
            The shopper's browser information.
            > For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the `userAgent` and `acceptHeader` fields to indicate  that your integration can support a redirect in case a payment is routed to 3D Secure 1.
        captureDelayHours:
          description: The delay between the authorisation and scheduled auto-capture, specified in hours.
          format: int32
          type: integer
          x-addedInVersion: "2"
        dateOfBirth:
          description: |-
            The shopper's date of birth.

            Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
          format: date
          type: string
          x-addedInVersion: "7"
        dccQuote:
          $ref: "#/components/schemas/ForexQuote"
          description: The forex quote as returned in the response of the forex service.
        deliveryAddress:
          $ref: "#/components/schemas/Address"
          description: The address where the purchased goods should be delivered.
        deliveryDate:
          description: |-
            The date and time the purchased goods should be delivered.

            Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD

            Example: 2017-07-17T13:42:40.428+01:00
          format: date-time
          type: string
          x-addedInVersion: "8"
        deviceFingerprint:
          description: A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
          maxLength: 5000
          type: string
          x-addedInVersion: "2"
        fraudOffset:
          description: An integer value that is added to the normal fraud score. The value can be either positive or negative.
          format: int32
          type: integer
        installments:
          $ref: "#/components/schemas/Installments"
          description: Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).
          x-addedInVersion: "4"
        mcc:
          description: The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.
          type: string
          x-addedInVersion: "12"
        md:
          description: The payment session identifier returned by the card issuer.
          type: string
        merchantAccount:
          description: The merchant account identifier, with which you want to process the transaction.
          type: string
        merchantOrderReference:
          description: |-
            This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.
            The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.
            > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.
          type: string
          x-addedInVersion: "9"
        metadata:
          additionalProperties:
            type: string
          description: |-
            Metadata consists of entries, each of which includes a key and a value.
            Limits:
            * Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit".
            * Maximum 20 characters per key.
            * Maximum 80 characters per value. 
          type: object
          x-addedInVersion: "17"
        orderReference:
          description: When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.
          type: string
        paResponse:
          description: Payment authorisation response returned by the card issuer. The `paResponse` field holds the PaRes value received from the card issuer.
          type: string
        recurring:
          $ref: "#/components/schemas/Recurring"
          description: The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).
        reference:
          description: |-
            The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement.
            If you need to provide multiple references for a transaction, separate them with hyphens ("-").
            Maximum length: 80 characters.
          type: string
        selectedBrand:
          description: |-
            Some payment methods require defining a value for this field to specify how to process the transaction.

            For the Bancontact payment method, it can be set to:
            * `maestro` (default), to be processed like a Maestro card, or
            * `bcmc`, to be processed like a Bancontact card.
          type: string
        selectedRecurringDetailReference:
          description: The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
          type: string
        sessionId:
          description: A session ID used to identify a payment session.
          type: string
        shopperEmail:
          description: |-
            The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.
            > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.
          type: string
        shopperIP:
          description: |-
            The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).
            > For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.
            This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
          type: string
        shopperInteraction:
          description: |-
            Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.
            For the web service API, Adyen assumes Ecommerce shopper interaction by default.

            This field has the following possible values:
            * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.
            * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).
            * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.
            * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
          enum:
            - Ecommerce
            - ContAuth
            - Moto
            - POS
          type: string
        shopperLocale:
          description: The combination of a language code and a country code to specify the language to be used in the payment.
          type: string
          x-addedInVersion: "7"
        shopperName:
          $ref: "#/components/schemas/Name"
          description: The shopper's full name.
          x-addedInVersion: "7"
        shopperReference:
          description: |-
            Required for recurring payments. 
            Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.
            > Your reference must not include personally identifiable information (PII), for example name or email address.
          type: string
        shopperStatement:
          description: |-
            The text to be shown on the shopper's bank statement.
             We recommend sending a maximum of 22 characters, otherwise banks might truncate the string.
             Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /**.
          type: string
        socialSecurityNumber:
          description: The shopper's social security number.
          type: string
          x-addedInVersion: "4"
        store:
          description: The ecommerce or point-of-sale store that is processing the payment. Used in [partner model integrations](https://docs.adyen.com/marketplaces-and-platforms/classic/platforms-for-partners#route-payments) for Adyen for Platforms.
          maxLength: 16
          minLength: 1
          type: string
          x-addedInVersion: "23"
        telephoneNumber:
          description: The shopper's telephone number.
          type: string
          x-addedInVersion: "7"
        totalsGroup:
          description: The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
          maxLength: 16
          minLength: 1
          type: string
          x-addedInVersion: "23"
      required:
        - merchantAccount
        - paResponse
        - md
      type: object
    PaymentResult:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/ResponseAdditionalData3DSecure"
            - $ref: "#/components/schemas/ResponseAdditionalDataBillingAddress"
            - $ref: "#/components/schemas/ResponseAdditionalDataCard"
            - $ref: "#/components/schemas/ResponseAdditionalDataCommon"
            - $ref: "#/components/schemas/ResponseAdditionalDataInstallments"
            - $ref: "#/components/schemas/ResponseAdditionalDataNetworkTokens"
            - $ref: "#/components/schemas/ResponseAdditionalDataOpi"
            - $ref: "#/components/schemas/ResponseAdditionalDataSepa"
          description: "Contains additional information about the payment. Some data fields are included only if you select them first: Go to **Customer Area** > **Developers** > **Additional data**."
          type: object
        authCode:
          description: |-
            Authorisation code:
            * When the payment is authorised successfully, this field holds the authorisation code for the payment.
            * When the payment is not authorised, this field is empty.
          type: string
        dccAmount:
          $ref: "#/components/schemas/Amount"
          description: |-
            Includes the currency of the conversion and the value of the transaction.
            > This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
        dccSignature:
          description: |-
            Cryptographic signature used to verify `dccQuote`.
            > This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).
          type: string
        fraudResult:
          $ref: "#/components/schemas/FraudResult"
          description: The fraud result properties of the payment.
        issuerUrl:
          description: |-
            The URL to direct the shopper to.
            > In case of SecurePlus, do not redirect a shopper to this URL.
          type: string
        md:
          description: The payment session.
          maxLength: 20000
          type: string
        paRequest:
          description: |-
            The 3D request data for the issuer.

            If the value is **CUPSecurePlus-CollectSMSVerificationCode**, collect an SMS code from the shopper and pass it in the `/authorise3D` request. For more information, see [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).
          type: string
        pspReference:
          description: Adyen's 16-character reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.
          type: string
        refusalReason:
          description: |-
            If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.

            For more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).
          type: string
        resultCode:
          description: |-
            The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).

            Possible values:

            * **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.
            * **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).
            * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.
            * **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.
            * **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.
            * **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.
            * **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.
            * **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.
            * **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.
            * **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.
            * **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.
            * **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.
          enum:
            - AuthenticationFinished
            - AuthenticationNotRequired
            - Authorised
            - Cancelled
            - ChallengeShopper
            - Error
            - IdentifyShopper
            - Pending
            - PresentToShopper
            - Received
            - RedirectShopper
            - Refused
            - Success
          type: string
      type: object
    Recurring:
      properties:
        contract:
          description: |-
            The type of recurring contract to be used.
            Possible values:
            * `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).
            * `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).
            * `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.
            * `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).
          enum:
            - ONECLICK
            - RECURRING
            - PAYOUT
          type: string
        recurringDetailName:
          description: A descriptive name for this detail.
          type: string
        tokenService:
          description: The name of the token service.
          enum:
            - VISATOKENSERVICE
            - MCTOKENSERVICE
          type: string
          x-addedInVersion: "25"
      type: object
    RefundRequest:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataModifications"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular modification request.

            The additionalData object consists of entries, each of which includes the key and value.
          type: object
        merchantAccount:
          description: The merchant account that is used to process the payment.
          type: string
        modificationAmount:
          $ref: "#/components/schemas/Amount"
          description: The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.
        originalReference:
          description: |+
            The original pspReference of the payment to modify.
            This reference is returned in:
            * authorisation response
            * authorisation notification

          type: string
        reference:
          description: |-
            Your reference for the payment modification. This reference is visible in Customer Area and in reports.
            Maximum length: 80 characters.
          type: string
        tenderReference:
          description: The transaction reference provided by the PED. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
        uniqueTerminalId:
          description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
      required:
        - merchantAccount
        - modificationAmount
        - originalReference
      type: object
    ResponseAdditionalData3DSecure:
      properties:
        cardHolderInfo:
          description: "Information provided by the issuer to the cardholder. If this field is present, you need to display this information to the cardholder. "
          type: string
        cavv:
          description: The Cardholder Authentication Verification Value (CAVV) for the 3D Secure authentication session, as a Base64-encoded 20-byte array.
          type: string
        cavvAlgorithm:
          description: The CAVV algorithm used.
          type: string
        scaExemptionRequested:
          description: |-
            Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.

             Possible values:
            * **lowValue** 
            * **secureCorporate** 
            * **trustedBeneficiary** 
            * **transactionRiskAnalysis** 
          type: string
        threeds2.cardEnrolled:
          description: Indicates whether a card is enrolled for 3D Secure 2.
          type: boolean
      type: object
    ResponseAdditionalDataBillingAddress:
      properties:
        billingAddress.city:
          description: The billing address city passed in the payment request.
          type: string
        billingAddress.country:
          description: |-
            The billing address country passed in the payment request.

            Example: NL
          type: string
        billingAddress.houseNumberOrName:
          description: The billing address house number or name passed in the payment request.
          type: string
        billingAddress.postalCode:
          description: |-
            The billing address postal code passed in the payment request.

            Example: 1011 DJ
          type: string
        billingAddress.stateOrProvince:
          description: |-
            The billing address state or province passed in the payment request.

            Example: NH
          type: string
        billingAddress.street:
          description: The billing address street passed in the payment request.
          type: string
      type: object
    ResponseAdditionalDataCard:
      properties:
        cardBin:
          description: |-
            The first six digits of the card number.

            This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with a six-digit BIN.

            Example: 521234
          type: string
        cardHolderName:
          description: The cardholder name passed in the payment request.
          type: string
        cardIssuingBank:
          description: The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.
          type: string
        cardIssuingCountry:
          description: |-
            The country where the card was issued.

            Example: US
          type: string
        cardIssuingCurrency:
          description: |-
            The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. 

            Example: USD
          type: string
        cardPaymentMethod:
          description: |-
            The card payment method used for the transaction.

            Example: amex
          type: string
        cardSummary:
          description: |-
            The last four digits of a card number.

            > Returned only in case of a card payment.
          type: string
        issuerBin:
          description: |-
            The first eight digits of the card number. Only returned if the card number is 16 digits or more.

            This is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with an eight-digit BIN.

            Example: 52123423
          type: string
      type: object
    ResponseAdditionalDataCommon:
      properties:
        acquirerAccountCode:
          description: |-
            The name of the Adyen acquirer account.

            Example: PayPalSandbox_TestAcquirer

            > Only relevant for PayPal transactions.
          type: string
        acquirerCode:
          description: |-
            The name of the acquirer processing the payment request.

            Example: TestPmmAcquirer
          type: string
        acquirerReference:
          description: |-
            The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.

            Example: 7C9N3FNBKT9
          type: string
        alias:
          description: |-
            The Adyen alias of the card.

            Example: H167852639363479
          type: string
        aliasType:
          description: |-
            The type of the card alias.

            Example: Default
          type: string
        authCode:
          description: |-
            Authorisation code:
            * When the payment is authorised successfully, this field holds the authorisation code for the payment.
            * When the payment is not authorised, this field is empty.

            Example: 58747
          type: string
        authorisationMid:
          description: Merchant ID known by the acquirer.
          type: string
        authorisedAmountCurrency:
          description: The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        authorisedAmountValue:
          description: |-
            Value of the amount authorised.

            This amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).
          type: string
        avsResult:
          description: |-
            The AVS result code of the payment, which provides information about the outcome of the AVS check.

            For possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).
          type: string
        avsResultRaw:
          description: |-
            Raw AVS result received from the acquirer, where available.

            Example: D
          type: string
        bic:
          description: |-
            BIC of a bank account.

            Example: TESTNL01

            > Only relevant for SEPA Direct Debit transactions.
          type: string
        coBrandedWith:
          description: Includes the co-branded card information.
          type: string
        cvcResult:
          description: The result of CVC verification.
          examples:
            - 1 Matches
          type: string
        cvcResultRaw:
          description: The raw result of CVC verification.
          examples:
            - M
          type: string
        dsTransID:
          description: Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.
          type: string
        eci:
          description: |-
            The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.

            Example: 02
          type: string
        expiryDate:
          description: |-
            The expiry date on the card.

            Example: 6/2016

            > Returned only in case of a card payment.
          type: string
        extraCostsCurrency:
          description: |-
            The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.

            Example: EUR
          type: string
        extraCostsValue:
          description: The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.
          type: string
        "fraudCheck-[itemNr]-[FraudCheckname]":
          description: The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.
          type: string
        fraudManualReview:
          description: Indicates if the payment is sent to manual review.
          type: string
        fraudResultType:
          description: The fraud result properties of the payment.
          enum:
            - GREEN
            - FRAUD
          type: string
        fundingSource:
          description: |-
            Information regarding the funding type of the card. The possible return values are:
            * CHARGE
            * CREDIT
            * DEBIT
            * PREPAID
            * PREPAID_RELOADABLE

            * PREPAID_NONRELOADABLE
            * DEFFERED_DEBIT

            > This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.

            For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.
          type: string
        fundsAvailability:
          description: |-
            Indicates availability of funds.

            Visa:
            * "I" (fast funds are supported)
            * "N" (otherwise)

            Mastercard:
            * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)
            * "N" (otherwise)

            > Returned when you verify a card BIN or estimate costs, and only if payoutEligible is "Y" or "D".
          type: string
        inferredRefusalReason:
          description: |-
            Provides the more granular indication of why a transaction was refused. When a transaction fails with either "Refused", "Restricted Card", "Transaction Not Permitted", "Not supported" or "DeclinedNon Generic" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to "Not Supported".

            Possible values:

            * 3D Secure Mandated
            * Closed Account
            * ContAuth Not Supported
            * CVC Mandated
            * Ecommerce Not Allowed
            * Crossborder Not Supported
            * Card Updated

            * Low Authrate Bin
            * Non-reloadable prepaid card
          type: string
        isCardCommercial:
          description: Indicates if the card is used for business purposes only.
          type: string
        issuerCountry:
          description: |-
            The issuing country of the card based on the BIN list that Adyen maintains.

            Example: JP
          type: string
        liabilityShift:
          description: A Boolean value indicating whether a liability shift was offered for this payment.
          type: string
        mcBankNetReferenceNumber:
          description: |-
            The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.

            > Contact Support Team to enable this field.
          type: string
        merchantAdviceCode:
          description: |-
            The Merchant Advice Code (MAC) can be returned by Mastercard issuers for refused payments. If present, the MAC contains information about why the payment failed, and whether it can be retried.

            For more information see [Mastercard Merchant Advice Codes](https://docs.adyen.com/development-resources/raw-acquirer-responses#mastercard-merchant-advice-codes).
          type: string
        merchantReference:
          description: The reference provided for the transaction.
          type: string
        networkTxReference:
          description: |-
            Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.

            This contains either the Mastercard Trace ID or the Visa Transaction ID.
          type: string
        nonScheme.transactionLimit:
          description: The maximum spendable value for a single transaction. Applicable to some gift cards.
          type: string
        nonScheme.transactionLimitCcy:
          description: The currency of the transaction limit.
          type: string
        ownerName:
          description: |-
            The owner name of a bank account.

            Only relevant for SEPA Direct Debit transactions.
          type: string
        paymentAccountReference:
          description: The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.
          type: string
        paymentMethod:
          description: The payment method used in the transaction.
          type: string
        paymentMethodVariant:
          description: |-
            The Adyen sub-variant of the payment method used for the payment request.

            For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).

            Example: mcpro
          type: string
        payoutEligible:
          description: |-
            Indicates whether a payout is eligible or not for this card.

            Visa:
            * "Y"
            * "N"

            Mastercard:
            * "Y" (domestic and cross-border)

            * "D" (only domestic)
            * "N" (no MoneySend)
            * "U" (unknown)
          type: string
        realtimeAccountUpdaterStatus:
          description: |-
            The response code from the Real Time Account Updater service.

            Possible return values are:
            * CardChanged
            * CardExpiryChanged
            * CloseAccount

            * ContactCardAccountHolder
          type: string
        receiptFreeText:
          description: Message to be displayed on the terminal.
          type: string
        recurring.firstPspReference:
          description: |-
            The `pspReference`, of the first recurring payment that created the recurring detail.

            This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.
          type: string
        recurring.recurringDetailReference:
          description: The reference that uniquely identifies the recurring transaction.
          type: string
        referred:
          description: |-
            If the payment is referred, this field is set to true.

            This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.

            Example: true
          type: string
        refusalReasonRaw:
          description: |-
            Raw refusal reason received from the acquirer, where available.

            Example: AUTHORISED
          type: string
        requestAmount:
          description: The amount of the payment request.
          type: string
        requestCurrencyCode:
          description: The currency of the payment request.
          type: string
        shopperInteraction:
          description: |-
            The shopper interaction type of the payment request.

            Example: Ecommerce
          type: string
        shopperReference:
          description: |-
            The shopperReference passed in the payment request.

            Example: AdyenTestShopperXX
          type: string
        terminalId:
          description: |-
            The terminal ID used in a point-of-sale payment.

            Example: 06022622
          type: string
        threeDAuthenticated:
          description: |-
            A Boolean value indicating whether 3DS authentication was completed on this payment.

            Example: true
          type: string
        threeDAuthenticatedResponse:
          description: |-
            The raw 3DS authentication result from the card issuer.

            Example: N
          type: string
        threeDOffered:
          description: |-
            A Boolean value indicating whether 3DS was offered for this payment.

            Example: true
          type: string
        threeDOfferedResponse:
          description: |-
            The raw enrollment result from the 3DS directory services of the card schemes.

            Example: Y
          type: string
        threeDSVersion:
          description: The 3D Secure 2 version.
          type: string
        visaTransactionId:
          description: |-
            The `visaTransactionId`, has a fixed length of 15 numeric characters.

            > Contact Support Team to enable this field.
          type: string
        xid:
          description: |-
            The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. If you want to submit the xid in your 3D Secure 1 request, use the `mpiData.xid`, field.

            Example: ODgxNDc2MDg2MDExODk5MAAAAAA=
          type: string
      type: object
    ResponseAdditionalDataInstallments:
      properties:
        installmentPaymentData.installmentType:
          description: Type of installment. The value of `installmentType` should be **IssuerFinanced**.
          type: string
        "installmentPaymentData.option[itemNr].annualPercentageRate":
          description: Annual interest rate.
          type: string
        "installmentPaymentData.option[itemNr].firstInstallmentAmount":
          description: First Installment Amount in minor units.
          type: string
        "installmentPaymentData.option[itemNr].installmentFee":
          description: Installment fee amount in minor units.
          type: string
        "installmentPaymentData.option[itemNr].interestRate":
          description: Interest rate for the installment period.
          type: string
        "installmentPaymentData.option[itemNr].maximumNumberOfInstallments":
          description: Maximum number of installments possible for this payment.
          type: string
        "installmentPaymentData.option[itemNr].minimumNumberOfInstallments":
          description: Minimum number of installments possible for this payment.
          type: string
        "installmentPaymentData.option[itemNr].numberOfInstallments":
          description: Total number of installments possible for this payment.
          type: string
        "installmentPaymentData.option[itemNr].subsequentInstallmentAmount":
          description: Subsequent Installment Amount in minor units.
          type: string
        "installmentPaymentData.option[itemNr].totalAmountDue":
          description: Total amount in minor units.
          type: string
        installmentPaymentData.paymentOptions:
          description: |-
            Possible values:
            * PayInInstallmentsOnly
            * PayInFullOnly
            * PayInFullOrInstallments
          type: string
        installments.value:
          description: |-
            The number of installments that the payment amount should be charged with.

            Example: 5
            > Only relevant for card payments in countries that support installments.
          type: string
      type: object
    ResponseAdditionalDataNetworkTokens:
      properties:
        networkToken.available:
          description: Indicates whether a network token is available for the specified card.
          type: string
        networkToken.bin:
          description: The Bank Identification Number of a tokenized card, which is the first six digits of a card number.
          type: string
        networkToken.tokenSummary:
          description: The last four digits of a network token.
          type: string
      type: object
    ResponseAdditionalDataOpi:
      properties:
        opi.transToken:
          description: "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce)."
          type: string
      type: object
    ResponseAdditionalDataSepa:
      properties:
        sepadirectdebit.dateOfSignature:
          description: |-
            The transaction signature date.

            Format: yyyy-MM-dd
          type: string
        sepadirectdebit.mandateId:
          description: Its value corresponds to the pspReference value of the transaction.
          type: string
        sepadirectdebit.sequenceType:
          description: |-
            This field can take one of the following values:
            * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.

            * First: (FRST) Initial/first collection in a series of direct debit instructions.
            * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.
            * Final: (FNAL) Last/final collection in a series of direct debit instructions.

            Example: OOFF
          type: string
      type: object
    ServiceError:
      properties:
        errorCode:
          description: The error code mapped to the error message.
          type: string
        errorType:
          description: The category of the error.
          type: string
        message:
          description: A short explanation of the issue.
          type: string
        pspReference:
          description: The PSP reference of the payment.
          type: string
        status:
          description: The HTTP response status.
          format: int32
          type: integer
      type: object
    ThreeDSecureData:
      properties:
        authenticationResponse:
          description: |-
            In 3D Secure 1, the authentication response if the shopper was redirected.

            In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.
          enum:
            - Y
            - N
            - U
            - A
          type: string
        cavv:
          contentEncoding: base64
          description: The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).
          type: string
        cavvAlgorithm:
          description: The CAVV algorithm used. Include this only for 3D Secure 1.
          type: string
        directoryResponse:
          description: |-
            In 3D Secure 1, this is the enrollment response from the 3D directory server.

            In 3D Secure 2, this is the `transStatus` from the `ARes`.
          enum:
            - A
            - C
            - D
            - I
            - N
            - R
            - U
            - Y
          type: string
        eci:
          description: The electronic commerce indicator.
          type: string
        xid:
          contentEncoding: base64
          description: Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).
          type: string
      type: object
    VoidPendingRefundRequest:
      properties:
        additionalData:
          additionalProperties:
            type: string
          anyOf:
            - $ref: "#/components/schemas/AdditionalData3DSecure"
            - $ref: "#/components/schemas/AdditionalDataAirline"
            - $ref: "#/components/schemas/AdditionalDataCarRental"
            - $ref: "#/components/schemas/AdditionalDataCommon"
            - $ref: "#/components/schemas/AdditionalDataLevel23"
            - $ref: "#/components/schemas/AdditionalDataLodging"
            - $ref: "#/components/schemas/AdditionalDataModifications"
            - $ref: "#/components/schemas/AdditionalDataOpenInvoice"
            - $ref: "#/components/schemas/AdditionalDataOpi"
            - $ref: "#/components/schemas/AdditionalDataRatepay"
            - $ref: "#/components/schemas/AdditionalDataRetry"
            - $ref: "#/components/schemas/AdditionalDataRisk"
            - $ref: "#/components/schemas/AdditionalDataRiskStandalone"
            - $ref: "#/components/schemas/AdditionalDataSubMerchant"
            - $ref: "#/components/schemas/AdditionalDataTemporaryServices"
            - $ref: "#/components/schemas/AdditionalDataWallets"
          description: |-
            This field contains additional data, which may be required for a particular modification request.

            The additionalData object consists of entries, each of which includes the key and value.
          type: object
        merchantAccount:
          description: The merchant account that is used to process the payment.
          type: string
        modificationAmount:
          $ref: "#/components/schemas/Amount"
          description: The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.
        originalReference:
          description: |+
            The original pspReference of the payment to modify.
            This reference is returned in:
            * authorisation response
            * authorisation notification

          type: string
        reference:
          description: |-
            Your reference for the payment modification. This reference is visible in Customer Area and in reports.
            Maximum length: 80 characters.
          type: string
        tenderReference:
          description: The transaction reference provided by the PED. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
        uniqueTerminalId:
          description: Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.
          type: string
          x-addedInVersion: "25"
      required:
        - merchantAccount
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey
    BasicAuth:
      scheme: basic
      type: http
x-groups:
  - General
  - Modifications
