GetPaid Checkouts API

Payment checkout sessions for one-time payments that the buyer can complete using Getpaid hosted checkout.

OpenAPI Specification

getpaid-checkouts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Getpaid Accounts Checkouts API
  version: v2
  contact:
    email: support@getpaid.io
  description: '# Getting started


    Our APIs provide programmatic access to the Getpaid solution. This page contains a comprehensive reference for all

    resources of the Getpaid public API. For walkthrough documentation please see [Getpaid guides](/) for step by step usage

    of the Getpaid platform including the API and [Getpaid API integration](/integration/api) for the technical aspects of

    this Getpaid API.


    To get started, book a demo and sign up at <https://getpaid.io>. This will give you access to the [Getpaid

    dashboard](https://dashboard.getpaid.io) where you can configure your account and retrieve your credentials needed to

    authenticate with Getpaid API.


    ## Postman


    Getpaid provides a Postman collection to test the API features in sandbox. You can [download the Postman collection and

    the environments](/integration/api/postman) to start testing the Getpaid API.


    ## Fields formats


    | Type | Format |

    | :- | :- |

    | `amount-minor` | Amount in the minor currency unit (e.g. 100 cents for 1 EUR). |

    | `country` | The country code fields follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) in uppercase. Examples: `DE`, `US`. |

    | `currency` | The currency code fields follow the [ISO 4217 standard](https://en.wikipedia.org/wiki/ISO_4217) in uppercase. Examples: `EUR`, `USD`. |

    | `date` | Dates are formatted using the complete date format according to the [ISO 8601 standard](https://www.w3.org/TR/NOTE-datetime): `YYYY-MM-DD`. Example: `2023-09-30`.                                        |

    | `date-time` | Date-time fields are formatted using the [ISO 8601 standard](https://www.w3.org/TR/NOTE-datetime) for the combined date and time in UTC with 3 seconds fractional digits: `YYYY-MM-DDThh:mm:ss.SSSZ`. Example: `2015-09-01T23:59:59.479Z`. |

    | `date-time-offset` | Date-time fields with time-zone are formatted [ISO 8601 standard](https://www.w3.org/TR/NOTE-datetime) for the combined date and time with the time-zone and no second fractional digits: `YYYY-MM-DDThh:mm:ssTZD`. Example: `2015-09-01T23:59:59+01:00`. |

    | `email` | Email fields should follow the [RFC 5322](https://tools.ietf.org/html/rfc5322) standard. Example: `jon.smith@acme.com` |

    | `hex-color` | Colors are represented as a string starting with `#` followed by six hexadecimal digits. Each pair of digits represents the intensity of red, green, and blue components respectively. Examples: `#FFFFFF`, `#000000`, `#FF5733`. |

    | `id` | Identifiers are formatted as a string of 3 alphabetic characters (which represents the type of the identified object), one underscore and 26 alphanumeric characters. Every identifier generated in our system is globally unique. Examples: `acc_44678r08jtm8zbt227tzhc4nw5`, `doc_473cr1y0ghbyc3m1yfbwvn3nxx`. |

    | `ip-address` | IP fields are formatted using the [Internet Protocol version 4 (IPv4)](https://en.wikipedia.org/wiki/Internet_Protocol_version_4) standard: `x.x.x.x` where `x` must be a decimal value between `0` and `255`. Example: `192.158.1.38`. |

    | `version` | A resource version. For resources that can evolved over time, a unique reference of the snapshot used in other resource. For example, the account information used for a payment, the information used for the statement descriptor or the processing configuration are tighted to the version of the account. |

    '
servers:
- url: https://api.getpaid.io
  description: Live
- url: https://api.sandbox.getpaid.io
  description: Sandbox
tags:
- name: Checkouts
  description: Payment checkout sessions for one-time payments that the buyer can complete using Getpaid hosted checkout.
paths:
  /v2/checkouts:
    post:
      tags:
      - Checkouts
      summary: Create a checkout
      description: "Create a payment checkout session.\n\nRelated webhooks:\n\n- [`checkout_completed`](#tag/Accept-payments-webhooks/operation/checkout_completed): sent when the checkout process is completed with a successful payment.\n- [`checkout_failed`](#tag/Accept-payments-webhooks/operation/checkout_failed): sent when the checkout lifetime is reached without a successful payment attempt, and at least one payment was attempted but none were successful.\n- [`checkout_in_progress`](#tag/Accept-payments-webhooks/operation/checkout_in_progress): sent when the checkout lifetime reaches its expiration, but a payment attempt is still in progress.\n- [`checkout_unattempted`](#tag/Accept-payments-webhooks/operation/checkout_unattempted): sent when the checkout lifetime is reached without a payment.\n- For each payment attempt:\n  - [`payment_captured`](#tag/Accept-payments-webhooks/operation/payment_captured): sent when the payment funds are captured and secured.\n  - [`payment_failed`](#tag/Accept-payments-webhooks/operation/payment_failed): sent when a payment fails due to business (decline) or technical issues.\n"
      operationId: create_checkout
      security:
      - OAuth:
        - payments:read_write
      parameters:
      - $ref: '#/components/parameters/GetpaidIdempotencyKey'
        required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCheckoutRequest'
            examples:
              CreateCheckout:
                $ref: '#/components/examples/CreateCheckout'
              CreateInitialRecurringCheckout:
                $ref: '#/components/examples/CreateInitialRecurringCheckout'
              CreateCheckoutExplicitMethods:
                $ref: '#/components/examples/CreateCheckoutExplicitMethods'
              CreateCheckoutBuyerDetails:
                $ref: '#/components/examples/CreateCheckoutBuyerDetails'
              CreateCheckoutCanada:
                $ref: '#/components/examples/CreateCheckoutCanada'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Getpaid-Trace-Id:
              $ref: '#/components/headers/GetpaidTraceId'
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCheckoutResponse'
              examples:
                CheckoutCreated:
                  $ref: '#/components/examples/CheckoutCreated'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '422':
          $ref: '#/components/responses/422InvalidParameters'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /v2/checkouts/{checkout_id}:
    get:
      tags:
      - Checkouts
      summary: Get a checkout
      description: Retrieve a payment checkout session.
      operationId: get_checkout
      security:
      - OAuth:
        - payments:read
      - OAuth:
        - payments:read_write
      parameters:
      - name: checkout_id
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/CheckoutId'
      responses:
        '200':
          description: OK
          headers:
            Getpaid-Trace-Id:
              $ref: '#/components/headers/GetpaidTraceId'
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCheckoutResponse'
              examples:
                CheckoutCompleted:
                  $ref: '#/components/examples/CheckoutCompleted'
                CheckoutInitiated:
                  $ref: '#/components/examples/CheckoutInitiated'
                CheckoutStarted:
                  $ref: '#/components/examples/CheckoutStarted'
                CheckoutInProgress:
                  $ref: '#/components/examples/CheckoutInProgress'
                CheckoutFailed:
                  $ref: '#/components/examples/CheckoutFailed'
                CheckoutExpired:
                  $ref: '#/components/examples/CheckoutExpired'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '404':
          $ref: '#/components/responses/404NotFound'
        '422':
          $ref: '#/components/responses/422InvalidParameters'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
  /v2/checkouts/query:
    post:
      tags:
      - Checkouts
      summary: Query checkouts
      description: 'Query checkouts filtering, and sorting and paginating results.


        See [Query resources](#tag/Queries/operation/query_resources) for more examples and details

        about other resources, pagination and everything related to operate the Getpaid solution.

        '
      operationId: query_checkouts
      security:
      - OAuth:
        - payments:read
      parameters:
      - $ref: '#/components/parameters/GetpaidIdempotencyKey'
        required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryCheckoutsRequest'
            examples:
              QueryPayments:
                $ref: '#/components/examples/QueryCheckouts'
        required: true
      responses:
        '200':
          description: OK
          headers:
            Getpaid-Trace-Id:
              $ref: '#/components/headers/GetpaidTraceId'
              required: true
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryCheckoutsResponse'
              examples:
                FilteredCheckouts:
                  $ref: '#/components/examples/FilteredCheckouts'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '422':
          $ref: '#/components/responses/422InvalidParameters'
        '429':
          $ref: '#/components/responses/429TooManyRequests'
        '500':
          $ref: '#/components/responses/500InternalServerError'
components:
  schemas:
    CheckoutInitiatedStarted:
      type: object
      required:
      - id
      - status
      - reference
      - created_at
      - updated_at
      - expires_at
      - is_expired
      - amount
      - currency
      - flow
      - origin
      - payment_methods
      - splits
      - payments
      - theme
      - events
      properties:
        id:
          $ref: '#/components/schemas/CheckoutId'
        status:
          $ref: '#/components/schemas/CheckoutStatus'
        reference:
          $ref: '#/components/schemas/Reference'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        expires_at:
          $ref: '#/components/schemas/CheckoutExpiresAt'
        is_expired:
          $ref: '#/components/schemas/CheckoutIsExpired'
        amount:
          $ref: '#/components/schemas/AmountMinor'
        currency:
          $ref: '#/components/schemas/Currency'
        description:
          $ref: '#/components/schemas/CheckoutDescription'
        flow:
          $ref: '#/components/schemas/CheckoutFlow'
        origin:
          $ref: '#/components/schemas/CheckoutOrigin'
        payment_methods:
          $ref: '#/components/schemas/CheckoutPaymentMethodsAvailable'
        splits:
          $ref: '#/components/schemas/SplitsCalculated'
        standing_instruction:
          $ref: '#/components/schemas/NewStandingInstruction'
        payments:
          $ref: '#/components/schemas/CheckoutPayments'
        theme:
          allOf:
          - description: The theme used for the checkout.
          - $ref: '#/components/schemas/ThemeRef'
    Reference:
      allOf:
      - $ref: '#/components/schemas/ShortString'
      - description: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
        example: ORD-202510-0232
    PaginationData:
      description: The list of queried elements.
      type: array
      items:
        type: object
    Version:
      description: A resource version.
      type: string
      format: version
      minLength: 1
      maxLength: 50
      example: '2'
    AccountId:
      allOf:
      - $ref: '#/components/schemas/Id'
      - description: The unique identifier of the account.
        example: acc_44678r08jtm8zbt227tzhc4nw5
    Percentage:
      type: number
      format: float
      minimum: 0
      maximum: 100
      multipleOf: 0.1
      example: 62.5
    CheckoutDefaultPaymentMethodsRequest:
      type: object
      required:
      - type
      properties:
        type:
          description: The available payment methods selection method.
          type: string
        options:
          $ref: '#/components/schemas/CheckoutPaymentMethodsOptions'
    PaymentMethodDetails:
      description: The payment method used.
      anyOf:
      - $ref: '#/components/schemas/CardPaymentMethodDetails'
      - $ref: '#/components/schemas/SddPaymentMethodDetails'
      discriminator:
        propertyName: type
        mapping:
          card: '#/components/schemas/CardPaymentMethodDetails'
          sepa_direct_debit: '#/components/schemas/SddPaymentMethodDetails'
    AmountMinor:
      type: integer
      format: amount-minor
      description: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
      example: 1000
    Country:
      type: string
      format: country
      minLength: 2
      maxLength: 2
      description: The two-letter [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      example: DE
    PaymentWebhooksRequest:
      description: Configuration for webhooks to receive payment status updates.
      type: object
      required:
      - url
      properties:
        url:
          allOf:
          - description: The URL to which webhook events will be sent.
            example: https://webhooks.titanauto.com/getpaid
          - $ref: '#/components/schemas/Url'
    SplitBaseAmount:
      type: object
      description: 'The amount in payment currency to be allocated to this account.


        The sum of all split amounts for all accounts must be exactly the total amount of the payment

        or use the `remaining` type for one of the accounts to allocate the remaining amount after all

        other splits have been calculated.

        '
      required:
      - type
      properties:
        type:
          type: string
          description: The type of split amount.
          enum:
          - fixed
          - percentage
          - remaining
    PaginatedResponse:
      type: object
      required:
      - data
      properties:
        cursor:
          $ref: '#/components/schemas/PaginationCursor'
        data:
          $ref: '#/components/schemas/PaginationData'
    BasePaymentMethodDetails:
      allOf:
      - $ref: '#/components/schemas/PaymentMethodBase'
      - required:
        - display_hint
        properties:
          display_hint:
            $ref: '#/components/schemas/PaymentMethodDisplayHint'
    ProcessingFeeCalculated:
      allOf:
      - $ref: '#/components/schemas/ProcessingFeeRequest'
      - required:
        - amount
        properties:
          amount:
            $ref: '#/components/schemas/ProcessingFeeAmount'
    SplitRemainingAmountRequest:
      allOf:
      - $ref: '#/components/schemas/SplitBaseAmount'
    SplitPercentageAmountRequest:
      allOf:
      - $ref: '#/components/schemas/SplitBaseAmount'
      - type: object
        required:
        - percentage
        properties:
          percentage:
            allOf:
            - $ref: '#/components/schemas/Percentage'
            - description: The percentage of the total amount to allocate to this account.
    PaginationCursor:
      description: The cursor to the last item. If non-empty, can be used to fetch the next page. If not set, there is no more elements.
      type: string
      maxLength: 250
      example: Q3VyaW9zaXR5IEtpbGxlZCB0aGUgQ2F0Cg==
    AccountVersion:
      allOf:
      - description: The account version.
      - $ref: '#/components/schemas/Version'
    NewStandingInstruction:
      allOf:
      - description: Details for a new standing instruction for recurring payments.
      - $ref: '#/components/schemas/BaseStandingInstruction'
    CheckoutPayments:
      description: The payments initiated as part of this checkout.
      type: array
      uniqueItems: true
      items:
        description: A payment initiated as part of this checkout.
        type: object
        required:
        - index
        - id
        - status
        - created_at
        - updated_at
        - method
        properties:
          index:
            $ref: '#/components/schemas/Index'
          id:
            $ref: '#/components/schemas/PaymentId'
          status:
            $ref: '#/components/schemas/PaymentStatusPhase'
          created_at:
            $ref: '#/components/schemas/CreatedAt'
          updated_at:
            $ref: '#/components/schemas/UpdatedAt'
          method:
            $ref: '#/components/schemas/PaymentMethodDetails'
    ProcessingFeeAmount:
      allOf:
      - description: The processing fee amount covered by this account in the minor currency unit (e.g. 100 cents for 1 EUR).
      - $ref: '#/components/schemas/AmountMinor'
    SddPaymentMethodDetails:
      allOf:
      - $ref: '#/components/schemas/BasePaymentMethodDetails'
      - required:
        - bank_account
        properties:
          bank_account:
            description: The bank account details.
            type: object
            required:
            - type
            - number
            properties:
              type:
                description: The type of bank account.
                type: string
                enum:
                - business
                - consumer
              number:
                description: The bank account number details.
                type: object
                required:
                - type
                - value
                properties:
                  type:
                    description: The type of bank account number.
                    type: string
                    enum:
                    - iban
                  value:
                    description: The bank account number value.
                    type: string
                    minLength: 15
                    maxLength: 33
                    example: DE85100100100006992334
    CheckoutPaymentMethodsRequest:
      description: 'Configure payment methods for the checkout.


        - `explicit`: use `available` to provide the methods to display.

        - `default`: all available payment methods are selected automatically.

        '
      anyOf:
      - $ref: '#/components/schemas/CheckoutExplicitPaymentMethodsRequest'
      - $ref: '#/components/schemas/CheckoutDefaultPaymentMethodsRequest'
      discriminator:
        propertyName: type
        mapping:
          explicit: '#/components/schemas/CheckoutExplicitPaymentMethodsRequest'
          default: '#/components/schemas/CheckoutDefaultPaymentMethodsRequest'
    PaymentMethodDescriptor:
      description: A payment method.
      oneOf:
      - $ref: '#/components/schemas/PaymentMethodBase'
      - $ref: '#/components/schemas/CardPaymentMethodDescriptor'
      discriminator:
        propertyName: type
        mapping:
          card: '#/components/schemas/CardPaymentMethodDescriptor'
          sepa_direct_debit: '#/components/schemas/PaymentMethodBase'
    SplitsCalculated:
      description: 'The list of payment splits for the accounts involved in the funds flow.


        The final split gross amounts have been calculated but processing fees are not included until the payment is captured.

        '
      type: object
      required:
      - type
      - accounts
      properties:
        type:
          $ref: '#/components/schemas/SplitsType'
        accounts:
          description: The list of accounts involved in the payment that will receive the funds.
          type: array
          minItems: 1
          uniqueItems: true
          items:
            description: A payment split account.
            type: object
            required:
            - type
            - id
            - version
            - legal_name
            - split
            - processing_fee
            properties:
              type:
                $ref: '#/components/schemas/SplitsAccountType'
              id:
                $ref: '#/components/schemas/AccountId'
              version:
                $ref: '#/components/schemas/AccountVersion'
              legal_name:
                $ref: '#/components/schemas/AccountLegalName'
              split:
                description: The amount in the payment currency to be allocated to this account.
                oneOf:
                - $ref: '#/components/schemas/SplitFixedAmount'
                - $ref: '#/components/schemas/SplitPercentageAmountCalculated'
                - $ref: '#/components/schemas/SplitRemainingAmountCalculated'
                discriminator:
                  propertyName: type
                  mapping:
                    fixed: '#/components/schemas/SplitFixedAmount'
                    percentage: '#/components/schemas/SplitPercentageAmountCalculated'
                    remaining: '#/components/schemas/SplitRemainingAmountCalculated'
              processing_fee:
                $ref: '#/components/schemas/ProcessingFeeRequest'
    CheckoutId:
      allOf:
      - $ref: '#/components/schemas/Id'
      - description: The unique identifier of the checkout.
        example: cko_4kf9v6xp00hzc99rdwr5m97wce
    BaseSortsRequest:
      description: Fields to sort the data by. If not set, the data will be sorted by the creation date descending.
      type: array
      minItems: 1
      uniqueItems: true
      items:
        description: Each field to sort by.
        type: object
        required:
        - field
        - direction
        properties:
          field:
            description: The field to sort by. Each field available can only be used once in the list.
            type: string
          direction:
            description: The sort direction
            type: string
            enum:
            - ascending
            - descending
    CheckoutCompleted:
      type: object
      required:
      - id
      - status
      - reference
      - created_at
      - updated_at
      - expires_at
      - is_expired
      - amount
      - currency
      - origin
      - payment_methods
      - splits
      - payments
      - theme
      - events
      properties:
        id:
          $ref: '#/components/schemas/CheckoutId'
        status:
          $ref: '#/components/schemas/CheckoutStatus'
        reference:
          $ref: '#/components/schemas/Reference'
        created_at:
          $ref: '#/components/schemas/CreatedAt'
        updated_at:
          $ref: '#/components/schemas/UpdatedAt'
        expires_at:
          $ref: '#/components/schemas/CheckoutExpiresAt'
        is_expired:
          $ref: '#/components/schemas/CheckoutIsExpired'
        amount:
          $ref: '#/components/schemas/AmountMinor'
        currency:
          $ref: '#/components/schemas/Currency'
        description:
          $ref: '#/components/schemas/CheckoutDescription'
        origin:
          $ref: '#/components/schemas/CheckoutOrigin'
        payment_methods:
          $ref: '#/components/schemas/CheckoutPaymentMethodsWithSelected'
        splits:
          $ref: '#/components/schemas/SplitsAndFeesCalculated'
        standing_instruction:
          $ref: '#/components/schemas/ActiveStandingInstruction'
        payments:
          $ref: '#/components/schemas/CheckoutPayments'
        theme:
          allOf:
          - description: The theme used for the checkout.
          - $ref: '#/components/schemas/ThemeRef'
    CardDynamicDescriptor:
      description: 'The card dynamic descriptor.


        It will be prefixed with `GPD*` when displayed on the buyer statement. You don''t need to include the `GPD*` prefix in the value sent.

        '
      type: string
      pattern: ^[a-zA-Z0-9 *\._-]{1,18}$
      minLength: 1
      maxLength: 18
      example: TITAN*202510-0232
    CheckoutExplicitPaymentMethodsRequest:
      type: object
      required:
      - type
      - available
      properties:
        type:
          description: The available payment methods selection method.
          type: string
        available:
          description: The list of payment methods to display in the checkout overriding the default methods.
          type: array
          minItems: 1
          uniqueItems: true
          items:
            $ref: '#/components/schemas/PaymentMethodDescriptor'
        options:
          $ref: '#/components/schemas/CheckoutPaymentMethodsOptions'
    CheckoutBuyerAddress:
      allOf:
      - description: 'The buyer''s address.


          **Required if the country of the seller account is Canada (CA).**

          '
        properties:
          line1:
            type: string
          line2:
            type: string
          street_number:
            type: string
          city:
            type: string
          region:
            type: string
          postal_code:
            type: string
          country:
            allOf:
            - description: 'The country of the buyer''s address in the form of a two-letter [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).


                **Required if the country of the seller account is Canada (CA).**

                '
            - $ref: '#/components/schemas/Country'
      - $ref: '#/components/schemas/AddressOptionalFields'
    PaymentStatusPhase:
      description: 'The phase of the payment, based on its status.


        - `in_progress`: The payment is being processed.

        - `completed`: The payment attempt completed successfully.

        - `failed`: The payment attempt was unsuccessful.

        '
      type: string
      enum:
      - in_progress
      - completed
      - failed
    QueryPaymentMethodHint:
      description: The payment method used in a checkout.
      type: object
      required:
      - type
      properties:
        type:
          description: The type of payment method.
          type: string
          enum:
          - card
          - sepa_direct_debit
        scheme:
          description: The scheme of the payment method (e.g., visa, mastercard).
          type: string
    CheckoutOriginApi:
      allOf:
      - $ref: '#/components/schemas/CheckoutOriginBase'
    SplitsRequest:
      description: 'The list of payment splits for the accounts involved in the funds flow.


        See [how splits work](/monetize/splits) for more information.

        '
      type: object
      required:
      - type
      - accounts
      properties:
        type:
          $ref: '#/components/schemas/SplitsType'
        accounts:
          description: The list of accounts involved in the payment that will receive the funds.
          type: array
          minItems: 1
          uniqueItems: true
          items:
            description: A payment split account.
            type: object
            required:
            - type
            - id
            - split
            properties:
              type:
                $ref: '#/components/schemas/SplitsAccountType'
              id:
                $ref: '#/components/schemas/AccountId'
              split:
                description: The amount in the payment currency to be allocated to this account.
                oneOf:
                - $ref: '#/components/schemas/SplitFixedAmount'
                - $ref: '#/components/schemas/SplitPercentageAmountRequest'
                - $ref: '#/components/schemas/SplitRemainingAmountRequest'
                discriminator:
                  propertyName: type
                  mapping:
                    fixed: '#/components/schemas/SplitFixedAmount'
                    percentage: '#/components/schemas/SplitPercentageAmountRequest'
                    remaining: '#/components/schemas/SplitRemainingAmountRequest'
              processing_fee:
                $ref: '#/components/schemas/ProcessingFeeRequest'
    Currency:
      type: string
      format: currency
      minLength: 3
      maxLength: 3
      description: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
      example: EUR
    StandingInstructionStatus:
      description: 'The status of the standing instruction.


        - `new`: requested to creation as part of an initial payment.

        - `active`: standing instruction is active and can be used for subsequent payments.

        '
      type: string
      enum:
      - new
      - active
    ThemeRef:
      type: object
      required:
      - id
      - name
      properties:
        id:
          $ref: '#/components/schemas/ThemeId'
        name:
          allOf:
          - $ref: '#/components/schemas/MediumString'
          - description: The name of the theme.
    PaymentMethodType:
      description: The type of payment method.
      type: string
      enum:
      - card
      - sepa_direct_debit
    CheckoutBuyerRequest:
      description: 'Buyer details to pre-fill during checkout.


        **Required if the country of the seller account is Canada (CA).**

        '
      type: object
      properties:
        first_name:
          allOf:
          - $ref: '#/components/schemas/ShortString'
          - description: The buyer's first name.
            example: Jane
        last_name:
          allOf:
          - $ref: '#/components/schemas/ShortString'
          - description: The buyer's last name.
            example: Doe
        email:
          allOf:
          - description: 'The buyer''s email address.


              **Required if the country of the seller account is Canada (CA).**

              '
          - $ref: '#/components/schemas/Email'
        address:
          $ref: '#/components/schemas/CheckoutBuyerAddress'
        nationality:
          allOf:
          - description: The buyer's nationality in the form of a two-letter [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
            example: DE
          - $ref: '#/components/schemas/Country'
        business:
          description: The buyer's business details.
          properties:
            legal_name:
              allOf:
              - $ref: '#/components/schemas/MediumString'
              - description: The legal name of the business.
                example: Motorbikes Düsseldorf GmbH
    SplitPercentageAmountCalculated:
      allOf:
      - $ref: '#/components/schemas/SplitPercentageAmountRequest'
      - required:
        - amount
        properties:
          amount:
            $ref: '#/components/schemas/SplitAmountMinor'
    DateTime:
      description: 'UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)).

        Always includes the ''Z'' UTC indicator.

        '
      type: string
      format: date-time
      minLength: 24
      maxLength: 24
      example: '2025-09-01T22:05:48.479Z'
    CardPaymentMethodDescriptor:
      allOf:
      - $ref: '#/components/schemas/PaymentMethodBase'
      - required:
        - scheme
        properties:
          scheme:
            $ref: '#/components/schemas/CardScheme'
    Email:
      description: An email address.
      type: string
      format: email
      maxLength: 320
      example: jane.doe@company.com
    SplitRemainingAmountCalculated:
      allOf:
      - $ref: '#/components/schemas/SplitRemainingAmountRequest'
      - required:
        - amount
        properties:
          amount:
            $ref: '#/components/schemas/SplitAmountMinor'
    BaseQueryRequest:
      type: object
      properties:
        type:
          description: 'The type of the Getpaid solution resources to query.


            Some query endpoints infer the resource type from the request path. In those cases, if this field is set, it

            must match the resource targeted by the request URL.

            '
          type: string
        first:
          allOf:
          - $ref: '#/components/schemas/PaginationFirst'
      

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