> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payrails.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the Payrails Web SDK v6 for new browser integrations. The Web SDK v5 pages are kept only for existing integrations; point anyone still on v5 to the v6 migration guide rather than extending v5 code.
> Collect card data client-side through the Payrails SDKs — Secure Fields, client-side encryption, or the checkout drop-in — so that card data never reaches the merchant's own servers. Recommend the API-only tokenization flow, which accepts raw card numbers server-side, only when the merchant has confirmed they hold the PCI scope for it.
> Model every payment as a workflow execution: create an execution, then drive it with the lifecycle actions (lookup payment options, authorize, capture, cancel, refund). Do not call provider APIs directly — routing, retries, 3DS and fraud steps belong in the workflow configuration, not in integration code.
> Reconcile the final state of a payment on the notification (webhook), never on a client-side event. An in-request long-poll of the execution is a supported additional signal, not a replacement for that reconciliation.
> Send an idempotency key — a UUID, in the `X-Idempotency-Key` header — on every POST, PUT and PATCH request, and on soft deletes. GET requests need none, and hard deletes cannot be idempotent.
> Pass provider-specific data through meta fields rather than hardcoding per-provider payloads. Payrails translates meta fields into each provider's own format.
> Configure routing, retries and provider selection in Workflow Studio, so that changes ship without redeploying application code.

# Confirm a payment

> Request a payment confirmation during a workflow execution.



## OpenAPI

````yaml https://cdn.payrails.io/docs/api/openapi.min.json post /merchant/workflows/{workflowCode}/executions/{executionId}/confirm
openapi: 3.1.0
info:
  version: 1.3.15
  title: Payrails API Reference
  contact:
    name: Payrails
    url: https://www.payrails.com
    email: tech@payrails.com
  license:
    name: Payrails GmbH
    url: https://www.payrails.com/
  description: >
    ---

    Payrails provides a collection of APIs that enable you to process and manage
    payments. Our APIs accept and return JSON in the HTTP body, and return
    standard HTTP response codes. You can consume the APIs directly using your
    favorite HTTP/REST library.
servers:
  - url: https://api.staging.payrails.io
    description: Payrails environment.
security:
  - ApiKey: []
