---
title: "Get a checkout"
method: GET
path: "/v2/checkouts/{checkout_id}"
tags: ["Checkouts"]
---

# Get a checkout

`GET /v2/checkouts/{checkout_id}`

## Request

- Base URL: `https://api.getpaid.io`
- URL: `https://api.getpaid.io/v2/checkouts/{checkout_id}`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://auth.getpaid.io/oauth/token` scopes: `payments:read`
  - OAuth 2
    - Client credentials
    - Token URL: `https://auth.getpaid.io/oauth/token` scopes: `payments:read_write`
- TypeScript: <https://skmtc.dev/getpaid/apis/getpaid-api/docs/v2/checkouts/:checkout_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve a payment checkout session.

## Path parameters

- `checkout_id` string, id, required: The unique identifier of the checkout.

## Response `200`

OK

- union
  - CheckoutInitiatedStarted
    - `id` string, id, required: The unique identifier of the checkout.
    - `status` 'initiated' | 'started' | 'in_progress' | 'completed' | 'failed' | 'unattempted', required: The status of the checkout. See the [list, transitions, and description of each status](/payments/checkouts#lifecycle) for more details.
    - `reference` string, required: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
    - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `expires_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `is_expired` boolean, required: Indicates whether the checkout has expired. A checkout is considered expired when the current time has passed the `expires_at` timestamp.
    - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `currency` string, currency, required: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
    - `description` string: A description of the checkout session. This will be visible to the buyer in the payment page but not in the bank or card statement.
    - `flow` CheckoutFlow, required: The flow required for the checkout to complete.
      - `next_step` object, required: The next step required to complete the flow.
        - `type` 'redirect', required: The type of the next step.
        - `url` string, uri, required: The URL to redirect the buyer to complete the payment.
    - `payment_methods` CheckoutPaymentMethodsAvailable, required: The payment methods of this checkout.
      - `type` 'default' | 'explicit', required: The available payment methods selection method.
      - `available` PaymentMethodDescriptor[], required: The list of payment methods available for this checkout.
        - union: A payment method.
          - PaymentMethodBase
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - CardPaymentMethodDescriptor
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
            - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `options` CheckoutPaymentMethodsOptions: Configuration options for the payment methods available in the checkout.
        - `cards` CheckoutCardPaymentMethodOptions: Configuration options for card payment methods in the checkout.
          - `dynamic_descriptor` string, required: 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.
        - `sepa_direct_debit` CheckoutSepaDirectDebitPaymentMethodOptions: Configuration options for SEPA Direct Debit payment methods in the checkout.
          - `remittance_info` string, required: The SEPA Direct Debit remittance information shown on the buyer statement.
    - `splits` SplitsCalculated, required: 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` 'per_transaction', required: The type of payment split.
      - `accounts` object[], required: The list of accounts involved in the payment that will receive the funds.
        - `type` 'platform' | 'seller' | 'other', required: The type of account. Exactly one of type `seller` is required and allowed per payment.
        - `id` string, id, required: The unique identifier of the account.
        - `version` string, version, required: A resource version.
        - `legal_name` string, required: The legal name of the account.
        - `split` union, required: The amount in the payment currency to be allocated to this account.
          - SplitFixedAmount: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitPercentageAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `percentage` number, float, required: The percentage of the total amount to allocate to this account.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitRemainingAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
        - `processing_fee` ProcessingFeeRequest, required: The processing fee covered by this account. If not specified, the account will not cover any processing fee, except when the payment has exactly one seller account and that seller is the authenticated platform account. In that platform-as-seller case, the API defaults the missing processing fee to 100%. The sum of all processing fees covered by all accounts must be exactly 100%.
          - `percentage` number, float, required: The percentage of the total processing fee that this account will cover.
    - `standing_instruction` NewStandingInstruction: Details for a new standing instruction for recurring payments.
      - `status` 'new' | 'active', required: 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.
      - `terms` StandingInstructionTerms, required: Terms for standing instructions of recurring payments.
        - `type` 'recurring' | 'unscheduled', required: Type of standing instruction. - `recurring`: periodic charges at a fixed frequency. - `unscheduled`: payments with no fixed schedule or frequency.
    - `payments` object[], required: The payments initiated as part of this checkout.
      - `index` integer, required: The index of the element in the list.
      - `id` string, id, required: The unique identifier of the payment.
      - `status` 'in_progress' | 'succeeded' | 'failed', required: The phase of the payment, based on its status. - `in_progress`: The payment is being processed. - `succeeded`: The payment attempt completed successfully. - `failed`: The payment attempt was unsuccessful.
      - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `method` object, required: The payment method used for this checkout payment.
        - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - `scheme` 'visa' | 'mastercard': The card scheme.
        - `display_hint` string, required: A masked card number for card payments, or an empty string for other payment methods.
    - `theme` object, required: The theme used for the checkout.
      - `id` string, id, required: The unique identifier of the theme.
      - `name` string, required: The name of the theme.
  - CheckoutInProgress
    - `id` string, id, required: The unique identifier of the checkout.
    - `status` 'initiated' | 'started' | 'in_progress' | 'completed' | 'failed' | 'unattempted', required: The status of the checkout. See the [list, transitions, and description of each status](/payments/checkouts#lifecycle) for more details.
    - `reference` string, required: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
    - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `expires_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `is_expired` boolean, required: Indicates whether the checkout has expired. A checkout is considered expired when the current time has passed the `expires_at` timestamp.
    - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `currency` string, currency, required: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
    - `description` string: A description of the checkout session. This will be visible to the buyer in the payment page but not in the bank or card statement.
    - `flow` CheckoutFlow, required: The flow required for the checkout to complete.
      - `next_step` object, required: The next step required to complete the flow.
        - `type` 'redirect', required: The type of the next step.
        - `url` string, uri, required: The URL to redirect the buyer to complete the payment.
    - `payment_methods` CheckoutPaymentMethodsWithSelected, required: The payment methods of this checkout.
      - `type` 'default' | 'explicit', required: The available payment methods selection method.
      - `selected` union, required: A payment method.
        - PaymentMethodBase
          - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - CardPaymentMethodDescriptor
          - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `available` PaymentMethodDescriptor[], required: The list of payment methods available for this checkout.
        - union: A payment method.
          - PaymentMethodBase
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - CardPaymentMethodDescriptor
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
            - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `options` CheckoutPaymentMethodsOptions: Configuration options for the payment methods available in the checkout.
        - `cards` CheckoutCardPaymentMethodOptions: Configuration options for card payment methods in the checkout.
          - `dynamic_descriptor` string, required: 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.
        - `sepa_direct_debit` CheckoutSepaDirectDebitPaymentMethodOptions: Configuration options for SEPA Direct Debit payment methods in the checkout.
          - `remittance_info` string, required: The SEPA Direct Debit remittance information shown on the buyer statement.
    - `splits` SplitsCalculated, required: 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` 'per_transaction', required: The type of payment split.
      - `accounts` object[], required: The list of accounts involved in the payment that will receive the funds.
        - `type` 'platform' | 'seller' | 'other', required: The type of account. Exactly one of type `seller` is required and allowed per payment.
        - `id` string, id, required: The unique identifier of the account.
        - `version` string, version, required: A resource version.
        - `legal_name` string, required: The legal name of the account.
        - `split` union, required: The amount in the payment currency to be allocated to this account.
          - SplitFixedAmount: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitPercentageAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `percentage` number, float, required: The percentage of the total amount to allocate to this account.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitRemainingAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
        - `processing_fee` ProcessingFeeRequest, required: The processing fee covered by this account. If not specified, the account will not cover any processing fee, except when the payment has exactly one seller account and that seller is the authenticated platform account. In that platform-as-seller case, the API defaults the missing processing fee to 100%. The sum of all processing fees covered by all accounts must be exactly 100%.
          - `percentage` number, float, required: The percentage of the total processing fee that this account will cover.
    - `standing_instruction` NewStandingInstruction: Details for a new standing instruction for recurring payments.
      - `status` 'new' | 'active', required: 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.
      - `terms` StandingInstructionTerms, required: Terms for standing instructions of recurring payments.
        - `type` 'recurring' | 'unscheduled', required: Type of standing instruction. - `recurring`: periodic charges at a fixed frequency. - `unscheduled`: payments with no fixed schedule or frequency.
    - `payments` object[], required: The payments initiated as part of this checkout.
      - `index` integer, required: The index of the element in the list.
      - `id` string, id, required: The unique identifier of the payment.
      - `status` 'in_progress' | 'succeeded' | 'failed', required: The phase of the payment, based on its status. - `in_progress`: The payment is being processed. - `succeeded`: The payment attempt completed successfully. - `failed`: The payment attempt was unsuccessful.
      - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `method` object, required: The payment method used for this checkout payment.
        - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - `scheme` 'visa' | 'mastercard': The card scheme.
        - `display_hint` string, required: A masked card number for card payments, or an empty string for other payment methods.
    - `theme` object, required: The theme used for the checkout.
      - `id` string, id, required: The unique identifier of the theme.
      - `name` string, required: The name of the theme.
  - CheckoutCompleted
    - `id` string, id, required: The unique identifier of the checkout.
    - `status` 'initiated' | 'started' | 'in_progress' | 'completed' | 'failed' | 'unattempted', required: The status of the checkout. See the [list, transitions, and description of each status](/payments/checkouts#lifecycle) for more details.
    - `reference` string, required: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
    - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `expires_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `is_expired` boolean, required: Indicates whether the checkout has expired. A checkout is considered expired when the current time has passed the `expires_at` timestamp.
    - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `currency` string, currency, required: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
    - `description` string: A description of the checkout session. This will be visible to the buyer in the payment page but not in the bank or card statement.
    - `payment_methods` CheckoutPaymentMethodsWithSelected, required: The payment methods of this checkout.
      - `type` 'default' | 'explicit', required: The available payment methods selection method.
      - `selected` union, required: A payment method.
        - PaymentMethodBase
          - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - CardPaymentMethodDescriptor
          - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `available` PaymentMethodDescriptor[], required: The list of payment methods available for this checkout.
        - union: A payment method.
          - PaymentMethodBase
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - CardPaymentMethodDescriptor
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
            - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `options` CheckoutPaymentMethodsOptions: Configuration options for the payment methods available in the checkout.
        - `cards` CheckoutCardPaymentMethodOptions: Configuration options for card payment methods in the checkout.
          - `dynamic_descriptor` string, required: 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.
        - `sepa_direct_debit` CheckoutSepaDirectDebitPaymentMethodOptions: Configuration options for SEPA Direct Debit payment methods in the checkout.
          - `remittance_info` string, required: The SEPA Direct Debit remittance information shown on the buyer statement.
    - `splits` SplitsAndFeesCalculated, required: The list of payment splits for the accounts involved in the funds flow. The final split amounts and processing fees have been calculated.
      - `type` 'per_transaction', required: The type of payment split.
      - `accounts` object[], required: The list of accounts involved in the payment that will receive the funds.
        - `type` 'platform' | 'seller' | 'other', required: The type of account. Exactly one of type `seller` is required and allowed per payment.
        - `id` string, id, required: The unique identifier of the account.
        - `version` string, version, required: A resource version.
        - `legal_name` string, required: The legal name of the account.
        - `split` union, required: The amount in the payment currency to be allocated to this account.
          - SplitFixedAmount: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitPercentageAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `percentage` number, float, required: The percentage of the total amount to allocate to this account.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitRemainingAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
        - `processing_fee` ProcessingFeeCalculated, required: The processing fee covered by this account. If not specified, the account will not cover any processing fee, except when the payment has exactly one seller account and that seller is the authenticated platform account. In that platform-as-seller case, the API defaults the missing processing fee to 100%. The sum of all processing fees covered by all accounts must be exactly 100%.
          - `percentage` number, float, required: The percentage of the total processing fee that this account will cover.
          - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `standing_instruction` ActiveStandingInstruction: An active standing instruction for recurring payments.
      - `id` string, id, required: The unique identifier of the standing instruction.
      - `status` 'new' | 'active', required: 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.
      - `terms` StandingInstructionTerms, required: Terms for standing instructions of recurring payments.
        - `type` 'recurring' | 'unscheduled', required: Type of standing instruction. - `recurring`: periodic charges at a fixed frequency. - `unscheduled`: payments with no fixed schedule or frequency.
    - `payments` object[], required: The payments initiated as part of this checkout.
      - `index` integer, required: The index of the element in the list.
      - `id` string, id, required: The unique identifier of the payment.
      - `status` 'in_progress' | 'succeeded' | 'failed', required: The phase of the payment, based on its status. - `in_progress`: The payment is being processed. - `succeeded`: The payment attempt completed successfully. - `failed`: The payment attempt was unsuccessful.
      - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `method` object, required: The payment method used for this checkout payment.
        - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - `scheme` 'visa' | 'mastercard': The card scheme.
        - `display_hint` string, required: A masked card number for card payments, or an empty string for other payment methods.
    - `theme` object, required: The theme used for the checkout.
      - `id` string, id, required: The unique identifier of the theme.
      - `name` string, required: The name of the theme.
  - CheckoutFailed
    - `id` string, id, required: The unique identifier of the checkout.
    - `status` 'initiated' | 'started' | 'in_progress' | 'completed' | 'failed' | 'unattempted', required: The status of the checkout. See the [list, transitions, and description of each status](/payments/checkouts#lifecycle) for more details.
    - `reference` string, required: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
    - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `expires_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `is_expired` boolean, required: Indicates whether the checkout has expired. A checkout is considered expired when the current time has passed the `expires_at` timestamp.
    - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `currency` string, currency, required: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
    - `description` string: A description of the checkout session. This will be visible to the buyer in the payment page but not in the bank or card statement.
    - `payment_methods` CheckoutPaymentMethodsAvailable, required: The payment methods of this checkout.
      - `type` 'default' | 'explicit', required: The available payment methods selection method.
      - `available` PaymentMethodDescriptor[], required: The list of payment methods available for this checkout.
        - union: A payment method.
          - PaymentMethodBase
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - CardPaymentMethodDescriptor
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
            - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `options` CheckoutPaymentMethodsOptions: Configuration options for the payment methods available in the checkout.
        - `cards` CheckoutCardPaymentMethodOptions: Configuration options for card payment methods in the checkout.
          - `dynamic_descriptor` string, required: 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.
        - `sepa_direct_debit` CheckoutSepaDirectDebitPaymentMethodOptions: Configuration options for SEPA Direct Debit payment methods in the checkout.
          - `remittance_info` string, required: The SEPA Direct Debit remittance information shown on the buyer statement.
    - `splits` SplitsCalculated, required: 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` 'per_transaction', required: The type of payment split.
      - `accounts` object[], required: The list of accounts involved in the payment that will receive the funds.
        - `type` 'platform' | 'seller' | 'other', required: The type of account. Exactly one of type `seller` is required and allowed per payment.
        - `id` string, id, required: The unique identifier of the account.
        - `version` string, version, required: A resource version.
        - `legal_name` string, required: The legal name of the account.
        - `split` union, required: The amount in the payment currency to be allocated to this account.
          - SplitFixedAmount: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitPercentageAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `percentage` number, float, required: The percentage of the total amount to allocate to this account.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitRemainingAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
        - `processing_fee` ProcessingFeeRequest, required: The processing fee covered by this account. If not specified, the account will not cover any processing fee, except when the payment has exactly one seller account and that seller is the authenticated platform account. In that platform-as-seller case, the API defaults the missing processing fee to 100%. The sum of all processing fees covered by all accounts must be exactly 100%.
          - `percentage` number, float, required: The percentage of the total processing fee that this account will cover.
    - `standing_instruction` NewStandingInstruction: Details for a new standing instruction for recurring payments.
      - `status` 'new' | 'active', required: 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.
      - `terms` StandingInstructionTerms, required: Terms for standing instructions of recurring payments.
        - `type` 'recurring' | 'unscheduled', required: Type of standing instruction. - `recurring`: periodic charges at a fixed frequency. - `unscheduled`: payments with no fixed schedule or frequency.
    - `payments` object[], required: The payments initiated as part of this checkout.
      - `index` integer, required: The index of the element in the list.
      - `id` string, id, required: The unique identifier of the payment.
      - `status` 'in_progress' | 'succeeded' | 'failed', required: The phase of the payment, based on its status. - `in_progress`: The payment is being processed. - `succeeded`: The payment attempt completed successfully. - `failed`: The payment attempt was unsuccessful.
      - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `method` object, required: The payment method used for this checkout payment.
        - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - `scheme` 'visa' | 'mastercard': The card scheme.
        - `display_hint` string, required: A masked card number for card payments, or an empty string for other payment methods.
    - `theme` object, required: The theme used for the checkout.
      - `id` string, id, required: The unique identifier of the theme.
      - `name` string, required: The name of the theme.
  - CheckoutUnattempted
    - `id` string, id, required: The unique identifier of the checkout.
    - `status` 'initiated' | 'started' | 'in_progress' | 'completed' | 'failed' | 'unattempted', required: The status of the checkout. See the [list, transitions, and description of each status](/payments/checkouts#lifecycle) for more details.
    - `reference` string, required: An identifier in your system. It is recommended to make it unique but the uniqueness is not enforced by the solution.
    - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `expires_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
    - `is_expired` boolean, required: Indicates whether the checkout has expired. A checkout is considered expired when the current time has passed the `expires_at` timestamp.
    - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
    - `currency` string, currency, required: The processing currency code according to the [ISO-4217 standard](https://en.wikipedia.org/wiki/ISO_4217)
    - `description` string: A description of the checkout session. This will be visible to the buyer in the payment page but not in the bank or card statement.
    - `payment_methods` CheckoutPaymentMethodsAvailable, required: The payment methods of this checkout.
      - `type` 'default' | 'explicit', required: The available payment methods selection method.
      - `available` PaymentMethodDescriptor[], required: The list of payment methods available for this checkout.
        - union: A payment method.
          - PaymentMethodBase
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
          - CardPaymentMethodDescriptor
            - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
            - `scheme` 'visa' | 'mastercard', required: The card scheme.
      - `options` CheckoutPaymentMethodsOptions: Configuration options for the payment methods available in the checkout.
        - `cards` CheckoutCardPaymentMethodOptions: Configuration options for card payment methods in the checkout.
          - `dynamic_descriptor` string, required: 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.
        - `sepa_direct_debit` CheckoutSepaDirectDebitPaymentMethodOptions: Configuration options for SEPA Direct Debit payment methods in the checkout.
          - `remittance_info` string, required: The SEPA Direct Debit remittance information shown on the buyer statement.
    - `splits` SplitsCalculated, required: 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` 'per_transaction', required: The type of payment split.
      - `accounts` object[], required: The list of accounts involved in the payment that will receive the funds.
        - `type` 'platform' | 'seller' | 'other', required: The type of account. Exactly one of type `seller` is required and allowed per payment.
        - `id` string, id, required: The unique identifier of the account.
        - `version` string, version, required: A resource version.
        - `legal_name` string, required: The legal name of the account.
        - `split` union, required: The amount in the payment currency to be allocated to this account.
          - SplitFixedAmount: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitPercentageAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `percentage` number, float, required: The percentage of the total amount to allocate to this account.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
          - SplitRemainingAmountCalculated: 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.
            - `type` 'fixed' | 'percentage' | 'remaining', required: The type of split amount.
            - `amount` integer, required: The payment amount in the minor currency unit (e.g. 100 cents for 1 EUR).
        - `processing_fee` ProcessingFeeRequest, required: The processing fee covered by this account. If not specified, the account will not cover any processing fee, except when the payment has exactly one seller account and that seller is the authenticated platform account. In that platform-as-seller case, the API defaults the missing processing fee to 100%. The sum of all processing fees covered by all accounts must be exactly 100%.
          - `percentage` number, float, required: The percentage of the total processing fee that this account will cover.
    - `standing_instruction` NewStandingInstruction: Details for a new standing instruction for recurring payments.
      - `status` 'new' | 'active', required: 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.
      - `terms` StandingInstructionTerms, required: Terms for standing instructions of recurring payments.
        - `type` 'recurring' | 'unscheduled', required: Type of standing instruction. - `recurring`: periodic charges at a fixed frequency. - `unscheduled`: payments with no fixed schedule or frequency.
    - `payments` object[], required: The payments initiated as part of this checkout.
      - `index` integer, required: The index of the element in the list.
      - `id` string, id, required: The unique identifier of the payment.
      - `status` 'in_progress' | 'succeeded' | 'failed', required: The phase of the payment, based on its status. - `in_progress`: The payment is being processed. - `succeeded`: The payment attempt completed successfully. - `failed`: The payment attempt was unsuccessful.
      - `created_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `updated_at` string, date-time, required: UTC timestamp in ISO 8601 format with milliseconds ([RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.html)). Always includes the 'Z' UTC indicator.
      - `method` object, required: The payment method used for this checkout payment.
        - `type` 'card' | 'sepa_direct_debit', required: The type of payment method.
        - `scheme` 'visa' | 'mastercard': The card scheme.
        - `display_hint` string, required: A masked card number for card payments, or an empty string for other payment methods.
    - `theme` object, required: The theme used for the checkout.
      - `id` string, id, required: The unique identifier of the theme.
      - `name` string, required: The name of the theme.

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Invalid Parameters
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/getpaid/apis/getpaid-api.md) - [All operations](https://skmtc.dev/getpaid/apis/getpaid-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpaid/apis/getpaid-api/revisions/458eae3d49ad?raw)
