Adyen Payment API

The Payment API from Adyen — 2 operation(s) for payment.

Operations 1

POST /payment Adyen Payment Request

Documentation

📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/configure-notifications/
📖
Documentation
https://docs.adyen.com/api-explorer/Account/6/overview
📖
Documentation
https://docs.adyen.com/development-resources/webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/BalanceControl/1/overview
📖
Documentation
https://docs.adyen.com/api-explorer/BinLookup/52/overview
📖
Documentation
https://docs.adyen.com/api-explorer/Checkout/71/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform/2/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/development-resources/data-protection-api/
📖
Documentation
https://docs.adyen.com/risk-management/disputes-api
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/fund-transfer/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/collect-verification-details/hosted/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/legal-entity-management-api/
📖
Documentation
https://docs.adyen.com/api-explorer/Management/3/overview
📖
Documentation
https://docs.adyen.com/api-explorer/management-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/notifications
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/notifications/
📖
Documentation
https://docs.adyen.com/online-payments/
📖
Documentation
https://docs.adyen.com/online-payments/online-payouts
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/
📖
Documentation
https://docs.adyen.com/online-payments/tokenization
📖
Documentation
https://docs.adyen.com/api-explorer/report-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/terminal-api-reference/
📖
Documentation
https://docs.adyen.com/development-resources/testing/create-test-cards
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/business-accounts/transactions/transaction-webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/transfer-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/payout-to-users/on-demand-payouts
📖
Documentation
https://docs.adyen.com/development-resources/webhooks

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/adyen-payment-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

adyen-payment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1'
  title: Adyen Terminal Payment API
  description: The Adyen Terminal API lets you make payments, issue refunds, collect shopper information, and perform other shopper-terminal interactions using a payment terminal supplied by Adyen.
servers:
- description: with cloud integration
  url: https://terminal-api-test.adyen.com/sync
- description: with cloud integration
  url: https://terminal-api-test.adyen.com/async
- description: with local-hosting
  url: <local-terminal-IP-address>
