---
title: "Obtener Checkout Session"
method: GET
path: "/{country_code}/checkout-sessions/{checkout_session_id}"
tags: ["Checkout Session"]
---

# Obtener Checkout Session

`GET /{country_code}/checkout-sessions/{checkout_session_id}`

## Request

- Base URL: `https://api.trytoku.com`
- URL: `https://api.trytoku.com/{country_code}/checkout-sessions/{checkout_session_id}`
- Auth: API key in header `x-api-key`

Devuelve la información de una Checkout Session: su estado, los datos de facturación, la configuración de medios de pago y la `url` de pago.

Se usa para consultar en qué quedó una sesión ya creada — por ejemplo, para saber si sigue `OPEN`, si expiró o si el cliente completó el pago.

Solo se puede consultar una Checkout Session de la organización autenticada.

## Path parameters

- `country_code` 'cl' | 'mx' | 'br', required
- `checkout_session_id` string, uuid, required: Identificador único de la Checkout Session.

## Headers

- `x-api-version` string, date: Versión del API para esta petición, como cualquier fecha `YYYY-MM-DD`. Fija el contrato de la respuesta; si se omite, se deriva de la fecha de creación de la organización.
- `x-source` string: Origen de la consulta, solo para trazabilidad: `merchant_api` o `payment_portal`. Si se omite o no se reconoce, la lectura se registra como `merchant_api`.

## Response `200`

Estado actual de la Checkout Session.