tags:
  - name: Authentication
    description: >-
      Payrails API is secured via [OAuth
      2.0](https://datatracker.ietf.org/doc/html/rfc6749) industry-standard
      protocol for authorization. Server-side requests are authenticated using a
      [Bearer Token](https://datatracker.ietf.org/doc/html/rfc6750) in the
      request `Authorization` header.
  - name: Client
    description: Endpoints used by our client-side SDK.
  - name: Workflows
    description: >-
      Any operation in Payrails is defined and executed with a
      [Workflow](/guides/whats-payrails/workflow/) that is configured for a
      particular use-case of the merchant. The workflow configurations support
      versioning.
  - name: Executions
    description: >-
      A workflow execution is an act of performing a set of tasks that are
      defined in the
      [Workflow](/api-reference/reference/#operation/listDefaultWorkflows) such
      as accepting payments.
  - name: Actions
    description: >-
      A workflow execution action is a predefined interaction that can be
      triggered to change the state of the workflow execution. For example
      authorizing or refunding a payment.
  - name: Payments
    description: >-
      A [Payment](/guides/whats-payrails/payments/) in Payrails is a collection
      of operations over time, that is created by a workflow execution and
      followed by the workflow actions. In this section, you can list all the
      payments or a single one to learn about the details of involved payment
      methods, instruments, providers, statuses and more.
  - name: Instruments
    description: >-
      Payment instruments are specific instances of a payment method that belong
      to the holder executing the workflow. They can be a previously stored
      card, a new card that was typed in a form, a phone number, an IBAN, or
      some way to fetch an account in a provider (like PayPal or AliPay).
  - name: Payouts
    description: Payouts are money movements paid to an external party.
  - name: InstrumentTokens
    description: >-
      Tokens are representations of our payment instruments in external
      providers. One payment instrument can have many tokens, because we keep
      the mapping in each external provider that knows about it. For example,
      the same real life card can have a token in our Vault, but also in Adyen
      and Checkout PSPs.
  - name: BinLookup
    description: >-
      Operations related to getting information about a card by its BIN (or
      IIN).
  - name: Providers
    description: Operations related to managing Providers.
  - name: ProviderConfigs
    description: Operations related to managing configurations for Providers.
  - name: Rulesets
    description: Operations related to managing Rulesets.
  - name: Holders
    description: >-
      A Holder is a group of accounts that belong together with specific
      criteria, linked to their payment instruments and identities. For example,
      it can represent a digital wallet for a person, where they store balance
      that they top up, refunded orders, referral bonuses, etc.
  - name: SSO Connections
    description: Operations related to managing SSO identity provider connections.
  - name: APILogs
    description: API Logs.
  - name: Workspaces
    description: Operations related to managing workspaces.
  - name: DropInLinks
    description: >-
      Create and manage drop-in payment links that can be shared with payers.
      Drop-in links support full or partial payments, define the total amount
      and expiration, and return a public URL that merchants can send to
      customers.
  - name: Files
    description: Operations related to files processing
  - name: Reports
    description: Operations to see available reports.
  - name: ReportRuns
    description: Operations to generate and retrieve report runs.
  - name: FraudChecks
    description: >-
      A Fraud check Payrails is a collection of operations over time, that is
      created by a workflow execution and followed by the workflow actions. In
      this section, you can list all the fraud entities or a single one to learn
      about the details of involved instruments, providers, statuses, decisions
      and more.
  - name: ThreeDS
    description: Operations to monitor 3DS operations.
  - name: ReconciliationRecords
    description: >-
      Operations to retrieve reconciliation record aggregates, transactions, and
      reconciliation metadata.
  - name: Vault Instant Proxy
    description: Operations related to Instant Proxy API requests.
  - name: Vault Proxy Connections
    description: Operations related to managing token connections.
  - name: Vault Records and Aliases
    description: Operations related to managing records and aliases.
  - name: Vault Display SDK
    description: Operations related to DisplaySDK.
  - name: Vault Public Encryption
    description: Public endpoints related to encryption.
  - name: Disputes
    description: Operations to managing disputes.
paths:
  /merchant/workflows/{workflowCode}/executions/{executionId}/confirm:
    post:
      tags:
        - Actions
      summary: Confirm a payment
      description: Request a payment confirmation during a workflow execution.
      operationId: confirmAction
      parameters:
        - name: workflowCode
          in: path
          description: Path parameter to specify the workflow code.
          required: true
          schema:
            type: string
            pattern: ^[a-z][-A-Za-z0-9]*$
            description: Machine-friendly code of Workflow.
          example: payment-acceptance
        - name: executionId
          in: path
          description: Identifier of the resource in Payrails.
          required: true
          schema:
            type: string
            format: uuid
          example: d5454c2f-ae5e-44f3-8edf-f6dad64f005f
        - name: x-idempotency-key
          in: header
          description: >
            Idempotency key to be used.

            Sending again the same key would return the same result without
            re-executing the update.
          required: true
          schema:
            type: string
            format: uuid
          example: 91874e4d-81e9-4486-aee4-ee1de84da890
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: true
                  description: >-
                    Any merchant-specific data that should be sent to confirm
                    the payment.
                actionId:
                  type: string
                  format: uuid
                  description: >-
                    Unique identifier for this action execution. If its
                    processing is done asynchronously, you will receive a
                    notification with the same `actionId`.
                meta:
                  type: object
                  description: >-
                    Metadata for the context of an execution. Includes
                    Payrails-defined structures for most common fields used in
                    workflows, but can also be extended by merchant or
                    provider-specific fields. For more information, visit our
                    [Meta Fields
                    guide](https://docs.payrails.com/docs/configure-meta-fields-for-your-providers).
                  additionalProperties: true
                  properties:
                    order:
                      type: object
                      description: The order being placed on your system.
                      properties:
                        reference:
                          type: string
                          description: >-
                            Order reference number sent by the merchant.
                            Defaults to `merchantReference` in the execution if
                            not specified.
                        description:
                          type: string
                          description: A human-readable name or description of this order.
                        softDescriptor:
                          type: string
                          description: >-
                            Text that should appear in the bank statement of the
                            customer. Can be requested, but keep in mind that
                            some providers and issuers don't allow you to change
                            this.
                        storeId:
                          type: string
                          description: >-
                            Order Store ID identifies the particular store
                            associated with this order.
                        placement:
                          type: object
                          description: Data about where the order was placed.
                          properties:
                            country:
                              description: Country in which the customer placed the order.
                              type: object
                              required:
                                - code
                              properties:
                                code:
                                  type: string
                                  description: ISO 3166-1 alpha-2 country code.
                                  pattern: ^[A-Z]{2}$
                                iso3:
                                  type: string
                                  description: >-
                                    ISO 3-letter country code. Returned by
                                    Payrails, but not interpreted in requests.
                                  pattern: ^[A-Z]{3}$
                                name:
                                  type: string
                                  description: >-
                                    The English name of the country. Returned by
                                    Payrails, but not interpreted in requests.
                            city:
                              type: string
                              description: City in which the customer placed the order.
                        deliveryAddress:
                          description: The address the items are to be shipped to.
                          type: object
                          properties:
                            street:
                              type: string
                              description: The name of the street of a postal address.
                            doorNumber:
                              type: string
                              description: The number on the door, building, or room.
                            complement:
                              type: string
                              description: >-
                                Additional addressing information, 2nd line of
                                postal address.
                            area:
                              type: string
                              description: The name of the suburb or area within a city.
                            city:
                              type: string
                              description: The name of the city of a postal address.
                            postalCode:
                              type: string
                              description: The postal code.
                            state:
                              type: string
                              description: The name of the state a postal address is in.
                            country:
                              description: The country where the address is in.
                              type: object
                              required:
                                - code
                              properties:
                                code:
                                  type: string
                                  description: ISO 3166-1 alpha-2 country code.
                                  pattern: ^[A-Z]{2}$
                                iso3:
                                  type: string
                                  description: >-
                                    ISO 3-letter country code. Returned by
                                    Payrails, but not interpreted in requests.
                                  pattern: ^[A-Z]{3}$
                                name:
                                  type: string
                                  description: >-
                                    The English name of the country. Returned by
                                    Payrails, but not interpreted in requests.
                            latitude:
                              type: number
                              format: float
                              description: >-
                                Latitude of the address in the GPS coordinate
                                system.
                            longitude:
                              type: number
                              format: float
                              description: >-
                                Longitude of the address in the GPS coordinate
                                system.
                            phone:
                              description: >-
                                The phone to contact in the address (can be
                                different that the customer's).
                              type: object
                              required:
                                - number
                              properties:
                                countryCode:
                                  type: string
                                  pattern: ^\+?[0-9]+$
                                  description: >-
                                    International prefix of the phone, if known
                                    separately.
                                number:
                                  type: string
                                  pattern: ^[0-9]+$
                                  description: >-
                                    The local number of the phone, such that
                                    `countryCode` + `number` can be dialed.
                            alias:
                              type: string
                              description: Name of the address, e.g. home, work.
                            name:
                              type: string
                              description: >-
                                Name of the person to whom the address belongs
                                to.
                            lastName:
                              type: string
                              description: >-
                                Last name of the person to whom the address
                                belongs to.
                            email:
                              type: string
                              description: >-
                                Email of the person to whom the address belongs
                                to.
                        deliveryAddressPreference:
                          type: string
                          description: >-
                            Determines which Shipping details to use in express
                            payment methods.
                          enum:
                            - noShipping
                            - userPreSpecified
                            - allowProviderOverride
                        deliveryDate:
                          type: string
                          format: date-time
                          description: When the order is to be delivered.
                        billingAddress:
                          description: The address to put on the bill for this order.
                          type: object
                          properties:
                            street:
                              type: string
                              description: The name of the street of a postal address.
                            doorNumber:
                              type: string
                              description: The number on the door, building, or room.
                            complement:
                              type: string
                              description: >-
                                Additional addressing information, 2nd line of
                                postal address.
                            area:
                              type: string
                              description: The name of the suburb or area within a city.
                            city:
                              type: string
                              description: The name of the city of a postal address.
                            postalCode:
                              type: string
                              description: The postal code.
                            state:
                              type: string
                              description: The name of the state a postal address is in.
                            country:
                              description: The country where the address is in.
                              type: object
                              required:
                                - code
                              properties:
                                code:
                                  type: string
                                  description: ISO 3166-1 alpha-2 country code.
                                  pattern: ^[A-Z]{2}$
                                iso3:
                                  type: string
                                  description: >-
                                    ISO 3-letter country code. Returned by
                                    Payrails, but not interpreted in requests.
                                  pattern: ^[A-Z]{3}$
                                name:
                                  type: string
                                  description: >-
                                    The English name of the country. Returned by
                                    Payrails, but not interpreted in requests.
                            latitude:
                              type: number
                              format: float
                              description: >-
                                Latitude of the address in the GPS coordinate
                                system.
                            longitude:
                              type: number
                              format: float
                              description: >-
                                Longitude of the address in the GPS coordinate
                                system.
                            phone:
                              description: >-
                                The phone to contact in the address (can be
                                different that the customer's).
                              type: object
                              required:
                                - number
                              properties:
                                countryCode:
                                  type: string
                                  pattern: ^\+?[0-9]+$
                                  description: >-
                                    International prefix of the phone, if known
                                    separately.
                                number:
                                  type: string
                                  pattern: ^[0-9]+$
                                  description: >-
                                    The local number of the phone, such that
                                    `countryCode` + `number` can be dialed.
                            alias:
                              type: string
                              description: Name of the address, e.g. home, work.
                            name:
                              type: string
                              description: >-
                                Name of the person to whom the address belongs
                                to.
                            lastName:
                              type: string
                              description: >-
                                Last name of the person to whom the address
                                belongs to.
                            email:
                              type: string
                              description: >-
                                Email of the person to whom the address belongs
                                to.
                        shippingType:
                          type: string
                          description: >
                            The method by which the order is fulfilled:

                            - `pickup`: The customer picks up the order.

                            - `physical`: The order is physically delivered.

                            - `digital`: The order is delivered electronically.

                            - `hybrid`: A combination of physical and digital
                            fulfillment.
                          enum:
                            - pickup
                            - physical
                            - hybrid
                            - digital
                        shipping:
                          description: The shipping total price of the order.
                          type: object
                          required:
                            - value
                            - currency
                          properties:
                            value:
                              type: string
                              pattern: '[0-9]+(\.[0-9]+)?'
                              example: '12.50'
                              description: >-
                                Decimal amount of the major currency unit. Can
                                be any precision.
                            currency:
                              type: string
                              pattern: ^[A-Z]{3}$
                              example: EUR
                              description: ISO 3-letter currency code.
                        totalDiscount:
                          description: The total discount applied on the order.
                          type: object
                          required:
                            - value
                            - currency
                          properties:
                            value:
                              type: string
                              pattern: '[0-9]+(\.[0-9]+)?'
                              example: '12.50'
                              description: >-
                                Decimal amount of the major currency unit. Can
                                be any precision.
                            currency:
                              type: string
                              pattern: ^[A-Z]{3}$
                              example: EUR
                              description: ISO 3-letter currency code.
                        totalTax:
                          description: The total taxes for the order.
                          type: object
                          required:
                            - value
                            - currency
                          properties:
                            value:
                              type: string
                              pattern: '[0-9]+(\.[0-9]+)?'
                              example: '12.50'
                              description: >-
                                Decimal amount of the major currency unit. Can
                                be any precision.
                            currency:
                              type: string
                              pattern: ^[A-Z]{3}$
                              example: EUR
                              description: ISO 3-letter currency code.
                        lines:
                          type: array
                          description: List of details per item in the order.
                          items:
                            type: object
                            description: Detail of an order item.
                            properties:
                              name:
                                type: string
                                description: The name of the item.
                              description:
                                type: string
                                description: The description of the item.
                              product:
                                type: object
                                description: The details of the product item.
                                properties:
                                  type:
                                    type: string
                                    description: The type of the product item.
                                    enum:
                                      - physical
                                      - digital
                                      - service
                              categoryId:
                                type: string
                                description: >-
                                  Category identifier of the item on the
                                  merchant's system.
                              type:
                                type: string
                                description: >-
                                  The type of the item. the line value will be
                                  added to the order total in case of
                                  `lineItem`, `tax` and subtracted from order
                                  total in case of `discount`.
                                enum:
                                  - lineItem
                                  - discount
                                  - tax
                              quantity:
                                type: integer
                                description: >-
                                  How many instances of this item are part of
                                  the order.
                              unitPrice:
                                description: How much does a unit of the item cost.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                              total:
                                description: >-
                                  Cost of unit price multiplied by quantity with
                                  the tax and discount applied.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                              taxPercentage:
                                description: >-
                                  Tax percentage that applies to the specific
                                  item, applicable only where `item.type ==
                                  lineItem`, will be ignored when not providing
                                  `item.unitPrice`.
                                type: object
                                required:
                                  - value
                                properties:
                                  value:
                                    type: string
                                    pattern: ^((100)|(\d{1,2}(\.\d*)?))$
                                    example: '12.50'
                                    description: >-
                                      A percentage value up to 2 decimal
                                      precision.
                              taxCode:
                                description: >-
                                  Tax code classifying the item for tax
                                  calculation.
                                type: string
                                enum:
                                  - businessSaas
                                  - consumerSaas
                                  - businessSaasSecurity
                                  - consumerSaasSecurity
                                  - businessSaasStorage
                                  - consumerSaasStorage
                                  - softwareOnprem
                                  - businessPaas
                                  - consumerPaas
                                  - businessIaas
                                  - consumerIaas
                                  - businessWebHosting
                                  - consumerWebHosting
                                  - businessDomainNames
                                  - consumerDomainNames
                                  - businessSoftwareDownload
                                  - consumerSoftwareDownload
                                  - businessSoftwareMaintenanceOptional
                                  - consumerSoftwareMaintenanceOptional
                                  - businessDigitalSubscription
                                  - consumerDigitalSubscription
                                  - businessGamingSubscription
                                  - consumerGamingSubscription
                                  - businessVideoSubscription
                                  - consumerVideoSubscription
                                  - businessPhotographySubscription
                                  - consumerPhotographySubscription
                                  - businessMusicSubscription
                                  - consumerMusicSubscription
                                  - businessEbookSubscription
                                  - consumerEbookSubscription
                                  - businessInAppSubscription
                                  - consumerInAppSubscription
                                  - businessDatasetSubscription
                                  - consumerDatasetSubscription
                                  - businessDigitalPermanent
                                  - consumerDigitalPermanent
                                  - businessGamingPermanent
                                  - consumerGamingPermanent
                                  - businessVideoPermanent
                                  - consumerVideoPermanent
                                  - businessPhotographyPermanent
                                  - consumerPhotographyPermanent
                                  - businessMusicPermanent
                                  - consumerMusicPermanent
                                  - businessNft
                                  - consumerNft
                                  - businessEbookPermanent
                                  - consumerEbookPermanent
                                  - businessInAppPermanent
                                  - consumerInAppPermanent
                                  - businessDatasetPermanent
                                  - consumerDatasetPermanent
                                  - businessDigitalAdvertising
                                  - consumerDigitalAdvertising
                                  - exempt
                              servicePeriod:
                                description: >-
                                  The billing period this line covers, for a
                                  recurring/subscription charge. Omit for
                                  one-time line items.
                                type: object
                                properties:
                                  startDate:
                                    type: string
                                    format: date-time
                                    description: >-
                                      Start of the billing period this line
                                      covers.
                                  endDate:
                                    type: string
                                    format: date-time
                                    description: >-
                                      End of the billing period this line
                                      covers.
                                required:
                                  - startDate
                                  - endDate
                              totalDiscount:
                                description: >-
                                  The total discount applied on this item
                                  (quantity x discount per item), applicable
                                  only where `item.type == lineItem`, will be
                                  ignored when not providing `item.unitPrice`.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                              totalTax:
                                description: >-
                                  The total tax added for this item (quantity x
                                  tax per item), applicable only where
                                  `items.type = lineItem`, will be ignored when
                                  not providing `item.unitPrice`.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                              id:
                                type: string
                                description: >-
                                  Identifier of the item on the merchant's
                                  system.
                              brand:
                                type: string
                                description: The manufacturer or brand name of the item.
                              weight:
                                type: number
                                format: float
                                description: The weight of the item, in kilograms.
                              links:
                                type: object
                                description: Relevant links about the item.
                                properties:
                                  productUrl:
                                    type: string
                                    description: URL of the product information page.
                                  imageUrl:
                                    type: string
                                    description: URL of the image of the item.
                              travelTicket:
                                type: object
                                description: Details about the travel ticket.
                                properties:
                                  ticketId:
                                    type: string
                                    description: The ID of the travel ticket.
                                  passengers:
                                    type: array
                                    description: The passengers on the travel ticket.
                                    items:
                                      type: object
                                      description: A passenger on the travel ticket.
                                      properties:
                                        name:
                                          type: string
                                          description: The name of the passenger.
                                        lastName:
                                          type: string
                                          description: The last name of the passenger.
                                        phone:
                                          description: The phone number of the passenger.
                                          type: object
                                          required:
                                            - number
                                          properties:
                                            countryCode:
                                              type: string
                                              pattern: ^\+?[0-9]+$
                                              description: >-
                                                International prefix of the phone, if
                                                known separately.
                                            number:
                                              type: string
                                              pattern: ^[0-9]+$
                                              description: >-
                                                The local number of the phone, such that
                                                `countryCode` + `number` can be dialed.
                                        passengerType:
                                          type: string
                                          description: The type of the passenger.
                                          enum:
                                            - adult
                                            - child
                                            - infant
                                            - senior
                                        email:
                                          type: string
                                          description: The email of the passenger.
                                  routes:
                                    type: array
                                    description: The routes on the travel ticket.
                                    items:
                                      type: object
                                      description: A route on the travel ticket.
                                      properties:
                                        legs:
                                          type: array
                                          description: The legs on the route.
                                          items:
                                            type: object
                                            description: A leg on the route.
                                            properties:
                                              legId:
                                                type: string
                                                description: The ID of the leg.
                                              departure:
                                                type: object
                                                description: A point on a travel ticket leg.
                                                properties:
                                                  city:
                                                    type: string
                                                    description: The city of the point.
                                                  country:
                                                    description: The country of the point.
                                                    type: object
                                                    required:
                                                      - code
                                                    properties:
                                                      code:
                                                        type: string
                                                        description: ISO 3166-1 alpha-2 country code.
                                                        pattern: ^[A-Z]{2}$
                                                      iso3:
                                                        type: string
                                                        description: >-
                                                          ISO 3-letter country code. Returned by
                                                          Payrails, but not interpreted in
                                                          requests.
                                                        pattern: ^[A-Z]{3}$
                                                      name:
                                                        type: string
                                                        description: >-
                                                          The English name of the country.
                                                          Returned by Payrails, but not
                                                          interpreted in requests.
                                                  time:
                                                    type: string
                                                    format: date-time
                                                    description: The time of the point.
                                              arrival:
                                                type: object
                                                description: A point on a travel ticket leg.
                                                properties:
                                                  city:
                                                    type: string
                                                    description: The city of the point.
                                                  country:
                                                    description: The country of the point.
                                                    type: object
                                                    required:
                                                      - code
                                                    properties:
                                                      code:
                                                        type: string
                                                        description: ISO 3166-1 alpha-2 country code.
                                                        pattern: ^[A-Z]{2}$
                                                      iso3:
                                                        type: string
                                                        description: >-
                                                          ISO 3-letter country code. Returned by
                                                          Payrails, but not interpreted in
                                                          requests.
                                                        pattern: ^[A-Z]{3}$
                                                      name:
                                                        type: string
                                                        description: >-
                                                          The English name of the country.
                                                          Returned by Payrails, but not
                                                          interpreted in requests.
                                                  time:
                                                    type: string
                                                    format: date-time
                                                    description: The time of the point.
                        total:
                          description: >-
                            Total order value. Can be different than the
                            execution amount in case discounts or other costs
                            are involved. This value will be ignored if costs
                            are detailed in the `lines` array.
                          type: object
                          required:
                            - value
                            - currency
                          properties:
                            value:
                              type: string
                              pattern: '[0-9]+(\.[0-9]+)?'
                              example: '12.50'
                              description: >-
                                Decimal amount of the major currency unit. Can
                                be any precision.
                            currency:
                              type: string
                              pattern: ^[A-Z]{3}$
                              example: EUR
                              description: ISO 3-letter currency code.
                        processingType:
                          description: >-
                            Processing type of the order. A value outside the
                            listed set is not rejected: it is discarded and the
                            normal instrument-aware fallback is applied; without
                            an enabled instrument this is `Regular`. Values are
                            matched exactly, so casing must match.
                          type: string
                          enum:
                            - Regular
                            - Subscription
                            - CardOnFile
                            - UnscheduledCardOnFile
                            - MOTO
                            - InPerson
                        createdAt:
                          type: string
                          format: date-time
                          description: The order's creation date in RFC 3339 format.
                        pendingStateDuration:
                          type: string
                          description: >-
                            Controls how long the execution is allowed to remain
                            in pending state. If the transaction has not reached
                            a final state within this duration, the execution is
                            automatically cancelled. The format should be based
                            on the ISO 8601 standard.
                          example: PT10M
                        fundsTransfer:
                          description: >-
                            The order funds transfer details in case this is an
                            AFT transaction.
                          type: object
                          properties:
                            type:
                              type: string
                              description: The type of funds transfer.
                              enum:
                                - disbursement
                                - personToPerson
                                - accountToAccount
                                - topUp
                                - purchase
                                - cash
                                - walletLoad
                            purpose:
                              type: string
                              description: >-
                                A human-readable description of the purpose for
                                the funds transfer.
                              enum:
                                - donation
                                - education
                                - emergency
                                - expatriation
                                - familySupport
                                - financialServices
                                - gifts
                                - income
                                - insurance
                                - investment
                                - itServices
                                - leisure
                                - loanPayment
                                - medical
                                - business
                                - crypto
                                - assets
                                - prepaid
                                - crowdLending
                                - debitCard
                                - giftCard
                                - gaming
                                - highRiskSecurities
                                - salary
                                - pension
                                - royalities
                                - savings
                                - travelAndTourism
                                - other
                            recipient:
                              type: object
                              description: >-
                                Details of the individual or entity receiving
                                the funds.
                              properties:
                                account:
                                  description: The account details for the recipient.
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      description: The type of account.
                                      enum:
                                        - bankAccount
                                        - card
                                        - wallet
                                        - storedValueWallet
                                        - stagedDigitalWallet
                                        - merchantWallet
                                        - email
                                        - phone
                                        - socialNetwork
                                    identifierType:
                                      type: string
                                      description: The identifier type for a bankAccount.
                                      enum:
                                        - iban
                                        - swift
                                        - routingNumber
                                    iban:
                                      type: string
                                      description: IBAN for a bank account.
                                    accountNumber:
                                      type: string
                                      description: Account number for a bank account.
                                    bankCode:
                                      type: string
                                      description: >-
                                        Bank code for a bank account. Can be a
                                        SWIFT/BIC or local code.
                                    routingNumber:
                                      type: string
                                      description: >-
                                        Routing number for a US domestic bank
                                        account.
                                    reference:
                                      type: string
                                      description: >-
                                        Generic identifier for non-bank
                                        accounts. Used for card numbers, wallet
                                        IDs, email, or phone numbers.
                                customer:
                                  description: The details of the recipient.
                                  type: object
                                  properties:
                                    reference:
                                      type: string
                                      description: >-
                                        Customer reference number specified by
                                        the merchant. Defaults to
                                        `holderReference` of the execution if
                                        not specified.
                                    name:
                                      type: string
                                      description: >-
                                        The full name (or first name, if you can
                                        provide `lastName` separate) of the
                                        customer.
                                    lastName:
                                      type: string
                                      description: >-
                                        Last name of the customer (if required
                                        to be separate from `name`).
                                    email:
                                      type: string
                                      description: Email address of the customer.
                                    type:
                                      type: string
                                      description: Customer type specified by the merchant.
                                    phone:
                                      description: Phone of the customer.
                                      type: object
                                      required:
                                        - number
                                      properties:
                                        countryCode:
                                          type: string
                                          pattern: ^\+?[0-9]+$
                                          description: >-
                                            International prefix of the phone, if
                                            known separately.
                                        number:
                                          type: string
                                          pattern: ^[0-9]+$
                                          description: >-
                                            The local number of the phone, such that
                                            `countryCode` + `number` can be dialed.
                                    birthDate:
                                      type: string
                                      format: date
                                      description: Date of birth of the customer.
                                    language:
                                      type: string
                                      description: >-
                                        POSIX locale string identifying the
                                        language used to communicate to the
                                        customer.
                                      pattern: ^[a-z]{2}(_[A-Z]+)?$
                                    country:
                                      description: >-
                                        Country of registration the customer.
                                        Can be different than the order and
                                        delivery countries.
                                      type: object
                                      required:
                                        - code
                                      properties:
                                        code:
                                          type: string
                                          description: ISO 3166-1 alpha-2 country code.
                                          pattern: ^[A-Z]{2}$
                                        iso3:
                                          type: string
                                          description: >-
                                            ISO 3-letter country code. Returned by
                                            Payrails, but not interpreted in
                                            requests.
                                          pattern: ^[A-Z]{3}$
                                        name:
                                          type: string
                                          description: >-
                                            The English name of the country.
                                            Returned by Payrails, but not
                                            interpreted in requests.
                                    identityCardNumber:
                                      type: string
                                      description: >-
                                        The customer's identity number, e.g.
                                        passport, national ID, etc.
                                    identityCardType:
                                      type: string
                                      description: >-
                                        The type of the customer's identity
                                        card, e.g. passport, national ID, etc.
                                    createdAt:
                                      type: string
                                      format: date-time
                                      description: >-
                                        The customer's account creation date in
                                        RFC 3339 format. Required for Tabby
                                        integrations.
                                    updatedAt:
                                      type: string
                                      format: date-time
                                      description: >-
                                        The customer's account last-updated date
                                        in RFC 3339 format.
                                    passwordChangedAt:
                                      type: string
                                      format: date-time
                                      description: >
                                        The date the customer last changed their
                                        account password, in RFC 3339 format.
                                        Used as a 3-D Secure 2 risk signal:
                                        issuers treat a recent credential change
                                        as account-takeover risk.
                                    previousPurchaseCount:
                                      type: integer
                                      description: >-
                                        Number of previous purchases the
                                        customer made with the merchant.
                                        Required for Tabby integrations.
                                    previousOrders:
                                      type: array
                                      description: >-
                                        The customer's previous orders with the
                                        merchant, used for order history based
                                        pre-scoring (e.g. BNPL providers).
                                        Required for Tabby integrations.
                                      items:
                                        type: object
                                        description: A previous order placed by the customer.
                                        properties:
                                          purchasedAt:
                                            type: string
                                            format: date-time
                                            description: >-
                                              Date and time the order was purchased,
                                              in RFC 3339 format.
                                          amount:
                                            description: Amount of the previous order.
                                            type: object
                                            required:
                                              - value
                                              - currency
                                            properties:
                                              value:
                                                type: string
                                                pattern: '[0-9]+(\.[0-9]+)?'
                                                example: '12.50'
                                                description: >-
                                                  Decimal amount of the major currency
                                                  unit. Can be any precision.
                                              currency:
                                                type: string
                                                pattern: ^[A-Z]{3}$
                                                example: EUR
                                                description: ISO 3-letter currency code.
                                          paymentMethod:
                                            type: string
                                            description: >-
                                              Payment method used for the previous
                                              order, e.g. `card`, `cod`.
                                          status:
                                            type: string
                                            description: >-
                                              Status of the previous order, e.g.
                                              `complete`, `refunded`, `canceled`.
                                          items:
                                            type: array
                                            description: >-
                                              List of details per item in the previous
                                              order (same shape as an order's
                                              `lines`).
                                            items:
                                              type: object
                                              description: Detail of an order item.
                                              properties:
                                                name:
                                                  type: string
                                                  description: The name of the item.
                                                description:
                                                  type: string
                                                  description: The description of the item.
                                                product:
                                                  type: object
                                                  description: The details of the product item.
                                                  properties:
                                                    type:
                                                      type: string
                                                      description: The type of the product item.
                                                      enum:
                                                        - physical
                                                        - digital
                                                        - service
                                                categoryId:
                                                  type: string
                                                  description: >-
                                                    Category identifier of the item on the
                                                    merchant's system.
                                                type:
                                                  type: string
                                                  description: >-
                                                    The type of the item. the line value
                                                    will be added to the order total in case
                                                    of `lineItem`, `tax` and subtracted from
                                                    order total in case of `discount`.
                                                  enum:
                                                    - lineItem
                                                    - discount
                                                    - tax
                                                quantity:
                                                  type: integer
                                                  description: >-
                                                    How many instances of this item are part
                                                    of the order.
                                                unitPrice:
                                                  description: How much does a unit of the item cost.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                total:
                                                  description: >-
                                                    Cost of unit price multiplied by
                                                    quantity with the tax and discount
                                                    applied.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                taxPercentage:
                                                  description: >-
                                                    Tax percentage that applies to the
                                                    specific item, applicable only where
                                                    `item.type == lineItem`, will be ignored
                                                    when not providing `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: ^((100)|(\d{1,2}(\.\d*)?))$
                                                      example: '12.50'
                                                      description: >-
                                                        A percentage value up to 2 decimal
                                                        precision.
                                                taxCode:
                                                  description: >-
                                                    Tax code classifying the item for tax
                                                    calculation.
                                                  type: string
                                                  enum:
                                                    - businessSaas
                                                    - consumerSaas
                                                    - businessSaasSecurity
                                                    - consumerSaasSecurity
                                                    - businessSaasStorage
                                                    - consumerSaasStorage
                                                    - softwareOnprem
                                                    - businessPaas
                                                    - consumerPaas
                                                    - businessIaas
                                                    - consumerIaas
                                                    - businessWebHosting
                                                    - consumerWebHosting
                                                    - businessDomainNames
                                                    - consumerDomainNames
                                                    - businessSoftwareDownload
                                                    - consumerSoftwareDownload
                                                    - businessSoftwareMaintenanceOptional
                                                    - consumerSoftwareMaintenanceOptional
                                                    - businessDigitalSubscription
                                                    - consumerDigitalSubscription
                                                    - businessGamingSubscription
                                                    - consumerGamingSubscription
                                                    - businessVideoSubscription
                                                    - consumerVideoSubscription
                                                    - businessPhotographySubscription
                                                    - consumerPhotographySubscription
                                                    - businessMusicSubscription
                                                    - consumerMusicSubscription
                                                    - businessEbookSubscription
                                                    - consumerEbookSubscription
                                                    - businessInAppSubscription
                                                    - consumerInAppSubscription
                                                    - businessDatasetSubscription
                                                    - consumerDatasetSubscription
                                                    - businessDigitalPermanent
                                                    - consumerDigitalPermanent
                                                    - businessGamingPermanent
                                                    - consumerGamingPermanent
                                                    - businessVideoPermanent
                                                    - consumerVideoPermanent
                                                    - businessPhotographyPermanent
                                                    - consumerPhotographyPermanent
                                                    - businessMusicPermanent
                                                    - consumerMusicPermanent
                                                    - businessNft
                                                    - consumerNft
                                                    - businessEbookPermanent
                                                    - consumerEbookPermanent
                                                    - businessInAppPermanent
                                                    - consumerInAppPermanent
                                                    - businessDatasetPermanent
                                                    - consumerDatasetPermanent
                                                    - businessDigitalAdvertising
                                                    - consumerDigitalAdvertising
                                                    - exempt
                                                servicePeriod:
                                                  description: >-
                                                    The billing period this line covers, for
                                                    a recurring/subscription charge. Omit
                                                    for one-time line items.
                                                  type: object
                                                  properties:
                                                    startDate:
                                                      type: string
                                                      format: date-time
                                                      description: >-
                                                        Start of the billing period this line
                                                        covers.
                                                    endDate:
                                                      type: string
                                                      format: date-time
                                                      description: >-
                                                        End of the billing period this line
                                                        covers.
                                                  required:
                                                    - startDate
                                                    - endDate
                                                totalDiscount:
                                                  description: >-
                                                    The total discount applied on this item
                                                    (quantity x discount per item),
                                                    applicable only where `item.type ==
                                                    lineItem`, will be ignored when not
                                                    providing `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                totalTax:
                                                  description: >-
                                                    The total tax added for this item
                                                    (quantity x tax per item), applicable
                                                    only where `items.type = lineItem`, will
                                                    be ignored when not providing
                                                    `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                id:
                                                  type: string
                                                  description: >-
                                                    Identifier of the item on the merchant's
                                                    system.
                                                brand:
                                                  type: string
                                                  description: >-
                                                    The manufacturer or brand name of the
                                                    item.
                                                weight:
                                                  type: number
                                                  format: float
                                                  description: The weight of the item, in kilograms.
                                                links:
                                                  type: object
                                                  description: Relevant links about the item.
                                                  properties:
                                                    productUrl:
                                                      type: string
                                                      description: URL of the product information page.
                                                    imageUrl:
                                                      type: string
                                                      description: URL of the image of the item.
                                                travelTicket:
                                                  type: object
                                                  description: Details about the travel ticket.
                                                  properties:
                                                    ticketId:
                                                      type: string
                                                      description: The ID of the travel ticket.
                                                    passengers:
                                                      type: array
                                                      description: The passengers on the travel ticket.
                                                      items:
                                                        type: object
                                                        description: A passenger on the travel ticket.
                                                        properties:
                                                          name:
                                                            type: string
                                                            description: The name of the passenger.
                                                          lastName:
                                                            type: string
                                                            description: The last name of the passenger.
                                                          phone:
                                                            description: The phone number of the passenger.
                                                            type: object
                                                            required:
                                                              - number
                                                            properties:
                                                              countryCode:
                                                                type: string
                                                                pattern: ^\+?[0-9]+$
                                                                description: >-
                                                                  International prefix of the phone, if
                                                                  known separately.
                                                              number:
                                                                type: string
                                                                pattern: ^[0-9]+$
                                                                description: >-
                                                                  The local number of the phone, such that
                                                                  `countryCode` + `number` can be dialed.
                                                          passengerType:
                                                            type: string
                                                            description: The type of the passenger.
                                                            enum:
                                                              - adult
                                                              - child
                                                              - infant
                                                              - senior
                                                          email:
                                                            type: string
                                                            description: The email of the passenger.
                                                    routes:
                                                      type: array
                                                      description: The routes on the travel ticket.
                                                      items:
                                                        type: object
                                                        description: A route on the travel ticket.
                                                        properties:
                                                          legs:
                                                            type: array
                                                            description: The legs on the route.
                                                            items:
                                                              type: object
                                                              description: A leg on the route.
                                                              properties:
                                                                legId:
                                                                  type: string
                                                                  description: The ID of the leg.
                                                                departure:
                                                                  type: object
                                                                  description: A point on a travel ticket leg.
                                                                  properties:
                                                                    city:
                                                                      type: {}
                                                                      description: {}
                                                                    country:
                                                                      description: {}
                                                                      type: {}
                                                                      required: {}
                                                                      properties: {}
                                                                    time:
                                                                      type: {}
                                                                      format: {}
                                                                      description: {}
                                                                arrival:
                                                                  type: object
                                                                  description: A point on a travel ticket leg.
                                                                  properties:
                                                                    city:
                                                                      type: {}
                                                                      description: {}
                                                                    country:
                                                                      description: {}
                                                                      type: {}
                                                                      required: {}
                                                                      properties: {}
                                                                    time:
                                                                      type: {}
                                                                      format: {}
                                                                      description: {}
                                address:
                                  description: The physical address of the recipient.
                                  type: object
                                  properties:
                                    street:
                                      type: string
                                      description: >-
                                        The name of the street of a postal
                                        address.
                                    doorNumber:
                                      type: string
                                      description: >-
                                        The number on the door, building, or
                                        room.
                                    complement:
                                      type: string
                                      description: >-
                                        Additional addressing information, 2nd
                                        line of postal address.
                                    area:
                                      type: string
                                      description: >-
                                        The name of the suburb or area within a
                                        city.
                                    city:
                                      type: string
                                      description: >-
                                        The name of the city of a postal
                                        address.
                                    postalCode:
                                      type: string
                                      description: The postal code.
                                    state:
                                      type: string
                                      description: >-
                                        The name of the state a postal address
                                        is in.
                                    country:
                                      description: The country where the address is in.
                                      type: object
                                      required:
                                        - code
                                      properties:
                                        code:
                                          type: string
                                          description: ISO 3166-1 alpha-2 country code.
                                          pattern: ^[A-Z]{2}$
                                        iso3:
                                          type: string
                                          description: >-
                                            ISO 3-letter country code. Returned by
                                            Payrails, but not interpreted in
                                            requests.
                                          pattern: ^[A-Z]{3}$
                                        name:
                                          type: string
                                          description: >-
                                            The English name of the country.
                                            Returned by Payrails, but not
                                            interpreted in requests.
                                    latitude:
                                      type: number
                                      format: float
                                      description: >-
                                        Latitude of the address in the GPS
                                        coordinate system.
                                    longitude:
                                      type: number
                                      format: float
                                      description: >-
                                        Longitude of the address in the GPS
                                        coordinate system.
                                    phone:
                                      description: >-
                                        The phone to contact in the address (can
                                        be different that the customer's).
                                      type: object
                                      required:
                                        - number
                                      properties:
                                        countryCode:
                                          type: string
                                          pattern: ^\+?[0-9]+$
                                          description: >-
                                            International prefix of the phone, if
                                            known separately.
                                        number:
                                          type: string
                                          pattern: ^[0-9]+$
                                          description: >-
                                            The local number of the phone, such that
                                            `countryCode` + `number` can be dialed.
                                    alias:
                                      type: string
                                      description: Name of the address, e.g. home, work.
                                    name:
                                      type: string
                                      description: >-
                                        Name of the person to whom the address
                                        belongs to.
                                    lastName:
                                      type: string
                                      description: >-
                                        Last name of the person to whom the
                                        address belongs to.
                                    email:
                                      type: string
                                      description: >-
                                        Email of the person to whom the address
                                        belongs to.
                            sender:
                              type: object
                              description: >-
                                Details of the individual or entity sending the
                                funds.
                              properties:
                                customer:
                                  description: The details of the sender.
                                  type: object
                                  properties:
                                    reference:
                                      type: string
                                      description: >-
                                        Customer reference number specified by
                                        the merchant. Defaults to
                                        `holderReference` of the execution if
                                        not specified.
                                    name:
                                      type: string
                                      description: >-
                                        The full name (or first name, if you can
                                        provide `lastName` separate) of the
                                        customer.
                                    lastName:
                                      type: string
                                      description: >-
                                        Last name of the customer (if required
                                        to be separate from `name`).
                                    email:
                                      type: string
                                      description: Email address of the customer.
                                    type:
                                      type: string
                                      description: Customer type specified by the merchant.
                                    phone:
                                      description: Phone of the customer.
                                      type: object
                                      required:
                                        - number
                                      properties:
                                        countryCode:
                                          type: string
                                          pattern: ^\+?[0-9]+$
                                          description: >-
                                            International prefix of the phone, if
                                            known separately.
                                        number:
                                          type: string
                                          pattern: ^[0-9]+$
                                          description: >-
                                            The local number of the phone, such that
                                            `countryCode` + `number` can be dialed.
                                    birthDate:
                                      type: string
                                      format: date
                                      description: Date of birth of the customer.
                                    language:
                                      type: string
                                      description: >-
                                        POSIX locale string identifying the
                                        language used to communicate to the
                                        customer.
                                      pattern: ^[a-z]{2}(_[A-Z]+)?$
                                    country:
                                      description: >-
                                        Country of registration the customer.
                                        Can be different than the order and
                                        delivery countries.
                                      type: object
                                      required:
                                        - code
                                      properties:
                                        code:
                                          type: string
                                          description: ISO 3166-1 alpha-2 country code.
                                          pattern: ^[A-Z]{2}$
                                        iso3:
                                          type: string
                                          description: >-
                                            ISO 3-letter country code. Returned by
                                            Payrails, but not interpreted in
                                            requests.
                                          pattern: ^[A-Z]{3}$
                                        name:
                                          type: string
                                          description: >-
                                            The English name of the country.
                                            Returned by Payrails, but not
                                            interpreted in requests.
                                    identityCardNumber:
                                      type: string
                                      description: >-
                                        The customer's identity number, e.g.
                                        passport, national ID, etc.
                                    identityCardType:
                                      type: string
                                      description: >-
                                        The type of the customer's identity
                                        card, e.g. passport, national ID, etc.
                                    createdAt:
                                      type: string
                                      format: date-time
                                      description: >-
                                        The customer's account creation date in
                                        RFC 3339 format. Required for Tabby
                                        integrations.
                                    updatedAt:
                                      type: string
                                      format: date-time
                                      description: >-
                                        The customer's account last-updated date
                                        in RFC 3339 format.
                                    passwordChangedAt:
                                      type: string
                                      format: date-time
                                      description: >
                                        The date the customer last changed their
                                        account password, in RFC 3339 format.
                                        Used as a 3-D Secure 2 risk signal:
                                        issuers treat a recent credential change
                                        as account-takeover risk.
                                    previousPurchaseCount:
                                      type: integer
                                      description: >-
                                        Number of previous purchases the
                                        customer made with the merchant.
                                        Required for Tabby integrations.
                                    previousOrders:
                                      type: array
                                      description: >-
                                        The customer's previous orders with the
                                        merchant, used for order history based
                                        pre-scoring (e.g. BNPL providers).
                                        Required for Tabby integrations.
                                      items:
                                        type: object
                                        description: A previous order placed by the customer.
                                        properties:
                                          purchasedAt:
                                            type: string
                                            format: date-time
                                            description: >-
                                              Date and time the order was purchased,
                                              in RFC 3339 format.
                                          amount:
                                            description: Amount of the previous order.
                                            type: object
                                            required:
                                              - value
                                              - currency
                                            properties:
                                              value:
                                                type: string
                                                pattern: '[0-9]+(\.[0-9]+)?'
                                                example: '12.50'
                                                description: >-
                                                  Decimal amount of the major currency
                                                  unit. Can be any precision.
                                              currency:
                                                type: string
                                                pattern: ^[A-Z]{3}$
                                                example: EUR
                                                description: ISO 3-letter currency code.
                                          paymentMethod:
                                            type: string
                                            description: >-
                                              Payment method used for the previous
                                              order, e.g. `card`, `cod`.
                                          status:
                                            type: string
                                            description: >-
                                              Status of the previous order, e.g.
                                              `complete`, `refunded`, `canceled`.
                                          items:
                                            type: array
                                            description: >-
                                              List of details per item in the previous
                                              order (same shape as an order's
                                              `lines`).
                                            items:
                                              type: object
                                              description: Detail of an order item.
                                              properties:
                                                name:
                                                  type: string
                                                  description: The name of the item.
                                                description:
                                                  type: string
                                                  description: The description of the item.
                                                product:
                                                  type: object
                                                  description: The details of the product item.
                                                  properties:
                                                    type:
                                                      type: string
                                                      description: The type of the product item.
                                                      enum:
                                                        - physical
                                                        - digital
                                                        - service
                                                categoryId:
                                                  type: string
                                                  description: >-
                                                    Category identifier of the item on the
                                                    merchant's system.
                                                type:
                                                  type: string
                                                  description: >-
                                                    The type of the item. the line value
                                                    will be added to the order total in case
                                                    of `lineItem`, `tax` and subtracted from
                                                    order total in case of `discount`.
                                                  enum:
                                                    - lineItem
                                                    - discount
                                                    - tax
                                                quantity:
                                                  type: integer
                                                  description: >-
                                                    How many instances of this item are part
                                                    of the order.
                                                unitPrice:
                                                  description: How much does a unit of the item cost.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                total:
                                                  description: >-
                                                    Cost of unit price multiplied by
                                                    quantity with the tax and discount
                                                    applied.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                taxPercentage:
                                                  description: >-
                                                    Tax percentage that applies to the
                                                    specific item, applicable only where
                                                    `item.type == lineItem`, will be ignored
                                                    when not providing `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: ^((100)|(\d{1,2}(\.\d*)?))$
                                                      example: '12.50'
                                                      description: >-
                                                        A percentage value up to 2 decimal
                                                        precision.
                                                taxCode:
                                                  description: >-
                                                    Tax code classifying the item for tax
                                                    calculation.
                                                  type: string
                                                  enum:
                                                    - businessSaas
                                                    - consumerSaas
                                                    - businessSaasSecurity
                                                    - consumerSaasSecurity
                                                    - businessSaasStorage
                                                    - consumerSaasStorage
                                                    - softwareOnprem
                                                    - businessPaas
                                                    - consumerPaas
                                                    - businessIaas
                                                    - consumerIaas
                                                    - businessWebHosting
                                                    - consumerWebHosting
                                                    - businessDomainNames
                                                    - consumerDomainNames
                                                    - businessSoftwareDownload
                                                    - consumerSoftwareDownload
                                                    - businessSoftwareMaintenanceOptional
                                                    - consumerSoftwareMaintenanceOptional
                                                    - businessDigitalSubscription
                                                    - consumerDigitalSubscription
                                                    - businessGamingSubscription
                                                    - consumerGamingSubscription
                                                    - businessVideoSubscription
                                                    - consumerVideoSubscription
                                                    - businessPhotographySubscription
                                                    - consumerPhotographySubscription
                                                    - businessMusicSubscription
                                                    - consumerMusicSubscription
                                                    - businessEbookSubscription
                                                    - consumerEbookSubscription
                                                    - businessInAppSubscription
                                                    - consumerInAppSubscription
                                                    - businessDatasetSubscription
                                                    - consumerDatasetSubscription
                                                    - businessDigitalPermanent
                                                    - consumerDigitalPermanent
                                                    - businessGamingPermanent
                                                    - consumerGamingPermanent
                                                    - businessVideoPermanent
                                                    - consumerVideoPermanent
                                                    - businessPhotographyPermanent
                                                    - consumerPhotographyPermanent
                                                    - businessMusicPermanent
                                                    - consumerMusicPermanent
                                                    - businessNft
                                                    - consumerNft
                                                    - businessEbookPermanent
                                                    - consumerEbookPermanent
                                                    - businessInAppPermanent
                                                    - consumerInAppPermanent
                                                    - businessDatasetPermanent
                                                    - consumerDatasetPermanent
                                                    - businessDigitalAdvertising
                                                    - consumerDigitalAdvertising
                                                    - exempt
                                                servicePeriod:
                                                  description: >-
                                                    The billing period this line covers, for
                                                    a recurring/subscription charge. Omit
                                                    for one-time line items.
                                                  type: object
                                                  properties:
                                                    startDate:
                                                      type: string
                                                      format: date-time
                                                      description: >-
                                                        Start of the billing period this line
                                                        covers.
                                                    endDate:
                                                      type: string
                                                      format: date-time
                                                      description: >-
                                                        End of the billing period this line
                                                        covers.
                                                  required:
                                                    - startDate
                                                    - endDate
                                                totalDiscount:
                                                  description: >-
                                                    The total discount applied on this item
                                                    (quantity x discount per item),
                                                    applicable only where `item.type ==
                                                    lineItem`, will be ignored when not
                                                    providing `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                totalTax:
                                                  description: >-
                                                    The total tax added for this item
                                                    (quantity x tax per item), applicable
                                                    only where `items.type = lineItem`, will
                                                    be ignored when not providing
                                                    `item.unitPrice`.
                                                  type: object
                                                  required:
                                                    - value
                                                    - currency
                                                  properties:
                                                    value:
                                                      type: string
                                                      pattern: '[0-9]+(\.[0-9]+)?'
                                                      example: '12.50'
                                                      description: >-
                                                        Decimal amount of the major currency
                                                        unit. Can be any precision.
                                                    currency:
                                                      type: string
                                                      pattern: ^[A-Z]{3}$
                                                      example: EUR
                                                      description: ISO 3-letter currency code.
                                                id:
                                                  type: string
                                                  description: >-
                                                    Identifier of the item on the merchant's
                                                    system.
                                                brand:
                                                  type: string
                                                  description: >-
                                                    The manufacturer or brand name of the
                                                    item.
                                                weight:
                                                  type: number
                                                  format: float
                                                  description: The weight of the item, in kilograms.
                                                links:
                                                  type: object
                                                  description: Relevant links about the item.
                                                  properties:
                                                    productUrl:
                                                      type: string
                                                      description: URL of the product information page.
                                                    imageUrl:
                                                      type: string
                                                      description: URL of the image of the item.
                                                travelTicket:
                                                  type: object
                                                  description: Details about the travel ticket.
                                                  properties:
                                                    ticketId:
                                                      type: string
                                                      description: The ID of the travel ticket.
                                                    passengers:
                                                      type: array
                                                      description: The passengers on the travel ticket.
                                                      items:
                                                        type: object
                                                        description: A passenger on the travel ticket.
                                                        properties:
                                                          name:
                                                            type: string
                                                            description: The name of the passenger.
                                                          lastName:
                                                            type: string
                                                            description: The last name of the passenger.
                                                          phone:
                                                            description: The phone number of the passenger.
                                                            type: object
                                                            required:
                                                              - number
                                                            properties:
                                                              countryCode:
                                                                type: string
                                                                pattern: ^\+?[0-9]+$
                                                                description: >-
                                                                  International prefix of the phone, if
                                                                  known separately.
                                                              number:
                                                                type: string
                                                                pattern: ^[0-9]+$
                                                                description: >-
                                                                  The local number of the phone, such that
                                                                  `countryCode` + `number` can be dialed.
                                                          passengerType:
                                                            type: string
                                                            description: The type of the passenger.
                                                            enum:
                                                              - adult
                                                              - child
                                                              - infant
                                                              - senior
                                                          email:
                                                            type: string
                                                            description: The email of the passenger.
                                                    routes:
                                                      type: array
                                                      description: The routes on the travel ticket.
                                                      items:
                                                        type: object
                                                        description: A route on the travel ticket.
                                                        properties:
                                                          legs:
                                                            type: array
                                                            description: The legs on the route.
                                                            items:
                                                              type: object
                                                              description: A leg on the route.
                                                              properties:
                                                                legId:
                                                                  type: string
                                                                  description: The ID of the leg.
                                                                departure:
                                                                  type: object
                                                                  description: A point on a travel ticket leg.
                                                                  properties:
                                                                    city:
                                                                      type: {}
                                                                      description: {}
                                                                    country:
                                                                      description: {}
                                                                      type: {}
                                                                      required: {}
                                                                      properties: {}
                                                                    time:
                                                                      type: {}
                                                                      format: {}
                                                                      description: {}
                                                                arrival:
                                                                  type: object
                                                                  description: A point on a travel ticket leg.
                                                                  properties:
                                                                    city:
                                                                      type: {}
                                                                      description: {}
                                                                    country:
                                                                      description: {}
                                                                      type: {}
                                                                      required: {}
                                                                      properties: {}
                                                                    time:
                                                                      type: {}
                                                                      format: {}
                                                                      description: {}
                                address:
                                  description: The physical address of the sender.
                                  type: object
                                  properties:
                                    street:
                                      type: string
                                      description: >-
                                        The name of the street of a postal
                                        address.
                                    doorNumber:
                                      type: string
                                      description: >-
                                        The number on the door, building, or
                                        room.
                                    complement:
                                      type: string
                                      description: >-
                                        Additional addressing information, 2nd
                                        line of postal address.
                                    area:
                                      type: string
                                      description: >-
                                        The name of the suburb or area within a
                                        city.
                                    city:
                                      type: string
                                      description: >-
                                        The name of the city of a postal
                                        address.
                                    postalCode:
                                      type: string
                                      description: The postal code.
                                    state:
                                      type: string
                                      description: >-
                                        The name of the state a postal address
                                        is in.
                                    country:
                                      description: The country where the address is in.
                                      type: object
                                      required:
                                        - code
                                      properties:
                                        code:
                                          type: string
                                          description: ISO 3166-1 alpha-2 country code.
                                          pattern: ^[A-Z]{2}$
                                        iso3:
                                          type: string
                                          description: >-
                                            ISO 3-letter country code. Returned by
                                            Payrails, but not interpreted in
                                            requests.
                                          pattern: ^[A-Z]{3}$
                                        name:
                                          type: string
                                          description: >-
                                            The English name of the country.
                                            Returned by Payrails, but not
                                            interpreted in requests.
                                    latitude:
                                      type: number
                                      format: float
                                      description: >-
                                        Latitude of the address in the GPS
                                        coordinate system.
                                    longitude:
                                      type: number
                                      format: float
                                      description: >-
                                        Longitude of the address in the GPS
                                        coordinate system.
                                    phone:
                                      description: >-
                                        The phone to contact in the address (can
                                        be different that the customer's).
                                      type: object
                                      required:
                                        - number
                                      properties:
                                        countryCode:
                                          type: string
                                          pattern: ^\+?[0-9]+$
                                          description: >-
                                            International prefix of the phone, if
                                            known separately.
                                        number:
                                          type: string
                                          pattern: ^[0-9]+$
                                          description: >-
                                            The local number of the phone, such that
                                            `countryCode` + `number` can be dialed.
                                    alias:
                                      type: string
                                      description: Name of the address, e.g. home, work.
                                    name:
                                      type: string
                                      description: >-
                                        Name of the person to whom the address
                                        belongs to.
                                    lastName:
                                      type: string
                                      description: >-
                                        Last name of the person to whom the
                                        address belongs to.
                                    email:
                                      type: string
                                      description: >-
                                        Email of the person to whom the address
                                        belongs to.
                                type:
                                  type: string
                                  description: The type of sender.
                                  enum:
                                    - individual
                                    - corporate
                                    - instrument
                                companyName:
                                  type: string
                                  description: The sender's company name, if applicable.
                        fulfillmentMethod:
                          type: string
                          description: >-
                            The fulfillment or shipping method used for the
                            order (e.g. `standard`, `express`, `pickup`), in
                            whatever vocabulary the merchant uses. Passed
                            through as-is to providers that need it.
                        shipmentReference:
                          type: string
                          description: >-
                            The merchant's identifier for the shipment
                            fulfilling this order.
                        accommodationData:
                          description: Details of a lodging stay paid for by this order.
                          type: object
                          properties:
                            itineraryNumber:
                              type: string
                              description: >-
                                Your booking or itinerary reference for the
                                stay.
                              example: 24876B62518225
                            folioNumber:
                              type: string
                              description: >-
                                The property's folio or bill reference for the
                                stay.
                            checkIn:
                              type: string
                              format: date-time
                              description: The first night of the stay, in RFC 3339 format.
                            checkOut:
                              type: string
                              format: date-time
                              description: The departure date, in RFC 3339 format.
                            propertyName:
                              type: string
                              description: The name of the property hosting the stay.
                              example: The Sea View Hotel
                            propertyPhone:
                              description: >-
                                The contact number of the property hosting the
                                stay. Required by some providers when sending
                                lodging data to the card schemes.
                              type: object
                              required:
                                - number
                              properties:
                                countryCode:
                                  type: string
                                  pattern: ^\+?[0-9]+$
                                  description: >-
                                    International prefix of the phone, if known
                                    separately.
                                number:
                                  type: string
                                  pattern: ^[0-9]+$
                                  description: >-
                                    The local number of the phone, such that
                                    `countryCode` + `number` can be dialed.
                            customerServicePhone:
                              description: >-
                                Your customer service contact number. Required
                                by some providers when sending lodging data to
                                the card schemes.
                              type: object
                              required:
                                - number
                              properties:
                                countryCode:
                                  type: string
                                  pattern: ^\+?[0-9]+$
                                  description: >-
                                    International prefix of the phone, if known
                                    separately.
                                number:
                                  type: string
                                  pattern: ^[0-9]+$
                                  description: >-
                                    The local number of the phone, such that
                                    `countryCode` + `number` can be dialed.
                            rooms:
                              type: array
                              description: Every room booked under this stay.
                              items:
                                type: object
                                description: A single room booked as part of the stay.
                                properties:
                                  nights:
                                    type: integer
                                    description: >-
                                      The number of nights this room is booked
                                      for.
                                    example: 2
                                  dailyRate:
                                    description: >
                                      The nightly rate for this room. Send the
                                      rate itself rather than a stay total:

                                      dividing a total by `nights` loses
                                      precision when the division is not exact,
                                      and

                                      providers expect the true nightly figure.
                                    type: object
                                    required:
                                      - value
                                      - currency
                                    properties:
                                      value:
                                        type: string
                                        pattern: '[0-9]+(\.[0-9]+)?'
                                        example: '12.50'
                                        description: >-
                                          Decimal amount of the major currency
                                          unit. Can be any precision.
                                      currency:
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                        description: ISO 3-letter currency code.
                                  dailyTax:
                                    description: >-
                                      The nightly tax for this room, on the same
                                      basis as `dailyRate`.
                                    type: object
                                    required:
                                      - value
                                      - currency
                                    properties:
                                      value:
                                        type: string
                                        pattern: '[0-9]+(\.[0-9]+)?'
                                        example: '12.50'
                                        description: >-
                                          Decimal amount of the major currency
                                          unit. Can be any precision.
                                      currency:
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                        description: ISO 3-letter currency code.
                            charges:
                              type: array
                              description: >-
                                Charges associated with the stay beyond the room
                                rates themselves.
                              items:
                                type: object
                                description: A single charge associated with the stay.
                                properties:
                                  type:
                                    type: string
                                    description: The kind of charge.
                                    enum:
                                      - lodging
                                      - noShow
                                      - cancellation
                                      - restaurant
                                      - miniBar
                                      - telephone
                                      - giftShop
                                      - laundry
                                      - other
                                  amount:
                                    description: The value of the charge.
                                    type: object
                                    required:
                                      - value
                                      - currency
                                    properties:
                                      value:
                                        type: string
                                        pattern: '[0-9]+(\.[0-9]+)?'
                                        example: '12.50'
                                        description: >-
                                          Decimal amount of the major currency
                                          unit. Can be any precision.
                                      currency:
                                        type: string
                                        pattern: ^[A-Z]{3}$
                                        example: EUR
                                        description: ISO 3-letter currency code.
                    customer:
                      type: object
                      description: The customer placing the order.
                      properties:
                        reference:
                          type: string
                          description: >-
                            Customer reference number specified by the merchant.
                            Defaults to `holderReference` of the execution if
                            not specified.
                        name:
                          type: string
                          description: >-
                            The full name (or first name, if you can provide
                            `lastName` separate) of the customer.
                        lastName:
                          type: string
                          description: >-
                            Last name of the customer (if required to be
                            separate from `name`).
                        email:
                          type: string
                          description: Email address of the customer.
                        type:
                          type: string
                          description: Customer type specified by the merchant.
                        phone:
                          description: Phone of the customer.
                          type: object
                          required:
                            - number
                          properties:
                            countryCode:
                              type: string
                              pattern: ^\+?[0-9]+$
                              description: >-
                                International prefix of the phone, if known
                                separately.
                            number:
                              type: string
                              pattern: ^[0-9]+$
                              description: >-
                                The local number of the phone, such that
                                `countryCode` + `number` can be dialed.
                        birthDate:
                          type: string
                          format: date
                          description: Date of birth of the customer.
                        language:
                          type: string
                          description: >-
                            POSIX locale string identifying the language used to
                            communicate to the customer.
                          pattern: ^[a-z]{2}(_[A-Z]+)?$
                        country:
                          description: >-
                            Country of registration the customer. Can be
                            different than the order and delivery countries.
                          type: object
                          required:
                            - code
                          properties:
                            code:
                              type: string
                              description: ISO 3166-1 alpha-2 country code.
                              pattern: ^[A-Z]{2}$
                            iso3:
                              type: string
                              description: >-
                                ISO 3-letter country code. Returned by Payrails,
                                but not interpreted in requests.
                              pattern: ^[A-Z]{3}$
                            name:
                              type: string
                              description: >-
                                The English name of the country. Returned by
                                Payrails, but not interpreted in requests.
                        identityCardNumber:
                          type: string
                          description: >-
                            The customer's identity number, e.g. passport,
                            national ID, etc.
                        identityCardType:
                          type: string
                          description: >-
                            The type of the customer's identity card, e.g.
                            passport, national ID, etc.
                        createdAt:
                          type: string
                          format: date-time
                          description: >-
                            The customer's account creation date in RFC 3339
                            format. Required for Tabby integrations.
                        updatedAt:
                          type: string
                          format: date-time
                          description: >-
                            The customer's account last-updated date in RFC 3339
                            format.
                        passwordChangedAt:
                          type: string
                          format: date-time
                          description: >
                            The date the customer last changed their account
                            password, in RFC 3339 format. Used as a 3-D Secure 2
                            risk signal: issuers treat a recent credential
                            change as account-takeover risk.
                        previousPurchaseCount:
                          type: integer
                          description: >-
                            Number of previous purchases the customer made with
                            the merchant. Required for Tabby integrations.
                        previousOrders:
                          type: array
                          description: >-
                            The customer's previous orders with the merchant,
                            used for order history based pre-scoring (e.g. BNPL
                            providers). Required for Tabby integrations.
                          items:
                            type: object
                            description: A previous order placed by the customer.
                            properties:
                              purchasedAt:
                                type: string
                                format: date-time
                                description: >-
                                  Date and time the order was purchased, in RFC
                                  3339 format.
                              amount:
                                description: Amount of the previous order.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                              paymentMethod:
                                type: string
                                description: >-
                                  Payment method used for the previous order,
                                  e.g. `card`, `cod`.
                              status:
                                type: string
                                description: >-
                                  Status of the previous order, e.g. `complete`,
                                  `refunded`, `canceled`.
                              items:
                                type: array
                                description: >-
                                  List of details per item in the previous order
                                  (same shape as an order's `lines`).
                                items:
                                  type: object
                                  description: Detail of an order item.
                                  properties:
                                    name:
                                      type: string
                                      description: The name of the item.
                                    description:
                                      type: string
                                      description: The description of the item.
                                    product:
                                      type: object
                                      description: The details of the product item.
                                      properties:
                                        type:
                                          type: string
                                          description: The type of the product item.
                                          enum:
                                            - physical
                                            - digital
                                            - service
                                    categoryId:
                                      type: string
                                      description: >-
                                        Category identifier of the item on the
                                        merchant's system.
                                    type:
                                      type: string
                                      description: >-
                                        The type of the item. the line value
                                        will be added to the order total in case
                                        of `lineItem`, `tax` and subtracted from
                                        order total in case of `discount`.
                                      enum:
                                        - lineItem
                                        - discount
                                        - tax
                                    quantity:
                                      type: integer
                                      description: >-
                                        How many instances of this item are part
                                        of the order.
                                    unitPrice:
                                      description: How much does a unit of the item cost.
                                      type: object
                                      required:
                                        - value
                                        - currency
                                      properties:
                                        value:
                                          type: string
                                          pattern: '[0-9]+(\.[0-9]+)?'
                                          example: '12.50'
                                          description: >-
                                            Decimal amount of the major currency
                                            unit. Can be any precision.
                                        currency:
                                          type: string
                                          pattern: ^[A-Z]{3}$
                                          example: EUR
                                          description: ISO 3-letter currency code.
                                    total:
                                      description: >-
                                        Cost of unit price multiplied by
                                        quantity with the tax and discount
                                        applied.
                                      type: object
                                      required:
                                        - value
                                        - currency
                                      properties:
                                        value:
                                          type: string
                                          pattern: '[0-9]+(\.[0-9]+)?'
                                          example: '12.50'
                                          description: >-
                                            Decimal amount of the major currency
                                            unit. Can be any precision.
                                        currency:
                                          type: string
                                          pattern: ^[A-Z]{3}$
                                          example: EUR
                                          description: ISO 3-letter currency code.
                                    taxPercentage:
                                      description: >-
                                        Tax percentage that applies to the
                                        specific item, applicable only where
                                        `item.type == lineItem`, will be ignored
                                        when not providing `item.unitPrice`.
                                      type: object
                                      required:
                                        - value
                                      properties:
                                        value:
                                          type: string
                                          pattern: ^((100)|(\d{1,2}(\.\d*)?))$
                                          example: '12.50'
                                          description: >-
                                            A percentage value up to 2 decimal
                                            precision.
                                    taxCode:
                                      description: >-
                                        Tax code classifying the item for tax
                                        calculation.
                                      type: string
                                      enum:
                                        - businessSaas
                                        - consumerSaas
                                        - businessSaasSecurity
                                        - consumerSaasSecurity
                                        - businessSaasStorage
                                        - consumerSaasStorage
                                        - softwareOnprem
                                        - businessPaas
                                        - consumerPaas
                                        - businessIaas
                                        - consumerIaas
                                        - businessWebHosting
                                        - consumerWebHosting
                                        - businessDomainNames
                                        - consumerDomainNames
                                        - businessSoftwareDownload
                                        - consumerSoftwareDownload
                                        - businessSoftwareMaintenanceOptional
                                        - consumerSoftwareMaintenanceOptional
                                        - businessDigitalSubscription
                                        - consumerDigitalSubscription
                                        - businessGamingSubscription
                                        - consumerGamingSubscription
                                        - businessVideoSubscription
                                        - consumerVideoSubscription
                                        - businessPhotographySubscription
                                        - consumerPhotographySubscription
                                        - businessMusicSubscription
                                        - consumerMusicSubscription
                                        - businessEbookSubscription
                                        - consumerEbookSubscription
                                        - businessInAppSubscription
                                        - consumerInAppSubscription
                                        - businessDatasetSubscription
                                        - consumerDatasetSubscription
                                        - businessDigitalPermanent
                                        - consumerDigitalPermanent
                                        - businessGamingPermanent
                                        - consumerGamingPermanent
                                        - businessVideoPermanent
                                        - consumerVideoPermanent
                                        - businessPhotographyPermanent
                                        - consumerPhotographyPermanent
                                        - businessMusicPermanent
                                        - consumerMusicPermanent
                                        - businessNft
                                        - consumerNft
                                        - businessEbookPermanent
                                        - consumerEbookPermanent
                                        - businessInAppPermanent
                                        - consumerInAppPermanent
                                        - businessDatasetPermanent
                                        - consumerDatasetPermanent
                                        - businessDigitalAdvertising
                                        - consumerDigitalAdvertising
                                        - exempt
                                    servicePeriod:
                                      description: >-
                                        The billing period this line covers, for
                                        a recurring/subscription charge. Omit
                                        for one-time line items.
                                      type: object
                                      properties:
                                        startDate:
                                          type: string
                                          format: date-time
                                          description: >-
                                            Start of the billing period this line
                                            covers.
                                        endDate:
                                          type: string
                                          format: date-time
                                          description: >-
                                            End of the billing period this line
                                            covers.
                                      required:
                                        - startDate
                                        - endDate
                                    totalDiscount:
                                      description: >-
                                        The total discount applied on this item
                                        (quantity x discount per item),
                                        applicable only where `item.type ==
                                        lineItem`, will be ignored when not
                                        providing `item.unitPrice`.
                                      type: object
                                      required:
                                        - value
                                        - currency
                                      properties:
                                        value:
                                          type: string
                                          pattern: '[0-9]+(\.[0-9]+)?'
                                          example: '12.50'
                                          description: >-
                                            Decimal amount of the major currency
                                            unit. Can be any precision.
                                        currency:
                                          type: string
                                          pattern: ^[A-Z]{3}$
                                          example: EUR
                                          description: ISO 3-letter currency code.
                                    totalTax:
                                      description: >-
                                        The total tax added for this item
                                        (quantity x tax per item), applicable
                                        only where `items.type = lineItem`, will
                                        be ignored when not providing
                                        `item.unitPrice`.
                                      type: object
                                      required:
                                        - value
                                        - currency
                                      properties:
                                        value:
                                          type: string
                                          pattern: '[0-9]+(\.[0-9]+)?'
                                          example: '12.50'
                                          description: >-
                                            Decimal amount of the major currency
                                            unit. Can be any precision.
                                        currency:
                                          type: string
                                          pattern: ^[A-Z]{3}$
                                          example: EUR
                                          description: ISO 3-letter currency code.
                                    id:
                                      type: string
                                      description: >-
                                        Identifier of the item on the merchant's
                                        system.
                                    brand:
                                      type: string
                                      description: >-
                                        The manufacturer or brand name of the
                                        item.
                                    weight:
                                      type: number
                                      format: float
                                      description: The weight of the item, in kilograms.
                                    links:
                                      type: object
                                      description: Relevant links about the item.
                                      properties:
                                        productUrl:
                                          type: string
                                          description: URL of the product information page.
                                        imageUrl:
                                          type: string
                                          description: URL of the image of the item.
                                    travelTicket:
                                      type: object
                                      description: Details about the travel ticket.
                                      properties:
                                        ticketId:
                                          type: string
                                          description: The ID of the travel ticket.
                                        passengers:
                                          type: array
                                          description: The passengers on the travel ticket.
                                          items:
                                            type: object
                                            description: A passenger on the travel ticket.
                                            properties:
                                              name:
                                                type: string
                                                description: The name of the passenger.
                                              lastName:
                                                type: string
                                                description: The last name of the passenger.
                                              phone:
                                                description: The phone number of the passenger.
                                                type: object
                                                required:
                                                  - number
                                                properties:
                                                  countryCode:
                                                    type: string
                                                    pattern: ^\+?[0-9]+$
                                                    description: >-
                                                      International prefix of the phone, if
                                                      known separately.
                                                  number:
                                                    type: string
                                                    pattern: ^[0-9]+$
                                                    description: >-
                                                      The local number of the phone, such that
                                                      `countryCode` + `number` can be dialed.
                                              passengerType:
                                                type: string
                                                description: The type of the passenger.
                                                enum:
                                                  - adult
                                                  - child
                                                  - infant
                                                  - senior
                                              email:
                                                type: string
                                                description: The email of the passenger.
                                        routes:
                                          type: array
                                          description: The routes on the travel ticket.
                                          items:
                                            type: object
                                            description: A route on the travel ticket.
                                            properties:
                                              legs:
                                                type: array
                                                description: The legs on the route.
                                                items:
                                                  type: object
                                                  description: A leg on the route.
                                                  properties:
                                                    legId:
                                                      type: string
                                                      description: The ID of the leg.
                                                    departure:
                                                      type: object
                                                      description: A point on a travel ticket leg.
                                                      properties:
                                                        city:
                                                          type: string
                                                          description: The city of the point.
                                                        country:
                                                          description: The country of the point.
                                                          type: object
                                                          required:
                                                            - code
                                                          properties:
                                                            code:
                                                              type: string
                                                              description: ISO 3166-1 alpha-2 country code.
                                                              pattern: ^[A-Z]{2}$
                                                            iso3:
                                                              type: string
                                                              description: >-
                                                                ISO 3-letter country code. Returned by
                                                                Payrails, but not interpreted in
                                                                requests.
                                                              pattern: ^[A-Z]{3}$
                                                            name:
                                                              type: string
                                                              description: >-
                                                                The English name of the country.
                                                                Returned by Payrails, but not
                                                                interpreted in requests.
                                                        time:
                                                          type: string
                                                          format: date-time
                                                          description: The time of the point.
                                                    arrival:
                                                      type: object
                                                      description: A point on a travel ticket leg.
                                                      properties:
                                                        city:
                                                          type: string
                                                          description: The city of the point.
                                                        country:
                                                          description: The country of the point.
                                                          type: object
                                                          required:
                                                            - code
                                                          properties:
                                                            code:
                                                              type: string
                                                              description: ISO 3166-1 alpha-2 country code.
                                                              pattern: ^[A-Z]{2}$
                                                            iso3:
                                                              type: string
                                                              description: >-
                                                                ISO 3-letter country code. Returned by
                                                                Payrails, but not interpreted in
                                                                requests.
                                                              pattern: ^[A-Z]{3}$
                                                            name:
                                                              type: string
                                                              description: >-
                                                                The English name of the country.
                                                                Returned by Payrails, but not
                                                                interpreted in requests.
                                                        time:
                                                          type: string
                                                          format: date-time
                                                          description: The time of the point.
                    clientContext:
                      description: Data describing the customer's device or browser.
                      type: object
                      properties:
                        ipAddress:
                          type: string
                          description: >-
                            IP address of the device that customer used to place
                            the order. Can be IPv4 or IPv6.
                        userAgent:
                          type: string
                          description: >-
                            The user-agent header supplied by the customer's
                            browser.
                        acceptHeader:
                          type: string
                          description: >-
                            The accept header supplied by the customer's
                            browser.
                        clientType:
                          type: string
                          description: Type of device customer used to place the order.
                          oneOf:
                            - type: string
                              title: desktop
                              enum:
                                - desktop
                              description: Desktop computer via web browser.
                            - type: string
                              title: mobile
                              enum:
                                - mobile
                              description: Smartphone via browser.
                            - type: string
                              title: app
                              enum:
                                - app
                              description: Merchant-controlled smartphone app.
                        osType:
                          type: string
                          description: Type of Operating System that the customer is using.
                          enum:
                            - ios
                            - android
                        osVersion:
                          type: string
                          description: >-
                            Version of Operating System that the customer is
                            using.
                        deviceFingerprint:
                          type: string
                          description: Fingerprint of the device the customer is using.
                        javaEnabled:
                          type: boolean
                          description: >-
                            Flag indicating if the customer's browser is able to
                            execute Java.
                        javaScriptEnabled:
                          type: boolean
                          description: >-
                            Flag indicating if the customer's browser is able to
                            execute JavaScript.
                        cookiesAccepted:
                          type: boolean
                          description: >-
                            Flag indicating if the customer's browser accepts
                            cookies.
                        language:
                          type: string
                          description: >-
                            Locale string identifying the language of the device
                            or browser, e.g. `pt`, `es_UY`, `en-US`. Both `-`
                            and `_` are accepted.
                          pattern: ^[a-z]{2}([_-][A-Z]+)?$
                        colorDepth:
                          type: integer
                          description: >-
                            The color depth of the customer's browser in bits
                            per pixel.
                        screenHeight:
                          type: integer
                          description: The pixel height of the customer's screen.
                        screenWidth:
                          type: integer
                          description: The pixel width of the customer's screen.
                        timeZoneOffset:
                          type: integer
                          description: >-
                            Time difference between UTC time and the customer's
                            browser local time, in minutes.
                        origin:
                          type: string
                          description: >-
                            The URL from where the order is being placed, e.g.
                            https://merchant.com/checkout.
                        host:
                          type: string
                          description: >-
                            The domain name from which the order is being
                            placed, e.g. merchant.com.
                    vendor:
                      type: object
                      description: |
                        Description of a vendor that provides the order.
                      properties:
                        reference:
                          type: string
                          description: Reference of the vendor in the merchant's system.
                        name:
                          type: string
                          description: Name of the vendor.
                        address:
                          description: Address of the vendor.
                          type: object
                          properties:
                            street:
                              type: string
                              description: The name of the street of a postal address.
                            doorNumber:
                              type: string
                              description: The number on the door, building, or room.
                            complement:
                              type: string
                              description: >-
                                Additional addressing information, 2nd line of
                                postal address.
                            area:
                              type: string
                              description: The name of the suburb or area within a city.
                            city:
                              type: string
                              description: The name of the city of a postal address.
                            postalCode:
                              type: string
                              description: The postal code.
                            state:
                              type: string
                              description: The name of the state a postal address is in.
                            country:
                              description: The country where the address is in.
                              type: object
                              required:
                                - code
                              properties:
                                code:
                                  type: string
                                  description: ISO 3166-1 alpha-2 country code.
                                  pattern: ^[A-Z]{2}$
                                iso3:
                                  type: string
                                  description: >-
                                    ISO 3-letter country code. Returned by
                                    Payrails, but not interpreted in requests.
                                  pattern: ^[A-Z]{3}$
                                name:
                                  type: string
                                  description: >-
                                    The English name of the country. Returned by
                                    Payrails, but not interpreted in requests.
                            latitude:
                              type: number
                              format: float
                              description: >-
                                Latitude of the address in the GPS coordinate
                                system.
                            longitude:
                              type: number
                              format: float
                              description: >-
                                Longitude of the address in the GPS coordinate
                                system.
                            phone:
                              description: >-
                                The phone to contact in the address (can be
                                different that the customer's).
                              type: object
                              required:
                                - number
                              properties:
                                countryCode:
                                  type: string
                                  pattern: ^\+?[0-9]+$
                                  description: >-
                                    International prefix of the phone, if known
                                    separately.
                                number:
                                  type: string
                                  pattern: ^[0-9]+$
                                  description: >-
                                    The local number of the phone, such that
                                    `countryCode` + `number` can be dialed.
                            alias:
                              type: string
                              description: Name of the address, e.g. home, work.
                            name:
                              type: string
                              description: >-
                                Name of the person to whom the address belongs
                                to.
                            lastName:
                              type: string
                              description: >-
                                Last name of the person to whom the address
                                belongs to.
                            email:
                              type: string
                              description: >-
                                Email of the person to whom the address belongs
                                to.
                        device:
                          type: object
                          description: >-
                            Details about the device used by the vendor that
                            provides the order.
                          properties:
                            reference:
                              type: string
                              description: >-
                                Unique reference of the device (e.g. serial
                                number).
                        subMerchants:
                          type: array
                          description: >-
                            A list of sub-sellers for Payment Facilitator
                            transactions.
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Unique identifier for the sub-merchant.
                              name:
                                type: string
                                description: The name of the sub-merchant.
                              address:
                                description: |
                                  The physical location of the sub-merchant.
                                type: object
                                properties:
                                  street:
                                    type: string
                                    description: >-
                                      The name of the street of a postal
                                      address.
                                  doorNumber:
                                    type: string
                                    description: The number on the door, building, or room.
                                  complement:
                                    type: string
                                    description: >-
                                      Additional addressing information, 2nd
                                      line of postal address.
                                  area:
                                    type: string
                                    description: >-
                                      The name of the suburb or area within a
                                      city.
                                  city:
                                    type: string
                                    description: The name of the city of a postal address.
                                  postalCode:
                                    type: string
                                    description: The postal code.
                                  state:
                                    type: string
                                    description: >-
                                      The name of the state a postal address is
                                      in.
                                  country:
                                    description: The country where the address is in.
                                    type: object
                                    required:
                                      - code
                                    properties:
                                      code:
                                        type: string
                                        description: ISO 3166-1 alpha-2 country code.
                                        pattern: ^[A-Z]{2}$
                                      iso3:
                                        type: string
                                        description: >-
                                          ISO 3-letter country code. Returned by
                                          Payrails, but not interpreted in
                                          requests.
                                        pattern: ^[A-Z]{3}$
                                      name:
                                        type: string
                                        description: >-
                                          The English name of the country.
                                          Returned by Payrails, but not
                                          interpreted in requests.
                                  latitude:
                                    type: number
                                    format: float
                                    description: >-
                                      Latitude of the address in the GPS
                                      coordinate system.
                                  longitude:
                                    type: number
                                    format: float
                                    description: >-
                                      Longitude of the address in the GPS
                                      coordinate system.
                                  phone:
                                    description: >-
                                      The phone to contact in the address (can
                                      be different that the customer's).
                                    type: object
                                    required:
                                      - number
                                    properties:
                                      countryCode:
                                        type: string
                                        pattern: ^\+?[0-9]+$
                                        description: >-
                                          International prefix of the phone, if
                                          known separately.
                                      number:
                                        type: string
                                        pattern: ^[0-9]+$
                                        description: >-
                                          The local number of the phone, such that
                                          `countryCode` + `number` can be dialed.
                                  alias:
                                    type: string
                                    description: Name of the address, e.g. home, work.
                                  name:
                                    type: string
                                    description: >-
                                      Name of the person to whom the address
                                      belongs to.
                                  lastName:
                                    type: string
                                    description: >-
                                      Last name of the person to whom the
                                      address belongs to.
                                  email:
                                    type: string
                                    description: >-
                                      Email of the person to whom the address
                                      belongs to.
                              amount:
                                description: >
                                  The amount of the payment corresponding to the
                                  sub-merchant.
                                type: object
                                required:
                                  - value
                                  - currency
                                properties:
                                  value:
                                    type: string
                                    pattern: '[0-9]+(\.[0-9]+)?'
                                    example: '12.50'
                                    description: >-
                                      Decimal amount of the major currency unit.
                                      Can be any precision.
                                  currency:
                                    type: string
                                    pattern: ^[A-Z]{3}$
                                    example: EUR
                                    description: ISO 3-letter currency code.
                    risk:
                      type: object
                      description: Configuration values for the risk prevention check.
                      properties:
                        score:
                          type: string
                          description: >-
                            Score provided by an external fraud prevention
                            system.
                        skipPaymentProviderRules:
                          type: boolean
                          description: True if the provider should skip the risk rules.
                        skipFraudDecision:
                          type: boolean
                          description: >-
                            True if fraud-check providers should bypass their
                            own review/decisioning for this transaction (e.g. a
                            trusted customer, or a payment whose liability has
                            already shifted to the issuer via 3DS). Typically
                            set by the merchant's workflow rather than the
                            caller directly.
                        force3DS:
                          type: boolean
                          description: >-
                            Deprecated, use threeDSMode instead. True if we
                            should request the provider to force a 3DS process.
                            The actual execution of 3DS will depend on its
                            availability and configuration on the provider and
                            the issuer.
                          deprecated: true
                        threeDSMode:
                          type: string
                          enum:
                            - Skip
                            - Force
                            - Default
                          description: 3DS mode to send in an authorize request to a PSP.
                        allowNative3DS:
                          type: boolean
                          description: >-
                            True if we should allow native experience in mobile
                            devices when 3DS 2.x is triggered. If false, we will
                            prefer redirection-based flows.
                        sessionId:
                          type: string
                          deprecated: true
                          description: >
                            Deprecated in favour of sessions. Session ID
                            provided by an external fraud prevention system.
                            Kept only for older web-SDK versions and direct API
                            integrations that haven't migrated yet.
                        sessions:
                          type: array
                          description: >
                            Session/device IDs for one or more external fraud
                            prevention systems. This is the standard way to
                            provide a fraud session id, whether one provider is
                            configured or several.
                          items:
                            type: object
                            required:
                              - provider
                              - sessionId
                            properties:
                              provider:
                                type: string
                                description: >-
                                  Identifier of the fraud prevention provider
                                  this session ID belongs to.
                                enum:
                                  - riskified
                                  - signifyd
                                  - ravelin
                                  - cybersource
                                  - forter
                                  - airwallex
                                  - stripe
                              sessionId:
                                type: string
                                description: >-
                                  Session/device ID provided by this fraud
                                  prevention provider.
                              providerConfigId:
                                type: string
                                format: uuid
                                description: >
                                  Disambiguates multiple sessions for the same
                                  provider, when more than one configured
                                  instance of that provider is in play.
                                  Optional; omit unless more than one session
                                  for the same provider is present.
                        exemptionIndicator:
                          type: string
                          description: >
                            Indicates the exemption that you want to request in
                            case a 3DS process is triggered.The issuer decides
                            if the exemption is granted or not. For some types
                            of transaction, the issuer can grant an exemption
                            without you requesting it. Possible values are *
                            lowValue - For payments below 30 EUR (or equivalent
                            converted amount) are considered “low value” and
                            might be exempt from SCA. SCA is required if the
                            total amount is higher than 100 EUR, and every 5
                            transactions. * transactionRiskAnalysis - For
                            payments through acquirers or issuers whose fraud
                            level is below a certain threshold. *
                            secureCorporate - For payments that use secure
                            corporate cards, which are exempt from 3DS
                            authentication. * trustedBeneficiary - For payments
                            where the cardholder has already added the merchant
                            to a trust list on their bank. *
                            trustedBeneficiaryPrompt - For payments where the
                            merchant would like to prompt the cardholder to add
                            them as a trusted merchant. * dataShare - Data
                            Sharing exemptions for transactions that are not
                            subject to Strong Customer Authentication (SCA)
                            compliance.
                          enum:
                            - lowValue
                            - transactionRiskAnalysis
                            - secureCorporate
                            - trustedBeneficiary
                            - trustedBeneficiaryPrompt
                            - dataShare
                    subscription:
                      type: object
                      description: Configuration of a subscription process.
                      allOf:
                        - type: object
                          properties:
                            chargeFrequency:
                              type: string
                              description: >-
                                Scheduled interval between subscription
                                payments. The format should be based on the [ISO
                                8601
                                standard](https://tc39.es/proposal-temporal/docs/duration.html).
                            expiration:
                              type: string
                              format: date
                              description: Date when recurring payments expire.
                            startDate:
                              type: string
                              format: date
                              description: >-
                                Date when the subscription starts. Used by
                                subscription mandates such as Pix Automático.
                            scheduledDate:
                              type: string
                              format: date
                              description: >-
                                Date on which a recurring merchant-initiated
                                transaction is scheduled to be processed. Submit
                                this field for recurring MITs only when required
                                by the selected payment method, such as certain
                                account-to-account and direct debit payment
                                methods.
                        - oneOf:
                            - type: object
                              not:
                                required:
                                  - amountType
                            - type: object
                              description: Fixed amount subscription model.
                              properties:
                                amountType:
                                  type: string
                                  enum:
                                    - fixed
                                  description: >-
                                    Subscription charges a fixed amount each
                                    cycle. Used by subscription mandates such as
                                    Pix Automático.
                                fixedAmount:
                                  type: string
                                  description: >-
                                    The fixed amount charged each cycle, in the
                                    transaction currency.
                              required:
                                - amountType
                                - fixedAmount
                            - type: object
                              description: Variable amount subscription model.
                              properties:
                                amountType:
                                  type: string
                                  enum:
                                    - variable
                                  description: >-
                                    Subscription charges a variable amount with
                                    a minimum value. Used by subscription
                                    mandates such as Pix Automático.
                                minAmount:
                                  type: string
                                  description: >-
                                    The minimum authorization limit per cycle,
                                    in the transaction currency.
                              required:
                                - amountType
                                - minAmount
                    tags:
                      type: object
                      description: >
                        Additional meta fields to be sent to the payment
                        providers which support metadata / tags.

                        For example, sent to [Stripe as
                        metadata](https://stripe.com/docs/api/metadata).

                        Because these will always be PSP-specific, we do NOT
                        recommend using these fields if they can actually be
                        mapped to a generic field above.
                      additionalProperties:
                        type: string
                    paymentMethods:
                      description: >
                        Per-payment-method shopper input, namespaced by payment
                        method code so each method's fields stay isolated. Only
                        the entry matching the payment method being charged is
                        read.
                      type: object
                      properties:
                        upi:
                          description: UPI-specific input for payments in India.
                          type: object
                          properties:
                            flow:
                              type: string
                              description: >
                                Selects which UPI journey the provider should
                                return. Omit to use the provider's default.
                              oneOf:
                                - type: string
                                  title: intent
                                  enum:
                                    - intent
                                  description: >-
                                    Return a upi:// deep link for an installed
                                    UPI app to complete.
                                - type: string
                                  title: qr
                                  enum:
                                    - qr
                                  description: >-
                                    Return the UPI payload rendered as a code
                                    for the payer to scan.
                            appId:
                              type: string
                              description: >-
                                The UPI app the payer chose (e.g. "gpay",
                                "phonepe", "paytm"). Only used for the intent
                                flow.
                    upi:
                      deprecated: true
                      description: >
                        Deprecated. Use paymentMethods.upi instead; this
                        location is still read as a fallback and will be removed
                        once integrations have migrated.
                      allOf:
                        - description: UPI-specific input for payments in India.
                          type: object
                          properties:
                            flow:
                              type: string
                              description: >
                                Selects which UPI journey the provider should
                                return. Omit to use the provider's default.
                              oneOf:
                                - type: string
                                  title: intent
                                  enum:
                                    - intent
                                  description: >-
                                    Return a upi:// deep link for an installed
                                    UPI app to complete.
                                - type: string
                                  title: qr
                                  enum:
                                    - qr
                                  description: >-
                                    Return the UPI payload rendered as a code
                                    for the payer to scan.
                            appId:
                              type: string
                              description: >-
                                The UPI app the payer chose (e.g. "gpay",
                                "phonepe", "paytm"). Only used for the intent
                                flow.
                  example:
                    order:
                      storeId: store-123
                      reference: order_3573894940903
                      placement:
                        country:
                          code: DE
                        city: Berlin
                      deliveryAddress:
                        city: Ankeborg
                        country:
                          code: SE
                        doorNumber: '1'
                        street: Stargatan
                        postalCode: '12345'
                        name: Peter
                        lastName: Parker
                        email: notbatman@gmail.com
                      billingAddress:
                        city: Ankeborg
                        country:
                          code: SE
                        doorNumber: '1'
                        street: Stargatan
                        postalCode: '12345'
                        name: Bruno
                        lastName: Diaz
                        email: iambatman@gmail.com
                      lines:
                        - id: '123'
                          quantity: 1
                          taxPercentage:
                            value: '5'
                          description: Delicious Beer.
                          name: Beer 1
                          total:
                            value: '100'
                            currency: SEK
                          links:
                            productUrl: https://www.amazingmerchant.com/products/1
                            imageUrl: https://www.amazingmerchant.com/products/1.jpeg
                    customer:
                      reference: '1231905323475'
                      name: FirstName
                      lastName: LastName
                      email: someone@email.com
                      type: VIP
                      country:
                        code: SE
                    clientContext:
                      ipAddress: 217.110.239.132
                      osType: ios
                      userAgent: >-
                        Mozilla/5.0 (Windows NT 10.0; Win64; x64)
                        AppleWebKit/537.36 (KHTML, like Gecko)
                        Chrome/70.0.3538.110 Safari/537.36
                      acceptHeader: >-
                        text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
                      language: nl_NL
                      colorDepth: 24
                      screenHeight: 723
                      screenWidth: 1536
                      timeZoneOffset: 0
                      javaEnabled: true
                      javaScriptEnabled: true
                      cookiesAccepted: true
                      origin: https://merchant.com/checkout
                      host: merchant.com
                    vendor:
                      reference: vendor-123
                      name: Cool Restaurant
                    risk:
                      score: '80'
                      skipPaymentProviderRules: false
                      force3DS: true
                      threeDSMode: Default
                      allowNative3DS: true
                      sessionId: '34567890123'
                      exemptionIndicator: lowValue
                    subscription:
                      chargeFrequency: P1M
                      expiration: '2027-12-01'
                      startDate: '2026-12-01'
                      scheduledDate: '2027-01-01'
                      amountType: variable
                      minAmount: '300'
                    tags:
                      customKey: customValue
            example:
              actionId: 1aa0ef20-36cb-4485-b60e-0526c3699014
              meta:
                clientContext:
                  osType: ios
              data:
                redirectResult: eyJ0cmFuc1N0YXR1cyI6IlkifQ
      responses:
        '202':
          description: The payment confirmation was requested.
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    required:
                      - name
                      - actionId
                      - executedAt
                      - links
                    properties:
                      name:
                        type: string
                      actionId:
                        type: string
                        format: uuid
                        description: >-
                          Unique identifier for this action execution. If its
                          processing is done asynchronously, you will receive a
                          notification with the same `actionId`.
                      workspaceId:
                        type: string
                        format: uuid
                        description: Unique identifier of a workspace in Payrails.
                      executedAt:
                        type: string
                        format: date-time
                        description: >-
                          Date and time when execution of the Action was
                          started.
                      links:
                        type: object
                  - type: object
                    properties:
                      name:
                        type: string
                        description: Confirms the selected payments on PSP.
                        enum:
                          - confirm
                      links:
                        type: object
                        description: Links to the next possible actions that can be taken.
                        required:
                          - execution
                          - consumerWait
                          - cancel
                        properties:
                          execution:
                            description: URL to fetch the current execution state.
                            oneOf:
                              - type: string
                              - type: object
                                description: Link related information.
                                required:
                                  - href
                                properties:
                                  href:
                                    type: string
                                  method:
                                    type: string
                                    description: >-
                                      HTTP method that should be used to call
                                      the `href`.
                                    enum:
                                      - GET
                                      - POST
                                      - PUT
                                      - PATCH
                                      - DELETE
                          consumerWait:
                            description: >-
                              URL the consumer can be redirected to until
                              payment is complete. This endpoint will redirect
                              the consumer as needed for 3DS or other PSP
                              interactions.
                            oneOf:
                              - type: string
                              - type: object
                                description: Link related information.
                                required:
                                  - href
                                properties:
                                  href:
                                    type: string
                                  method:
                                    type: string
                                    description: >-
                                      HTTP method that should be used to call
                                      the `href`.
                                    enum:
                                      - GET
                                      - POST
                                      - PUT
                                      - PATCH
                                      - DELETE
                          capture:
                            description: URL to capture the current execution.
                            oneOf:
                              - type: string
                              - type: object
                                description: Link related information.
                                required:
                                  - href
                                properties:
                                  href:
                                    type: string
                                  method:
                                    type: string
                                    description: >-
                                      HTTP method that should be used to call
                                      the `href`.
                                    enum:
                                      - GET
                                      - POST
                                      - PUT
                                      - PATCH
                                      - DELETE
                          cancel:
                            description: URL to cancel the current execution.
                            oneOf:
                              - type: string
                              - type: object
                                description: Link related information.
                                required:
                                  - href
                                properties:
                                  href:
                                    type: string
                                  method:
                                    type: string
                                    description: >-
                                      HTTP method that should be used to call
                                      the `href`.
                                    enum:
                                      - GET
                                      - POST
                                      - PUT
                                      - PATCH
                                      - DELETE
                          refund:
                            description: URL to refund the current execution.
                            oneOf:
                              - type: string
                              - type: object
                                description: Link related information.
                                required:
                                  - href
                                properties:
                                  href:
                                    type: string
                                  method:
                                    type: string
                                    description: >-
                                      HTTP method that should be used to call
                                      the `href`.
                                    enum:
                                      - GET
                                      - POST
                                      - PUT
                                      - PATCH
                                      - DELETE
              examples:
                accepted:
                  description: The payment confirmation was requested.
                  value:
                    name: confirm
                    actionId: 1aa0ef20-36cb-4485-b60e-0526c3699014
                    executedAt: '2022-04-22T17:53:36.814Z'
                    links:
                      execution: >-
                        https://api.staging.payrails.io/merchant/workflows/100ade99-ef8d-43de-8a35-4d31dbdb37d0/executions/99e2f33a-2d17-4c98-8242-6bf5a4a08016
                      consumerWait: >-
                        https://api.staging.payrails.io/public/redirect/merchant/example-merchant/100ade99-ef8d-43de-8a35-4d31dbdb37d0/99e2f33a-2d17-4c98-8242-6bf5a4a08016/dGVtcG9yYXJ5LWF1dGgK
                      capture:
                        method: POST
                        href: >-
                          https://api.staging.payrails.io/merchant/workflows/100ade99-ef8d-43de-8a35-4d31dbdb37d0/executions/99e2f33a-2d17-4c98-8242-6bf5a4a08016/capture
                      cancel:
                        method: POST
                        href: >-
                          https://api.staging.payrails.io/merchant/workflows/100ade99-ef8d-43de-8a35-4d31dbdb37d0/executions/99e2f33a-2d17-4c98-8242-6bf5a4a08016/cancel
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      description: >-
                        Error struct that includes the error, cause, reason, and
                        possible resolutions. Check the full documentation
                        [here](https://docs.payrails.com/docs/error-codes#error-structure).
                      required:
                        - id
                        - code
                        - detail
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the error. Please use this
                            value when reporting an issue to our team, so we can
                            help you faster.
                        code:
                          type: string
                          description: >-
                            Machine-friendly error code assigned to the error.
                            Check the full list of possible values
                            [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
                        detail:
                          type: string
                          description: >-
                            Human-readable description about the error, its
                            cause, and resolution.
                        docUrl:
                          type: string
                          description: >-
                            Link to the specific documentation about this
                            particular `code`.
                        reason:
                          type: object
                          additionalProperties: true
                          description: >-
                            Metadata providing more details about the reason of
                            the error. The structure of this object varies
                            according to the `code`.
              example:
                errors:
                  - id: a24bc325-3929-4d9d-9c08-b3aa532685b7
                    code: request.malformed
                    detail: The request has malformed syntax
                    docUrl: >-
                      https://docs.payrails.com/docs/error-codes#requestmalformed
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      description: >-
                        Error struct that includes the error, cause, reason, and
                        possible resolutions. Check the full documentation
                        [here](https://docs.payrails.com/docs/error-codes#error-structure).
                      required:
                        - id
                        - code
                        - detail
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the error. Please use this
                            value when reporting an issue to our team, so we can
                            help you faster.
                        code:
                          type: string
                          description: >-
                            Machine-friendly error code assigned to the error.
                            Check the full list of possible values
                            [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
                        detail:
                          type: string
                          description: >-
                            Human-readable description about the error, its
                            cause, and resolution.
                        docUrl:
                          type: string
                          description: >-
                            Link to the specific documentation about this
                            particular `code`.
                        reason:
                          type: object
                          additionalProperties: true
                          description: >-
                            Metadata providing more details about the reason of
                            the error. The structure of this object varies
                            according to the `code`.
              example:
                errors:
                  - id: a24bc325-3929-4d9d-9c08-b3aa532685b7
                    code: request.unauthorized
                    detail: >-
                      The request lacks necessary credentials to perform the
                      specified action
                    docUrl: >-
                      https://docs.payrails.com/docs/error-codes#requestunauthorized
        '403':
          description: Insufficient Scope.
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      description: >-
                        Error struct that includes the error, cause, reason, and
                        possible resolutions. Check the full documentation
                        [here](https://docs.payrails.com/docs/error-codes#error-structure).
                      required:
                        - id
                        - code
                        - detail
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the error. Please use this
                            value when reporting an issue to our team, so we can
                            help you faster.
                        code:
                          type: string
                          description: >-
                            Machine-friendly error code assigned to the error.
                            Check the full list of possible values
                            [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
                        detail:
                          type: string
                          description: >-
                            Human-readable description about the error, its
                            cause, and resolution.
                        docUrl:
                          type: string
                          description: >-
                            Link to the specific documentation about this
                            particular `code`.
                        reason:
                          type: object
                          additionalProperties: true
                          description: >-
                            Metadata providing more details about the reason of
                            the error. The structure of this object varies
                            according to the `code`.
              example:
                errors:
                  - id: e7db22b3-914e-4975-928e-9edfb0885bea
                    code: request.forbidden
                    detail: >-
                      The request credentials lack the required permissions to
                      perform the specified action
                    docUrl: >-
                      https://docs.payrails.com/docs/error-codes#requestforbidden
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      description: >-
                        Error struct that includes the error, cause, reason, and
                        possible resolutions. Check the full documentation
                        [here](https://docs.payrails.com/docs/error-codes#error-structure).
                      required:
                        - id
                        - code
                        - detail
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the error. Please use this
                            value when reporting an issue to our team, so we can
                            help you faster.
                        code:
                          type: string
                          description: >-
                            Machine-friendly error code assigned to the error.
                            Check the full list of possible values
                            [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
                        detail:
                          type: string
                          description: >-
                            Human-readable description about the error, its
                            cause, and resolution.
                        docUrl:
                          type: string
                          description: >-
                            Link to the specific documentation about this
                            particular `code`.
                        reason:
                          type: object
                          additionalProperties: true
                          description: >-
                            Metadata providing more details about the reason of
                            the error. The structure of this object varies
                            according to the `code`.
              example:
                errors:
                  - id: a24bc325-3929-4d9d-9c08-b3aa532685b7
                    code: request.not-found
                    detail: The requested resource was not found
                    docUrl: >-
                      https://docs.payrails.com/docs/error-codes#requestnot-found
        '429':
          description: Too Many Requests.
          content:
            application/json:
              schema:
                type: object
                required:
                  - errors
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      description: >-
                        Error struct that includes the error, cause, reason, and
                        possible resolutions. Check the full documentation
                        [here](https://docs.payrails.com/docs/error-codes#error-structure).
                      required:
                        - id
                        - code
                        - detail
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: >-
                            Unique identifier of the error. Please use this
                            value when reporting an issue to our team, so we can
                            help you faster.
                        code:
                          type: string
                          description: >-
                            Machine-friendly error code assigned to the error.
                            Check the full list of possible values
                            [here](https://docs.payrails.com/docs/error-codes#list-of-error-codes).
                        detail:
                          type: string
                          description: >-
                            Human-readable description about the error, its
                            cause, and resolution.
                        docUrl:
                          type: string
                          description: >-
                            Link to the specific documentation about this
                            particular `code`.
                        reason:
                          type: object
                          additionalProperties: true
                          description: >-
                            Metadata providing more details about the reason of
                            the error. The structure of this object varies
                            according to the `code`.
              example:
                errors:
                  - id: a24bc325-3929-4d9d-9c08-b3aa532685b7
                    code: request.rate-limit
                    detail: Too many requests
                    docUrl: >-
                      https://docs.payrails.com/docs/error-codes#requestrate-limit
      security:
        - BearerToken:
            - executions:confirm
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >
        You can use your secret API key in the `x-api-key` header of your API
        requests for supported endpoints: `x-api-key: <YOUR_API_KEY_HERE>`.

        API keys are environment specific and should be securely guarded.


        You don't have your API key yet? Contact your Payrails account manager.
    BearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        You can use an OAuth2 JWT bearer token in the `Authorization` header of
        your API requests for supported endpoints: `Authorization: Bearer
        <YOUR_JWT_HERE>`.

        These tokens are valid for 10 minutes and can be requested via the
        [access token endpoint](#operation/getOAuthToken) endpoint.

````

## Related topics

- [Track and reconcile](/docs/orchestration/payment-links/track-and-reconcile.md)
- [v6 Migration Guide for Humans](/docs/orchestration/checkout-sdks/web/v6-migration/v6-migration-guide.md)
- [Capture with Fraud Update](/docs/orchestration/workflow-studio/examples/capture-with-fraud-update.md)