tags:
- name: Payment
paths:
  /payment:
    post:
      description: Request sent to terminal to initiate payment.  It conveys Information related to the Payment transaction to process. Content of the Payment Request message.
      summary: Adyen Payment Request
      security:
      - BasicAuth: []
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
              examples:
                operation200Example:
                  summary: Default operation 200 response
                  x-microcks-default: true
                  value:
                    Response: example_value
                    SaleData: example_value
                    POIData: example_value
                    PaymentResult: example_value
                    LoyaltyResult:
                    - example_value
                    PaymentReceipt:
                    - example_value
                    CustomerOrder:
                    - example_value
          description: It conveys Information related to the Payment transaction processed by the POI System. Content of the Payment Response message.
      tags:
      - Payment
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CustomerOrder:
      type: object
      description: Customer order attached to a customer, recorded in the POI system.  Allows the management of customer orders by the POI, for instance in a multi-channel or a click and collect sale transaction.
      properties:
        CustomerOrderID:
          type: string
          pattern: ^.+$
          description: Additional and optional identification of a customer order.
        SaleReferenceID:
          type: string
          pattern: ^.+$
        OpenOrderState:
          type: boolean
          default: true
        StartDate:
          type: string
          format: date-time
          description: Date time of the beginning of an operation.
        EndDate:
          type: string
          format: date-time
          description: Date time of the end of an operation.
        ForecastedAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        CurrentAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
          description: Total amount of all completed transactions of a customer order.
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: Currency of a monetary amount.
        AccessedBy:
          type: string
          pattern: ^.+$
        AdditionalInformation:
          type: string
          pattern: ^.+$
          description: Unqualified information.
      required:
      - SaleReferenceID
      - StartDate
      - ForecastedAmount
      - CurrentAmount
    PaymentType:
      type: string
      enum:
      - CashAdvance
      - CashDeposit
      - Completion
      - FirstReservation
      - Instalment
      - IssuerInstalment
      - Normal
      - OneTimeReservation
      - PaidOut
      - Recurring
      - Refund
      - UpdateReservation
    PaymentResponse:
      type: object
      description: It conveys Information related to the Payment transaction processed by the POI System. Content of the Payment Response message.
      properties:
        Response:
          $ref: '#/components/schemas/Response'
        SaleData:
          $ref: '#/components/schemas/SaleData'
        POIData:
          $ref: '#/components/schemas/POIData'
        PaymentResult:
          $ref: '#/components/schemas/PaymentResult'
        LoyaltyResult:
          type: array
          items:
            $ref: '#/components/schemas/LoyaltyResult'
        PaymentReceipt:
          type: array
          items:
            $ref: '#/components/schemas/PaymentReceipt'
        CustomerOrder:
          type: array
          items:
            $ref: '#/components/schemas/CustomerOrder'
      required:
      - Response
      - SaleData
      - POIData
    PaymentInstrumentType:
      type: string
      enum:
      - Card
      - Cash
      - Check
      - Mobile
      - StoredValue
    OutputBarcode:
      type: object
      properties:
        BarcodeType:
          $ref: '#/components/schemas/BarcodeType'
        BarcodeValue:
          type: string
          pattern: ^.+$
      required:
      - BarcodeValue
    Result:
      type: string
      enum:
      - Failure
      - Partial
      - Success
    InstalmentType:
      type: string
      enum:
      - DeferredInstalments
      - EqualInstalments
      - InequalInstalments
    LoyaltyAcquirerData:
      type: object
      properties:
        LoyaltyAcquirerID:
          type: string
          pattern: ^.+$
        ApprovalCode:
          type: string
          pattern: ^.+$
        LoyaltyTransactionID:
          $ref: '#/components/schemas/TransactionIDType'
        HostReconciliationID:
          type: string
          pattern: ^.+$
    SensitiveCardData:
      type: object
      description: This data structure could be CMS protected (EnvelopedData). In this case the data structure SensitiveCardData is replaced by the data structure ProtectedCardData of type ContentInformationType. When this data is protected, the exact content is unknown by the Sale System, and might include all the information which are required by an external backup POI Server to make a batch payment transaction in case of problem with the POI System. Sensitive information related to the payment card, entered or read by the Sale System.
      properties:
        PAN:
          type: integer
          minimum: 8
          maximum: 28
        CardSeqNumb:
          type: integer
          minimum: 2
          maximum: 3
          description: if EntryMode is File, Keyed or Manual.
        ExpiryDate:
          type: integer
          minimum: 4
          maximum: 4
          description: if EntryMode is File.
        TrackData:
          type: array
          items:
            $ref: '#/components/schemas/TrackData'
    AuthenticationMethod:
      type: array
      items:
        type: string
        enum:
        - Bypass
        - ManualVerification
        - MerchantAuthentication
        - OfflinePIN
        - OnlinePIN
        - PaperSignature
        - SecureCertificate
        - SecureNoCertificate
        - SecuredChannel
        - SignatureCapture
        - UnknownMethod
    StoredValueAccountID:
      type: object
      description: It contains the identifications of the stored value account or the stored value card, and the associated product sold by the Sale System for stored value requests. Identification of the stored value account or the stored value card.
      properties:
        StoredValueAccountType:
          $ref: '#/components/schemas/StoredValueAccountType'
        StoredValueProvider:
          type: string
          pattern: ^.+$
        OwnerName:
          type: string
          pattern: ^.+$
        ExpiryDate:
          type: integer
          minimum: 4
          maximum: 4
        EntryMode:
          $ref: '#/components/schemas/EntryMode'
        IdentificationType:
          $ref: '#/components/schemas/IdentificationType'
        StoredValueID:
          type: string
          pattern: ^.+$
      required:
      - StoredValueAccountType
      - EntryMode
      - IdentificationType
      - StoredValueID
    ForceEntryMode:
      type: array
      items:
        type: string
        enum:
        - CheckReader
        - Contactless
        - File
        - ICC
        - Keyed
        - MagStripe
        - Manual
        - RFID
        - Scanned
        - SynchronousICC
        - Tapped
    LoyaltyAmount:
      type: object
      description: An awarded amount or an amount to redeem to the loyalty account might be sent in the Payment request message. Amount of a loyalty account.
      properties:
        LoyaltyUnit:
          $ref: '#/components/schemas/LoyaltyUnit'
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
        AmountValue:
          type: number
          maximum: 99999999.999999
          minimum: 0
      required:
      - AmountValue
    UnitOfMeasure:
      type: string
      enum:
      - Case
      - Centilitre
      - Centimetre
      - Foot
      - Gram
      - Inch
      - Kilogram
      - Kilometre
      - Litre
      - Meter
      - Mile
      - Other
      - Ounce
      - Pint
      - Pound
      - Quart
      - UKGallon
      - USGallon
      - Yard
    TransactionConditions:
      type: object
      description: Conditions on which the transaction must be processed.
      properties:
        AllowedPaymentBrand:
          type: array
          items:
            type: string
            pattern: ^.+$
            description: Restrict brand if data sent.
        AcquirerID:
          type: array
          items:
            type: integer
            description: Restrict to these Acquirer if present.
        DebitPreferredFlag:
          type: boolean
          description: The preferred type of payment is a debit transaction rather a credit transaction.
        AllowedLoyaltyBrand:
          type: array
          items:
            type: string
            pattern: ^.+$
            description: Restrict brand if data sent.
        LoyaltyHandling:
          $ref: '#/components/schemas/LoyaltyHandling'
        CustomerLanguage:
          type: string
          pattern: ^[a-z]{2,2}$
          description: If the language is selected by the Sale System before the request to the POI.
        ForceOnlineFlag:
          type: boolean
          default: false
          description: Go online if data sent.
        ForceEntryMode:
          $ref: '#/components/schemas/ForceEntryMode'
        MerchantCategoryCode:
          type: string
          pattern: ^.{3,4}$
          description: The payment implies a specific MCC.
    CharacterWidth:
      type: string
      enum:
      - DoubleWidth
      - SingleWidth
    AllowedProduct:
      type: object
      description: Product that is payable by the payment card. Product codes that are payable by the payment card.
      properties:
        ProductCode:
          type: integer
          minimum: 1
          maximum: 20
          description: Product code of item purchased with the transaction.
        EanUpc:
          type: integer
          description: Standard product code of item purchased with the transaction.
        ProductLabel:
          type: string
          pattern: ^.+$
          description: Product name of an item purchased with the transaction.
        AdditionalProductInfo:
          type: string
          pattern: ^.+$
          description: Additionl information related to the line item.
      required:
      - ProductCode
    ConvertedAmount:
      type: object
      properties:
        AmountValue:
          type: number
          maximum: 99999999.999999
          minimum: 0
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
      required:
      - AmountValue
      - Currency
    LoyaltyAccountID:
      type: object
      description: In the Payment or the Loyalty Request message, it allows to identify the loyalty account by the Sale Terminal instead of the POI Terminal (e.g. because the account identification is a bar-code read by the Cashier on a scanner device). Identification of a Loyalty account.
      properties:
        EntryMode:
          $ref: '#/components/schemas/EntryMode'
        IdentificationType:
          $ref: '#/components/schemas/IdentificationType'
        IdentificationSupport:
          $ref: '#/components/schemas/IdentificationSupport'
        LoyaltyID:
          type: string
      required:
      - EntryMode
      - IdentificationType
      - LoyaltyID
    UTMCoordinates:
      type: object
      properties:
        UTMZone:
          type: string
          pattern: ^.+$
        UTMEastward:
          type: string
          pattern: ^.+$
        UTMNorthward:
          type: string
          pattern: ^.+$
      required:
      - UTMZone
      - UTMEastward
      - UTMNorthward
    LoyaltyHandling:
      type: string
      enum:
      - Allowed
      - Forbidden
      - Processed
      - Proposed
      - Required
    ErrorCondition:
      type: string
      enum:
      - Aborted
      - Busy
      - Cancel
      - DeviceOut
      - InProgress
      - InsertedCard
      - InvalidCard
      - LoggedOut
      - MessageFormat
      - NotAllowed
      - NotFound
      - PaymentRestriction
      - Refusal
      - UnavailableDevice
      - UnavailableService
      - UnreachableHost
      - WrongPIN
    CheckData:
      type: object
      description: Allows the check information to be provided by the Sale System before requesting the payment, or stored by the Sale System after processing of the payment. Information related to the paper check used for the transaction.
      properties:
        BankID:
          type: string
          pattern: ^.+$
          description: Mandatory if TrackData absent.
        AccountNumber:
          type: string
          pattern: ^.+$
          description: Mandatory if TrackData absent.
        CheckNumber:
          type: string
          pattern: ^.+$
          description: Mandatory if TrackData absent.
        TrackData:
          $ref: '#/components/schemas/TrackData'
        CheckCardNumber:
          type: string
          pattern: ^.+$
          description: If provided by the customer.
        TypeCode:
          $ref: '#/components/schemas/TypeCode'
        Country:
          type: string
          pattern: ^[A-Z]{3,3}$
          description: Absent if country of the Sale system.
    SaleData:
      type: object
      description: Data associated to the Sale System, with a particular value during the processing of the payment by the POI, including the cards acquisition. Data related to the Sale System.
      properties:
        OperatorID:
          type: string
          pattern: ^.+$
        OperatorLanguage:
          type: string
          pattern: ^[a-z]{2,2}$
          description: if different from the Login.
        ShiftNumber:
          type: string
          pattern: ^.+$
          description: if different from the Login and  see Login .SaleData.
        SaleTransactionID:
          $ref: '#/components/schemas/TransactionIDType'
        SaleReferenceID:
          type: string
          pattern: ^.+$
          description: If payment reservation.
        SaleTerminalData:
          $ref: '#/components/schemas/SaleTerminalData'
        TokenRequestedType:
          $ref: '#/components/schemas/TokenRequestedType'
        CustomerOrderID:
          type: string
          pattern: ^.+$
          description: Additional and optional identification of a customer order.
        CustomerOrderReq:
          $ref: '#/components/schemas/CustomerOrderReq'
        SaleToPOIData:
          type: string
          pattern: ^.+$
          description: Stored with the transaction.
        SaleToAcquirerData:
          type: string
          pattern: ^.+$
          description: Send to the Acquirer if present.
        SaleToIssuerData:
          $ref: '#/components/schemas/SaleToIssuerData'
      required:
      - SaleTransactionID
    BarcodeType:
      type: string
      enum:
      - Code128
      - Code25
      - EAN13
      - EAN8
      - PDF417
      - QRCode
      - UPCA
    PaymentResult:
      type: object
      properties:
        PaymentType:
          $ref: '#/components/schemas/PaymentType'
        PaymentInstrumentData:
          $ref: '#/components/schemas/PaymentInstrumentData'
        AmountsResp:
          $ref: '#/components/schemas/AmountsResp'
        Instalment:
          $ref: '#/components/schemas/Instalment'
        CurrencyConversion:
          type: array
          items:
            $ref: '#/components/schemas/CurrencyConversion'
        MerchantOverrideFlag:
          type: boolean
          default: false
        CapturedSignature:
          $ref: '#/components/schemas/CapturedSignature'
        ProtectedSignature:
          type: string
        CustomerLanguage:
          type: string
          pattern: ^[a-z]{2,2}$
        OnlineFlag:
          type: boolean
          default: true
        AuthenticationMethod:
          $ref: '#/components/schemas/AuthenticationMethod'
        ValidityDate:
          type: string
          format: date
        PaymentAcquirerData:
          $ref: '#/components/schemas/PaymentAcquirerData'
    CharacterStyle:
      type: string
      enum:
      - Bold
      - Italic
      - Normal
      - Underline
    PaymentAcquirerData:
      type: object
      description: Data related to the response from the payment Acquirer.
      properties:
        AcquirerID:
          type: integer
          description: If several Acquirers.
        MerchantID:
          type: string
          pattern: ^.+$
          description: Identification of the Merchant for the Acquirer.
        AcquirerPOIID:
          type: string
          pattern: ^.+$
          description: Identification of the POI for the payment Acquirer.
        AcquirerTransactionID:
          $ref: '#/components/schemas/TransactionIDType'
        ApprovalCode:
          type: string
          pattern: ^.+$
          description: If available.
        HostReconciliationID:
          type: string
          pattern: ^.+$
      required:
      - MerchantID
      - AcquirerPOIID
    TokenRequestedType:
      type: string
      enum:
      - Customer
      - Transaction
    PaymentRequest:
      type: object
      description: Request sent to terminal to initiate payment.  It conveys Information related to the Payment transaction to process. Content of the Payment Request message.
      properties:
        SaleData:
          $ref: '#/components/schemas/SaleData'
        PaymentTransaction:
          $ref: '#/components/schemas/PaymentTransaction'
        PaymentData:
          $ref: '#/components/schemas/PaymentData'
        LoyaltyData:
          type: array
          items:
            $ref: '#/components/schemas/LoyaltyData'
      required:
      - SaleData
      - PaymentTransaction
    CardData:
      type: object
      description: Allows acquisition of the card data by the Sale System before the Payment, CardAcquisition  or BalanceInquiry request to the POI. It could also be sent in the CardAcquisition response, to be processed by the Sale System. Information related to the payment card used for the transaction.
      properties:
        PaymentBrand:
          type: string
          pattern: ^.+$
          description: If card PAN is readable .
        MaskedPan:
          type: string
          pattern: ^.+$
        PaymentAccountRef:
          type: string
          pattern: ^.+$
        EntryMode:
          $ref: '#/components/schemas/EntryMode'
        CardCountryCode:
          type: integer
          minimum: 3
          maximum: 3
          description: If available in the card.
        ProtectedCardData:
          type: string
          description: SensitiveCardData protected by CMS EnvelopedData.
        SensitiveCardData:
          $ref: '#/components/schemas/SensitiveCardData'
        AllowedProductCode:
          type: array
          items:
            type: integer
            minimum: 1
            maximum: 20
        AllowedProduct:
          type: array
          items:
            $ref: '#/components/schemas/AllowedProduct'
        PaymentToken:
          $ref: '#/components/schemas/PaymentToken'
        CustomerOrder:
          type: array
          items:
            $ref: '#/components/schemas/CustomerOrder'
    TransactionIDType:
      type: object
      description: Identification of a transaction for the Sale System or the POI System.
      properties:
        TransactionID:
          type: string
          pattern: ^.+$
        TimeStamp:
          type: string
          format: date-time
      required:
      - TransactionID
      - TimeStamp
    Alignment:
      type: string
      enum:
      - Centred
      - Justified
      - Left
      - Right
    AmountsReq:
      type: object
      description: Amounts of a payment
      properties:
        Currency:
          type: string
          pattern: ^[A-Z]{3,3}$
        RequestedAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        CashBackAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        TipAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        PaidAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        MinimumAmountToDeliver:
          type: number
          maximum: 99999999.999999
          minimum: 0
        MaximumCashBackAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
        MinimumSplitAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
      required:
      - Currency
      - RequestedAmount
    SaleTerminalData:
      type: object
      description: In the Login Request, if a Sale Terminal is involved in the login. In other messages, when a logical device is out of order (SaleCapabilites), or when the other data have changed since or were not in the Login. Information related to the software and hardware feature of the Sale Terminal.
      properties:
        TotalsGroupID:
          type: string
          pattern: ^.{1,16}$
          description: If present, default value for all transaction.
    Color:
      type: string
      enum:
      - Black
      - Blue
      - Cyan
      - Green
      - Magenta
      - Red
      - White
      - Yellow
    TrackData:
      type: object
      description: ISO 7813 - ISO 4909.  Generic data structure for a card track, used when the magstripe card reader is located on the Sale Terminal, or for magstripe Card Reader device request. The data structure is also used to store the line at the bottom of a bank check. Magnetic track or magnetic ink characters line.
      properties:
        TrackNumb:
          type: integer
          minimum: 1
          maximum: 3
          default: 2
        TrackFormat:
          $ref: '#/components/schemas/TrackFormat'
        TrackValue:
          type: string
          pattern: ^.{1,104}$
      required:
      - TrackValue
    GeographicCoordinates:
      type: object
      properties:
        Latitude:
          type: string
          pattern: ^.+$
        Longitude:
          type: string
          pattern: ^.+$
      required:
      - Latitude
      - Longitude
    TrackFormat:
      type: string
      enum:
      - AAMVA
      - ISO
    LoyaltyData:
      type: object
      description: In the Payment, Loyalty or Balance Inquiry Request message, it allows the Sale Terminal to send the identification of the loyalty account or an awarded amount or an amount to redeem to the loyalty account. Data related to a Loyalty program or account.
      properties:
        CardAcquisitionReference:
          $ref: '#/components/schemas/TransactionIDType'
        LoyaltyAccountID:
          $ref: '#/components/schemas/LoyaltyAccountID'
        LoyaltyAmount:
          $ref: '#/components/schemas/LoyaltyAmount'
    IdentificationType:
      type: string
      enum:
      - AccountNumber
      - BarCode
      - ISOTrack2
      - PAN
      - PhoneNumber
    CustomerOrderReq:
      type: array
      items:
        type: string
        enum:
        - Both
        - Closed
        - Open
    OutputText:
      type: object
      description: It conveys Information related to the content of the text message and its format. All the data elements related to the format of the text to display or print are parameters valid for the whole Text content. Content of text message to display or print.
      properties:
        Text:
          type: string
        CharacterSet:
          type: integer
        Font:
          type: string
          pattern: ^.+$
        StartRow:
          type: integer
          minimum: 1
          maximum: 500
        StartColumn:
          type: integer
          minimum: 1
          maximum: 500
        Color:
          $ref: '#/components/schemas/Color'
        CharacterWidth:
          $ref: '#/components/schemas/CharacterWidth'
        CharacterHeight:
          $ref: '#/components/schemas/CharacterHeight'
        CharacterStyle:
          $ref: '#/components/schemas/CharacterStyle'
        Alignment:
          $ref: '#/components/schemas/Alignment'
        EndOfLineFlag:
          type: boolean
          default: true
      required:
      - Text
    CharacterHeight:
      type: string
      enum:
      - DoubleHeight
      - HalfHeight
      - SingleHeight
    Geolocation:
      type: object
      properties:
        GeographicCoordinates:
          $ref: '#/components/schemas/GeographicCoordinates'
        UTMCoordinates:
          $ref: '#/components/schemas/UTMCoordinates'
    PaymentTransaction:
      type: object
      properties:
        AmountsReq:
          $ref: '#/components/schemas/AmountsReq'
        OriginalPOITransaction:
          $ref: '#/components/schemas/OriginalPOITransaction'
        TransactionConditions:
          $ref: '#/components/schemas/TransactionConditions'
        SaleItem:
          type: array
          items:
            $ref: '#/components/schemas/SaleItem'
      required:
      - AmountsReq
    PaymentReceipt:
      type: object
      description: If the payment receipts are printed by the Sale system and the POI or the Sale does not implement the Print exchange (Basic profile). Customer or Merchant payment receipt.
      properties:
        DocumentQualifier:
          $ref: '#/components/schemas/DocumentQualifier'
        IntegratedPrintFlag:
          type: boolean
          description: Type of the print integrated to other prints.
        RequiredSignatureFlag:
          type: boolean
          default: false
          description: Indicate that the cardholder payment receipt requires a physical signature by the Customer.
        OutputContent:
          $ref: '#/components/schemas/OutputContent'
      required:
      - DocumentQualifier
      - OutputContent
    SaleToIssuerData:
      type: object
      description: The POI System receives this information and sends it to the Acquirer for the Issuer without any change. Sale information intended for the Issuer.
      properties:
        StatementReference:
          type: string
          pattern: ^.+$
          description: Information to print on the bank statement.
    TypeCode:
      type: string
      enum:
      - Company
      - Personal
    OriginalPOITransaction:
      type: object
      description: In the Payment or the Loyalty Request message, it allows using the card of a previous CardAcquisition or Payment/Loyalty request. Identification of a previous POI transaction.
      properties:
        SaleID:
          type: string
          pattern: ^.+$
          description: Identification of a Sale System or a Sale Terminal for the Sale to POI protocol.
        POIID:
          type: string
          pattern: ^.+$
          description: If original transaction is coming from another POI.
        POITransactionID:
          $ref: '#/components/schemas/TransactionIDType'
        ReuseCardDataFlag:
          type: boolean
          default: true
          description: Indicate if the card data has to be got from a previous transaction.
        ApprovalCode:
          type: string
          pattern: ^.+$
          description: If referral.
        CustomerLanguage:
          type: string
          pattern: ^[a-z]{2,2}$
          description: If the language is selected by the Sale System before the request to the POI.
        AcquirerID:
          type: integer
          description: Restrict to these Acquirer if present.
        AmountValue:
          type: number
          maximum: 99999999.999999
          minimum: 0
        HostTransactionID:
          $ref: '#/components/schemas/TransactionIDType'
    SaleItem:
      type: object
      description: In loyalty or value added payment card transaction, the items of the sale are entering in the processing of the transaction. Sale items of a transaction.
      properties:
        ItemID:
          type: integer
          description: Item identification inside a transaction (0 to n).
        ProductCode:
          type: integer
          minimum: 1
          maximum: 20
          description: Product code of item purchased with the transaction.
        EanUpc:
          type: integer
          description: If data sent, POI has to store it and send it if the host protocol allows it.
        UnitOfMeasure:
          $ref: '#/components/schemas/UnitOfMeasure'
        Quantity:
          type: string
          description: If data sent, POI has to store it and send it if the host protocol allows it.
        UnitPrice:
          type: number
          maximum: 99999999.999999
          minimum: 0
          description: if Quantity present.
        ItemAmount:
          type: number
          maximum: 99999999.999999
          minimum: 0
          description: Total amount of the item line.
        TaxCode:
          type: integer
          description: If data sent, POI has to store it and send it if the host protocol allows it.
        SaleChannel:
          type: integer
          description: If data sent, POI has to store it and send it if the host protocol allows it.
        ProductLabel:
          type: string
          pattern: ^.+$
        AdditionalProductInfo:
          type: string
          pattern: ^.+$
          description: If data sent, POI has to store it and send it if the host protocol allows it.
      required:
      - ItemID
      - ProductCode
      - ItemAmount
    MobileData:
      type: object
      description: Mobile phone is used as a payment instrument for the transaction. Information related to the mobile for the payment transaction.
      properties:
        MobileCountryCode:
          type: integer
          minimum: 3
          maximum: 3
          description: If data available.
        MobileNetworkCode:
          type: integer
          minimum: 2
          maximum: 3
          description: If data available.
        MaskedMSISDN:
          type: integer
          description: If data available.
        Geolocation:
          $ref: '#/components/schemas/Geolocation'
        ProtectedMobileData:
          type: string
          description: SensitiveMobileData.
        SensitiveMobileData:
          $ref: '#/components/schemas/SensitiveMobileData'
    POIData:
      type: object
      description: In the Message Response, identification of the POI transaction. Data related to the POI System.
      properties:
        POITransactionID:
          $ref: '#/components/schemas/TransactionIDType'
        POIReconciliationID:
          type: integer
          description: If Result is Success.
      required:
      - POITransactionID
    Response:
      type: object
      description: If Result is Success, ErrorCondition is absent or not used in the processing of the message. In the other cases, the ErrorCondition has to be present and can refine the processing of the message response. AdditionalResponse gives more information about the success or the failure of the message request processing, for logging without real time involvements. Result of a message request processing.
      properties:
        Result:
          $ref: '#/components/schemas/Result'
        ErrorCondition:
          $ref: '#/components/schemas/ErrorCondition'
        AdditionalResponse:
          type: string
          pattern: ^.+$
          description: If present, the POI logs it for further examination.
      required:
      - Result
    AreaSize:
      type: object
      properties:
        X:
          type: string
        Y:
          type: string
      required:
      - X
      - Y
    Point:
      type: obj

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/adyen-payment-api-openapi.yml