- PublicCheckoutSessionResponse: Sesión de pago que Toku aloja para que un cliente final pague una deuda o inscriba un medio de pago automático. La organización la crea desde la API y Toku responde con la dirección a la que hay que llevar al cliente final, sea redirigiéndolo o incrustando el portal de pago en su propio sitio. La sesión no exige un Customer identificado: quien tenga el enlace puede operar sobre ella.
  - `allow_partial_payment` boolean, nullable: Indica si el cliente final puede abonar solo una parte del total en lugar de pagarlo completo.
  - `available_payment_methods` AvailablePaymentMethod[]: Medios de pago vigentes del Customer que se pueden asociar al producto en una sesión de inscripción, sin volver a pedirle los datos. Se distinguen de las tarjetas guardadas, que se reutilizan para pagar. Solo de lectura. Toku los resuelve en cada lectura a partir de los medios de pago vigentes del Customer; no se envían al crear la sesión.
    - `brand` string, nullable: Marca de la tarjeta o red del medio de pago, por ejemplo `visa`.
    - `cardholder_name` string, nullable: Nombre del titular de la tarjeta o cuenta.
    - `id_payment_method` string, encrypted-id, required: Identificador del medio de pago.
    - `institution_name` string, nullable: Institución financiera del medio de pago, cuando corresponde.
    - `last_4_digits` string, nullable: Últimos 4 dígitos de la tarjeta o cuenta, para que el cliente la reconozca.
    - `type` string, nullable: Tipo de medio de pago, por ejemplo tarjeta o cuenta bancaria.
  - `available_saved_cards` AvailableSavedCard[]: Tarjetas que el Customer ya tiene guardadas y puede reutilizar para pagar. Solo de lectura. Toku las resuelve en cada lectura a partir de las tarjetas vigentes del Customer; no se envían al crear la sesión.
    - `bank_country` string, nullable: País del banco emisor, para resolver el recargo de tarjeta internacional.
    - `card_brand` string, nullable: Marca de la tarjeta, por ejemplo `visa` o `mastercard`.
    - `card_type` string, nullable: Tipo de tarjeta (`credit`, `debit`, `prepaid`), para resolver el recargo que corresponde cobrar.
    - `cardholder_name` string, nullable: Nombre del titular registrado en la tarjeta.
    - `last_4_digits` string, required: Últimos 4 dígitos de la tarjeta, para que el cliente la reconozca.
    - `payment_instrument_card_id` string, encrypted-id, required: Identificador de la tarjeta guardada.
  - `available_saved_clabes` AvailableSavedClabe[]: Cuentas CLABE que el Customer ya tiene guardadas y puede reutilizar para pagar. Solo de lectura. Toku las resuelve en cada lectura a partir de las cuentas vigentes del Customer; no se envían al crear la sesión.
    - `bank_account_type` string, nullable: Tipo de cuenta bancaria, por ejemplo `CUENTA_CLABE`.
    - `bank_id` string, nullable: Código de la institución financiera, por ejemplo `044`.
    - `bank_name` string, nullable: Nombre de la institución financiera de la cuenta.
    - `id_payment_instrument` string, encrypted-id, required: Identificador de la cuenta guardada.
    - `last_4_digits` string, required: Últimos 4 dígitos de la cuenta CLABE, para que el cliente la reconozca.
    - `last_used_at` string, nullable: Fecha y hora, en formato ISO 8601, en que la cuenta se usó por última vez.
    - `source` string, nullable: Producto de Toku con el que se guardó la cuenta.
    - `status` string, nullable: Estado de la cuenta guardada, que define si se puede cobrar con ella.
  - `billing_data` union, required: Información necesaria para cobrar una deuda o para inscribir un medio de pago: monto, moneda, deudas, Subscriptions, Customer y Account involucrados.
    - SaaSMultipleCustomersOnetimeDetailsResponse: Datos de facturación de una operación SaaS con varios Customers y pago único.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customers` CustomerDetailsResponse[], required: Customers cuyas deudas se cobran en esta Checkout Session.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `invoices` InvoiceDetailsResponse[], required: Deudas que se cobran en esta Checkout Session.
        - `amount` number, required: Monto de la deuda.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_invoice` string, encrypted-id, required: Identificador de la deuda.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `is_paid` boolean, required: Indica si la deuda ya está pagada.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre del producto a mostrar
      - `payment_engine` 'saas_multiple_customers', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'onetime', required: Frecuencia del pago; en esta variante siempre es un pago único.
    - SaaSOnetimeDetailsResponse: Datos de facturación de una operación SaaS de pago único.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse, required: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `invoices` InvoiceDetailsResponse[], required: Deudas que se cobran en esta Checkout Session.
        - `amount` number, required: Monto de la deuda.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_invoice` string, encrypted-id, required: Identificador de la deuda.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `is_paid` boolean, required: Indica si la deuda ya está pagada.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre del producto a mostrar
      - `payment_engine` 'saas', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'onetime', required: Frecuencia del pago; en esta variante siempre es un pago único.
    - SaaSRecurringDetailsResponse: Datos de facturación de una operación SaaS de pago recurrente.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse, required: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `invoices` InvoiceDetailsResponse[], required: Deudas que se cobran en esta Checkout Session.
        - `amount` number, required: Monto de la deuda.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_invoice` string, encrypted-id, required: Identificador de la deuda.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `is_paid` boolean, required: Indica si la deuda ya está pagada.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre del producto a mostrar
      - `payment_engine` 'saas', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'recurring', required: Frecuencia del pago; en esta variante siempre es un pago recurrente.
      - `should_trigger_automatic_payment` boolean, required: Indica si el cobro automático debe iniciarse una vez que la inscripción queda registrada.
      - `subscription` SubscriptionDetailsResponse: Datos de una Subscription asociada a la Checkout Session.
        - `additional_metadata` object, nullable: Datos propios de la organización asociados a la Subscription.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre a mostrar del producto
      - `subscriptions` SubscriptionDetailsResponse[]: Datos de las Subscriptions cuando la inscripción cubre varias.
        - `additional_metadata` object, nullable: Datos propios de la organización asociados a la Subscription.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre a mostrar del producto
    - OnDemandOnetimeDetailsResponse: Datos de facturación de una operación on-demand de pago único.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `amount` number, required: Monto que se cobra en la Checkout Session.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `payment_engine` 'on_demand', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'onetime', required: Frecuencia del pago; en esta variante siempre es un pago único.
    - OnDemandRecurringDetailsResponse: Datos de facturación de una operación on-demand de pago recurrente.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `payment_engine` 'on_demand', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'recurring', required: Frecuencia del pago; en esta variante siempre es un pago recurrente.
      - `should_trigger_automatic_payment` boolean, required: Indica si el cobro automático debe iniciarse una vez que la inscripción queda registrada.
    - SavePaymentInstrumentDetailsResponse: Datos de una operación que solo guarda un medio de pago.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `amount` number, nullable: Monto asociado a la Checkout Session, si tiene uno. En este modo no se cobra.
      - `currency` CurrencyDetails: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `payment_engine` unknown
      - `payment_frequency` unknown
    - SaaSUnrestrictedAmountOnetimeDetailsResponse: Datos de facturación de una operación SaaS de monto sin restricción y pago único.
      - `account` AccountDetailsResponse, required: Datos de la Account para la que se creó la Checkout Session.
        - `id_account` string, encrypted-id, required: Identificador de la Account.
        - `is_direct_debit` boolean, nullable: Indica si la Account cobra por domiciliación bancaria.
        - `is_main` boolean, required: Indica si es la Account principal de la organización.
        - `name` string, required: Nombre de la Account.
      - `amount` number, required: Monto que se cobra en la Checkout Session.
      - `currency` CurrencyDetails, required: Moneda en la que se expresan los montos de la operación.
        - `code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `decimal_separator` string, required: Separador decimal con el que se muestran los montos.
        - `decimals` integer, required: Cantidad de decimales con la que se expresan los montos de la moneda.
        - `id_currency` string, encrypted-id, required: Identificador de la moneda.
        - `name` string, required: Nombre de la moneda.
        - `symbol` string, required: Símbolo con el que se muestran los montos de la moneda.
        - `thousands_separator` string, required: Separador de miles con el que se muestran los montos.
      - `customer` CustomerDetailsResponse, required: Datos del Customer que realiza la operación.
        - `external_id` string, nullable: Identificador del Customer en los sistemas de la organización.
        - `government_id` string, nullable: Documento de identidad del Customer.
        - `id_customer` string, encrypted-id, required: Identificador del Customer.
        - `mail` string, nullable: Correo electrónico del Customer.
        - `name` string, nullable: Nombre del Customer.
        - `phone_number` string, nullable: Número de teléfono del Customer.
      - `invoices` InvoiceDetailsResponse[], required: Deudas que se cobran en esta Checkout Session.
        - `amount` number, required: Monto de la deuda.
        - `currency_code` string, required: Código de la moneda, por ejemplo `CLP` o `MXN`.
        - `id_invoice` string, encrypted-id, required: Identificador de la deuda.
        - `id_subscription` string, encrypted-id, required: Identificador de la Subscription.
        - `is_paid` boolean, required: Indica si la deuda ya está pagada.
        - `product_id` string, required: Identificador del producto o servicio asociado, definido por la organización.
        - `product_name` string, nullable: Nombre del producto a mostrar
      - `payment_engine` 'saas_unrestricted_amount', required: Motor con el que Toku procesa la operación.
      - `payment_frequency` 'onetime', required: Frecuencia del pago; en esta variante siempre es un pago único.
  - `card_flow_config` object, nullable: Configuración resuelta para el pago con tarjeta de esta sesión: por qué procesador se cobra, restricciones de tarjetas aceptadas, autenticación 3-D Secure y cuotas. Corresponde al tipo de sesión: un pago único lleva la configuración de pago único, y una inscripción o el guardado de un medio de pago llevan la recurrente. Es nulo cuando no aplica ninguna configuración. Solo de lectura. Toku la resuelve en cada lectura a partir de la configuración de tarjeta de la organización y del `mode` de la sesión.
  - `checkout_config` CheckoutPresentationConfig: Ajustes de presentación del checkout para una Checkout Session. Cada campo es nulo cuando la configuración de la sesión no lo define.
    - `disable_back_button_deep_link` boolean, nullable: Indica si el botón de volver al comercio está deshabilitado. Es la polaridad inversa de la configuración de origen, que declara cuándo *mostrar* el botón.
    - `go_back_to_commerce_url` string, nullable: URL del comercio a la que vuelve el cliente al salir del checkout.
    - `show_checkout_invoice_breakdown` boolean, nullable: Indica si el detalle de la deuda se muestra desglosado por ítem.
    - `show_pci_compliance_badge` boolean, nullable: Indica si el checkout muestra la insignia PCI DSS Compliant que emitió nuestro QSA. Sólo puede mostrarse esa insignia: el logo del PCI SSC y las insignias no oficiales están prohibidos por su guía de marca.
    - `show_session_countdown` boolean, nullable: Indica si el checkout muestra la cuenta regresiva con el tiempo que le queda a la Checkout Session antes de expirar.
    - `show_wallet_discount` boolean, nullable: Indica si se muestra el descuento por pagar con billetera.
  - `combine_active` boolean, nullable: Indica si esta Checkout Session tiene una combinación de pagos en curso: ya hay al menos un pago, falta saldo, la sesión sigue abierta y no se cumplió el plazo para devolver lo cobrado. Solo de lectura. Toku lo calcula en cada lectura a partir de los pagos ya hechos sobre la sesión.
  - `combine_enabled` boolean, nullable: Indica si se le puede ofrecer al cliente final pagar el total en varios pagos. Deja de ser verdadero una vez que hay un pago parcial hecho: para una combinación en curso se usa `combine_active`. Solo de lectura. Toku lo calcula en cada lectura a partir de la configuración de la organización y del estado de la sesión.
  - `customer_pii_masked` boolean, nullable: Indica si los datos personales del Customer (`name`, `mail`, `phone_number`, `government_id` y `external_id`) vienen enmascarados. Cuando es `true` los valores no son utilizables: hay que pedirlos de nuevo antes de enviarlos. Solo de lectura. Toku lo resuelve en cada lectura según la configuración de la organización.
  - `disable_oneclick_checkout` boolean, nullable: Indica si en esta Checkout Session se desactiva el pago con un medio ya guardado, aunque la organización lo tenga habilitado.
  - `expiration_datetime` string, nullable: Fecha y hora, en formato ISO 8601, en la que la Checkout Session expira.
  - `external_id` string, nullable: Identificador que entrega la organización para reconocer después los pagos o inscripciones hechos con esta Checkout Session.
  - `flow_name` string, required: Flow con el que se creó la Checkout Session.
  - `id_checkout_session` string, required: Identificador único de la Checkout Session. Solo de lectura. Toku lo genera al crear la sesión.
  - `invoice_data` InvoiceData: Datos de la deuda que se crea junto con la Checkout Session, incluida su fecha de vencimiento.
    - `amount` number, required: Monto total de la deuda que se cobra en la sesión.
    - `currency_code` 'CLP' | 'CLF' | 'MXN' | 'BRL' | 'USD', required: Moneda, en código [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). Cubre las monedas de los países donde Toku opera —`CLP` (peso chileno), `MXN` (peso mexicano) y `BRL` (real)— más `USD` y `CLF`, la Unidad de Fomento chilena. La moneda determina cuántos decimales admiten los montos: `CLP` no admite decimales, `MXN`, `BRL` y `USD` admiten dos, y `CLF` cuatro.
    - `disable_automatic_payment` boolean: Indica si la deuda queda excluida de los cobros automáticos, de modo que solo se pague desde este checkout.
    - `due_date` string, required: Fecha de vencimiento de la deuda, en formato ISO 8601.
    - `expiration_action` 'EXPIRE' | 'VOID' | 'DELETE': Acción que se ejecuta sobre una Invoice cuando expira: marcarla como expirada (`EXPIRE`), anularla (`VOID`) o eliminarla (`DELETE`). `EXPIRE` es legado: se mantiene por compatibilidad, pero deja la Invoice en el estado `EXPIRED`, que está deprecado. Para nuevas integraciones usa `VOID` o `DELETE`.
    - `expiration_date` string: Fecha en la que la deuda expira, en formato ISO 8601.
    - `invoice_external_id` string: Identificador de la deuda en los sistemas de la organización, para poder conciliarla.
    - `max_collection_attempts` integer: Cantidad máxima de intentos de cobro automático de la deuda.
    - `metadata` object: Datos propios de la organización que se guardan junto a la deuda y no afectan el cobro.
    - `product_id` string, required: Identificador del producto o servicio que se está cobrando, definido por la organización.
    - `will_expire` boolean: Indica si la deuda expira al llegar su fecha de expiración.
  - `is_receipt_redirection_disabled` boolean, nullable: Indica si el comprobante no redirige al cliente final. El comprobante se muestra igual: lo que se desactiva es la redirección que sale desde él una vez terminada la operación. Solo de lectura. Toku lo calcula en cada lectura: es verdadero mientras la sesión cobre un monto o deudas con un medio de pago que cobra de forma diferida y todavía no tenga un pago exitoso, porque hasta entonces no hay un resultado que mostrar al otro lado.
  - `mode` 'ENROLLMENT' | 'PAYMENT' | 'SAVE_PAYMENT_INSTRUMENT': Modo de una Checkout Session.
  - `operation_id` string, nullable: Identificador de la operación con la que se completó la Checkout Session. Solo de lectura. Toku lo estampa al completar la sesión; es nulo mientras siga abierta.
  - `pac_inscription_config` PacInscriptionPresentationConfig: Configuración de la inscripción de PAC para una Checkout Session. El bloque completo es nulo cuando la configuración de la sesión no define exclusiones de instituciones ni restricciones de tipos de cuenta para la inscripción de PAC.
    - `accepted_account_types_by_institution` PacInscriptionInstitutionAccountTypes[]: Restricción de tipos de cuenta aceptados por institución al inscribir un PAC. Una institución sin entrada acepta todos los tipos de cuenta.
      - `accepted_account_types` AccountTypeCL[], required: Tipos de cuenta aceptados para inscribir un PAC en esta institución: `checking_account` (cuenta corriente), `sight_account` (cuenta vista; la chequera electrónica cuenta como cuenta vista) o `rut_account` (CuentaRUT).
      - `institution` string, required: Institución bancaria a la que aplica la restricción de tipos de cuenta.
    - `excluded_institutions` string[]: Instituciones bancarias que no se ofrecen al cliente al inscribir un PAC en esta Checkout Session.
  - `payment_options` union[], required: Medios de pago que se le ofrecen al cliente final en esta Checkout Session. Solo de lectura. Toku los arma en cada lectura a partir del `flow_name` de la sesión, su `mode` y la `payment_options_configuration` con la que se creó.
    - union
      - InternalPaymentOption: Medio de pago que el cliente final completa dentro del checkout de Toku.
        - `display` 'main_view' | 'expandable', required: Cómo se presenta el medio de pago: a la vista o dentro de una sección desplegable.
        - `form` union, required
          - CardFormSchema: Formulario de tarjeta.
            - `form_configuration` object, nullable
            - `form_type` 'card', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - AccountMXFormSchema: Formulario de cuenta MX.
            - `form_configuration` object, nullable
            - `form_type` 'account_mx', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - TransferCLFormSchema: Formulario de transferencia CL.
            - `form_configuration` object, nullable
            - `form_type` 'transfer_cl', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - TransferMXFormSchema: Formulario de transferencia MX.
            - `form_configuration` object, nullable
            - `form_type` 'transfer_mx', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - CashMXFormSchema: Formulario de efectivo MX.
            - `form_configuration` object, nullable
            - `form_type` 'cash_mx', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - CoDiFormSchema: Formulario de CoDi.
            - `form_configuration` object, nullable
            - `form_type` 'codi', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - BoletoFormSchema: Formulario de Boleto.
            - `form_configuration` object, nullable
            - `form_type` 'boleto', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - DirectDebitCLFormSchema: Formulario de débito directo CL.
            - `form_configuration` object, nullable
            - `form_type` 'direct_debit_cl', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PacInscriptionFormSchema: Formulario de PAC.
            - `form_configuration` object, nullable
            - `form_type` 'pac_inscription', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PixBankingFormSchema: Formulario de Pix Banking.
            - `form_configuration` object, nullable
            - `form_type` 'pix_banking', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PixBankingAutomaticFormSchema: Formulario de Pix Banking Automatic.
            - `form_configuration` object, nullable
            - `form_type` 'pix_banking_automatic', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PixOpenfinanceOnetimeFormSchema: Formulario de Pix Openfinance para pago único.
            - `form_configuration` PixOpenfinanceOnetimeFormConfigSchema, required: Configuración del formulario de Pix Openfinance.
              - …
            - `form_type` 'pix_openfinance_onetime', required: Tipo de formulario para Pix Openfinance de pago único.
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PixOpenfinanceRecurringFormSchema: Formulario de Pix Openfinance para pago recurrente.
            - `form_configuration` PixOpenfinanceRecurringFormConfigSchema, required: Configuración del formulario de Pix Openfinance.
              - …
            - `form_type` 'pix_openfinance_recurring', required: Tipo de formulario para Pix Openfinance recurrente.
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - TransbankWebpayPlusFormSchema: Formulario de Transbank Webpay Plus.
            - `form_configuration` object, nullable
            - `form_type` 'transbank_webpay_plus', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - TransbankOneclickFormSchema: Formulario de Transbank Oneclick.
            - `form_configuration` object, nullable
            - `form_type` 'transbank_oneclick', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - WalletMXFormSchema: Formulario de wallet MX.
            - `form_configuration` WalletMXFormConfiguration, required: Configuración del formulario de wallet MX.
              - …
            - `form_type` 'wallet_mx', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - WalletMXPSPFormSchema: Wallet MX PSP option; the portal uses it to send the payer to the product page. Requires no configuration.
            - `form_configuration` object, nullable
            - `form_type` 'wallet_mx_psp', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - ExternalCollectorsCLFormSchema: Formulario de recaudadores externos CL.
            - `form_configuration` object, nullable
            - `form_type` 'external_collector_cl_pst', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
          - PosCLFormSchema: Formulario de POS CL.
            - `form_configuration` object, nullable
            - `form_type` 'pos_cl', required
            - `intention` string, required: Propósito del formulario
            - `payment_processing_configuration` union, required: Configuración con la que se procesa el pago
              - …
        - `payment_option_type` 'internal', required: Tipo de medio de pago, que determina cómo se completa el pago.
        - `priority` integer, required: Orden en que se muestra el medio de pago frente a los demás.
      - ExternalPaymentOption: Medio de pago que se completa fuera del checkout, en un sitio al que se redirige al cliente final.
        - `display` 'main_view' | 'expandable', required: Cómo se presenta el medio de pago: a la vista o dentro de una sección desplegable.
        - `label` string, required: Texto con el que se identifica el medio de pago en el checkout.
        - `link` string, required: Enlace externo al que se redirige al cliente final para pagar.
        - `payment_option_type` 'external', required: Tipo de medio de pago, que determina cómo se completa el pago.
        - `priority` integer, required: Orden en que se muestra el medio de pago frente a los demás.
      - SyntheticPaymentOption: Opción que el checkout muestra como si fuera un medio de pago, pero que en realidad abre otro flujo, como pagar el total en varios pagos.
        - `display` 'main_view' | 'expandable', required: Cómo se presenta el medio de pago: a la vista o dentro de una sección desplegable.
        - `payment_option_type` 'synthetic', required: Tipo de medio de pago, que determina cómo se completa el pago.
        - `priority` integer, required: Orden en que se muestra el medio de pago frente a los demás.
        - `synthetic_type` string, required: Flujo que abre la opción, por ejemplo pagar el total en varios pagos.
  - `payment_options_configuration` PaymentOptionsConfigurationResponse: Configuración con la que se muestra y procesa cada medio de pago del checkout.
    - `card` CardConfigurationResponse: Configuración con la que se muestra y se procesa el pago con tarjeta en el checkout.
      - `combine_payment_methods` CombinePaymentMethodsConfigurationResponse: Reglas con las que el cliente final puede pagar el total repartido en varios pagos.
        - `enabled` boolean, nullable: Indica si esta Checkout Session admite pagar el total en varios pagos.
        - `max_payments` integer, nullable: Cantidad máxima de pagos con los que se puede cubrir el total.
        - `min_amount` integer, nullable: Monto mínimo de cada pago, en la unidad mínima de la moneda de la sesión (por ejemplo, centavos).
        - `ttl_refund_minutes` integer, nullable: Minutos que se esperan desde el primer pago antes de devolver lo ya cobrado si la combinación no se completa.
      - `enable_toggle_switch` boolean, nullable: Indica si el checkout ofrece al cliente final guardar la tarjeta para próximos pagos.
      - `external_processors` ExternalProcessorsEnabled: Procesadores externos de tarjeta habilitados para la sesión.
        - `apple_pay` ApplePayConfig: Disponibilidad de Apple Pay para el medio de pago con tarjeta, resuelta por Toku al crear la sesión.
          - `enabled` boolean
          - `partner_internal_merchant_identifier` string
          - `supported_countries` string[]
          - `supported_networks` string[]
          - `supported_types` string[]
          - `token_notification_url` string
        - `google_pay` GooglePayConfig: Disponibilidad y configuración de Google Pay para el medio de pago con tarjeta, resuelta por Toku al crear la sesión. ``enabled`` es la habilitación del comercio; ``tokenized_processing_available`` es si además queda un gateway capaz de procesar el token de la tarjeta, y de él depende que el checkout pida ``CRYPTOGRAM_3DS``. El resto es lo que el checkout necesita para armar el ``PaymentDataRequest``.
          - `allow_credit_cards` boolean
          - `allow_prepaid_cards` boolean
          - `allowed_card_networks` string[]
          - `auth_jwt` string: JWT firmado por Toku que autoriza el botón de Google Pay en `merchant_origin`
          - `blocked_issuer_country_codes` string[]
          - `enabled` boolean
          - `gateway` string
          - `gateway_merchant_id` string
          - `merchant_id` string
          - `merchant_origin` string: FQDN desde el que el checkout invoca la API de Google Pay
          - `tokenized_processing_available` boolean
      - `force_3ds` boolean, nullable: Indica si el cobro exige siempre la autenticación 3-D Secure del emisor de la tarjeta.
      - `id_orchestration_tree` string, nullable: Identificador de la configuración con la que Toku resuelve por qué procesador se cobra la tarjeta. Debiera utilizarse solo para orquestaciones custom y complejas.
      - `installments_configuration` object, nullable: Reglas de cuotas ofrecidas al cliente final, como el máximo de cuotas y el monto mínimo por cuota.
      - `selected_card` string, nullable: Tarjeta ya guardada que el checkout deja preseleccionada.
    - `pac` PacConfigurationResponse: Configuración con la que se muestra la inscripción de un mandato en PAC.
      - `mandate_id` string, required: Identificador del mandato de PAC asociado a la inscripción.
    - `transfer_cl` TransferClConfigurationResponse: Configuración con la que se muestra el pago por transferencia bancaria en el checkout.
      - `available_institutions` string[], required: Instituciones financieras desde las que el cliente final puede transferir.
  - `redirection` string, nullable: Identificador de la redirección a la que se envía al cliente final al terminar. Solo de lectura. Toku la crea al crear la sesión, a partir del `redirection_data` de la petición.
  - `selected_saved_card` AvailableSavedCard: Tarjeta que el Customer ya tiene guardada y puede reutilizar para pagar sin volver a ingresarla.
    - `bank_country` string, nullable: País del banco emisor, para resolver el recargo de tarjeta internacional.
    - `card_brand` string, nullable: Marca de la tarjeta, por ejemplo `visa` o `mastercard`.
    - `card_type` string, nullable: Tipo de tarjeta (`credit`, `debit`, `prepaid`), para resolver el recargo que corresponde cobrar.
    - `cardholder_name` string, nullable: Nombre del titular registrado en la tarjeta.
    - `last_4_digits` string, required: Últimos 4 dígitos de la tarjeta, para que el cliente la reconozca.
    - `payment_instrument_card_id` string, encrypted-id, required: Identificador de la tarjeta guardada.
  - `session_price_change_origin` 'adjustment_document' | 'specified_at_creation': Where a checkout session's price change came from, for portal labelling.
  - `session_price_changes_total` number, nullable: Suma de los ajustes de precio aplicados solo a esta Checkout Session. Un valor negativo reduce el total a pagar, por ejemplo un crédito a favor; es cero cuando no hay ajustes. Solo de lectura. Toku lo calcula en cada lectura a partir del `price_change` con el que se creó la sesión y de los saldos a favor del Customer.
  - `state` string, required: Estado de la Checkout Session: `OPEN` mientras se puede pagar, `COMPLETED` o `EXPIRED` al cerrarse. Solo de lectura. Lo maneja Toku: la sesión nace `OPEN` y pasa a `COMPLETED` cuando se completa la operación o a `EXPIRED` cuando vence.
  - `url` string, required: Dirección que se le entrega al cliente final para pagar o inscribir el medio de pago.

## Other responses

- `404`: No existe una Checkout Session con ese identificador en la organización autenticada.
- `422`: Validation Error

---

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