Toku · Schema

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.

FinTechPaymentsB2BAutomationChile

Properties

Name Type Description
allow_partial_payment object Indica si el cliente final puede abonar solo una parte del total en lugar de pagarlo completo.
available_payment_methods array 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 pag
available_saved_cards array 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 s
available_saved_clabes array 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
billing_data object Información necesaria para cobrar una deuda o para inscribir un medio de pago: monto, moneda, deudas, Subscriptions, Customer y Account involucrados.
card_flow_config object 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 p
checkout_config object Ajustes de presentación del checkout para esta sesión. Es nulo cuando la sesión no tiene configuración de pago único. Solo de lectura. Toku lo resuelve en cada lectura a partir de la configuración de
combine_active object 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 lectur
combine_enabled object 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
customer_pii_masked object 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
disable_oneclick_checkout object Indica si en esta Checkout Session se desactiva el pago con un medio ya guardado, aunque la organización lo tenga habilitado.
expiration_datetime object Fecha y hora, en formato ISO 8601, en la que la Checkout Session expira.
external_id object Identificador que entrega la organización para reconocer después los pagos o inscripciones hechos con esta Checkout Session.
flow_name string Flow con el que se creó la Checkout Session.
id_checkout_session string Identificador único de la Checkout Session. Solo de lectura. Toku lo genera al crear la sesión.
invoice_data object Datos de la deuda que se creó junto con la Checkout Session, cuando la sesión cobra una deuda nueva.
is_receipt_redirection_disabled object 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
mode object Qué operación completa el cliente final en la sesión: `PAYMENT` cobra deudas o un monto puntual y termina en un pago, `ENROLLMENT` inscribe un medio de pago automático para cobrarle después, y `SAVE_P
operation_id object 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 object Configuración de la inscripción de PAC para esta sesión. Es nulo cuando la sesión no define exclusiones de instituciones. Solo de lectura. Toku la resuelve en cada lectura a partir de la configuración
payment_options array 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_config
payment_options_configuration object Configuración con la que se muestra y procesa cada medio de pago del checkout.
redirection object 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 object Tarjeta guardada que queda preseleccionada, de modo que el cliente final no deba elegirla. Solo de lectura. Toku la resuelve en cada lectura a partir de `payment_options_configuration.card.selected_ca
session_price_change_origin object Origen del ajuste de precio de la sesión: `adjustment_document` cuando se desprende de un saldo a favor del Customer y `specified_at_creation` cuando se envió en el cuerpo con el que se creó la sesión
session_price_changes_total object 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
state string 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 op
url string Dirección que se le entrega al cliente final para pagar o inscribir el medio de pago.
View JSON Schema on GitHub

JSON Schema

toku-public-checkout-session-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/toku/json-schema/toku-public-checkout-session-response-schema.json",
  "title": "PublicCheckoutSessionResponse",
  "description": "Sesión de pago que Toku aloja para que un cliente final pague una deuda o inscriba un medio de pago automático.\n\nLa 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.\n\nLa sesión no exige un Customer identificado: quien tenga el enlace puede operar sobre ella.",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/toku-recursos-secundarios-api-openapi.yml#/components/schemas/PublicCheckoutSessionResponse",
  "properties": {
    "allow_partial_payment": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "Indica si el cliente final puede abonar solo una parte del total en lugar de pagarlo completo.",
      "title": "Allow Partial Payment"
    },
    "available_payment_methods": {
      "description": "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.",
      "items": {
        "$ref": "#/$defs/AvailablePaymentMethod"
      },
      "readOnly": true,
      "title": "Available Payment Methods",
      "type": "array"
    },
    "available_saved_cards": {
      "description": "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.",
      "items": {
        "$ref": "#/$defs/AvailableSavedCard"
      },
      "readOnly": true,
      "title": "Available Saved Cards",
      "type": "array"
    },
    "available_saved_clabes": {
      "description": "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.",
      "items": {
        "$ref": "#/$defs/AvailableSavedClabe"
      },
      "readOnly": true,
      "title": "Available Saved Clabes",
      "type": "array"
    },
    "billing_data": {
      "description": "Información necesaria para cobrar una deuda o para inscribir un medio de pago: monto, moneda, deudas, Subscriptions, Customer y Account involucrados.",
      "oneOf": [
        {
          "$ref": "#/$defs/SaaSMultipleCustomersOnetimeDetailsResponse"
        },
        {
          "$ref": "#/$defs/SaaSOnetimeDetailsResponse"
        },
        {
          "$ref": "#/$defs/SaaSRecurringDetailsResponse"
        },
        {
          "$ref": "#/$defs/OnDemandOnetimeDetailsResponse"
        },
        {
          "$ref": "#/$defs/OnDemandRecurringDetailsResponse"
        },
        {
          "$ref": "#/$defs/SavePaymentInstrumentDetailsResponse"
        },
        {
          "$ref": "#/$defs/SaaSUnrestrictedAmountOnetimeDetailsResponse"
        }
      ],
      "title": "Billing Data"
    },
    "card_flow_config": {
      "anyOf": [
        {
          "additionalProperties": true,
          "description": "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.",
          "readOnly": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Card Flow Config"
    },
    "checkout_config": {
      "anyOf": [
        {
          "$ref": "#/$defs/CheckoutPresentationConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Ajustes de presentación del checkout para esta sesión. Es nulo cuando la sesión no tiene configuración de pago único. Solo de lectura. Toku lo resuelve en cada lectura a partir de la configuración de checkout de la organización.",
      "readOnly": true,
      "title": "Checkout Config"
    },
    "combine_active": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Combine Active"
    },
    "combine_enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Combine Enabled"
    },
    "customer_pii_masked": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Customer Pii Masked"
    },
    "disable_oneclick_checkout": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "Indica si en esta Checkout Session se desactiva el pago con un medio ya guardado, aunque la organización lo tenga habilitado.",
      "title": "Disable Oneclick Checkout"
    },
    "expiration_datetime": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Fecha y hora, en formato ISO 8601, en la que la Checkout Session expira.",
      "title": "Expiration Datetime"
    },
    "external_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Identificador que entrega la organización para reconocer después los pagos o inscripciones hechos con esta Checkout Session.",
      "title": "External Id"
    },
    "flow_name": {
      "description": "Flow con el que se creó la Checkout Session.",
      "title": "Flow Name",
      "type": "string"
    },
    "id_checkout_session": {
      "description": "Identificador único de la Checkout Session. Solo de lectura. Toku lo genera al crear la sesión.",
      "readOnly": true,
      "title": "Id Checkout Session",
      "type": "string"
    },
    "invoice_data": {
      "anyOf": [
        {
          "$ref": "#/$defs/InvoiceData"
        },
        {
          "type": "null"
        }
      ],
      "description": "Datos de la deuda que se creó junto con la Checkout Session, cuando la sesión cobra una deuda nueva.",
      "title": "Invoice Data"
    },
    "is_receipt_redirection_disabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Is Receipt Redirection Disabled"
    },
    "mode": {
      "anyOf": [
        {
          "$ref": "#/$defs/CheckoutSessionMode"
        },
        {
          "type": "null"
        }
      ],
      "description": "Qué operación completa el cliente final en la sesión: `PAYMENT` cobra deudas o un monto puntual y termina en un pago, `ENROLLMENT` inscribe un medio de pago automático para cobrarle después, y `SAVE_PAYMENT_INSTRUMENT` solo registra una cuenta bancaria del Customer, sin cobrar ni inscribir un medio de pago."
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Operation Id"
    },
    "pac_inscription_config": {
      "anyOf": [
        {
          "$ref": "#/$defs/PacInscriptionPresentationConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Configuración de la inscripción de PAC para esta sesión. Es nulo cuando la sesión no define exclusiones de instituciones. Solo de lectura. Toku la resuelve en cada lectura a partir de la configuración de checkout de la organización.",
      "readOnly": true,
      "title": "Pac Inscription Config"
    },
    "payment_options": {
      "description": "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ó.",
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/InternalPaymentOption"
          },
          {
            "$ref": "#/$defs/ExternalPaymentOption"
          },
          {
            "$ref": "#/$defs/SyntheticPaymentOption"
          }
        ]
      },
      "readOnly": true,
      "title": "Payment Options",
      "type": "array"
    },
    "payment_options_configuration": {
      "anyOf": [
        {
          "$ref": "#/$defs/PaymentOptionsConfigurationResponse"
        },
        {
          "type": "null"
        }
      ],
      "description": "Configuración con la que se muestra y procesa cada medio de pago del checkout.",
      "title": "Payment Options Configuration"
    },
    "redirection": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Redirection"
    },
    "selected_saved_card": {
      "anyOf": [
        {
          "$ref": "#/$defs/AvailableSavedCard"
        },
        {
          "type": "null"
        }
      ],
      "description": "Tarjeta guardada que queda preseleccionada, de modo que el cliente final no deba elegirla. Solo de lectura. Toku la resuelve en cada lectura a partir de `payment_options_configuration.card.selected_card`, que es el campo que sí se envía al crear la sesión. Es nula si esa tarjeta dejó de estar vigente o si la organización no tiene habilitado el pago con un medio ya guardado.",
      "readOnly": true,
      "title": "Selected Saved Card"
    },
    "session_price_change_origin": {
      "anyOf": [
        {
          "$ref": "#/$defs/PriceChangeOrigin"
        },
        {
          "type": "null"
        }
      ],
      "description": "Origen del ajuste de precio de la sesión: `adjustment_document` cuando se desprende de un saldo a favor del Customer y `specified_at_creation` cuando se envió en el cuerpo con el que se creó la sesión. Los dos son excluyentes. Es nulo cuando no hay ajustes. Solo de lectura. Toku lo determina junto con `session_price_changes_total`.",
      "readOnly": true
    },
    "session_price_changes_total": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "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.",
      "readOnly": true,
      "title": "Session Price Changes Total"
    },
    "state": {
      "description": "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.",
      "readOnly": true,
      "title": "State",
      "type": "string"
    },
    "url": {
      "description": "Dirección que se le entrega al cliente final para pagar o inscribir el medio de pago.",
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "payment_options",
    "billing_data",
    "flow_name",
    "id_checkout_session",
    "state",
    "url"
  ],
  "type": "object",
  "$defs": {
    "AccountDetailsResponse": {
      "description": "Datos de la Account para la que se creó la Checkout Session.",
      "properties": {
        "id_account": {
          "description": "Identificador de la Account.",
          "format": "encrypted-id",
          "title": "Id Account",
          "type": "string"
        },
        "is_direct_debit": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "Indica si la Account cobra por domiciliación bancaria.",
          "title": "Is Direct Debit"
        },
        "is_main": {
          "description": "Indica si es la Account principal de la organización.",
          "title": "Is Main",
          "type": "boolean"
        },
        "name": {
          "description": "Nombre de la Account.",
          "title": "Name",
          "type": "string"
        }
      },
      "required": [
        "name",
        "is_main",
        "id_account"
      ],
      "title": "AccountDetailsResponse",
      "type": "object"
    },
    "AccountMXFormSchema": {
      "description": "Formulario de cuenta MX.",
      "properties": {
        "form_configuration": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Form Configuration"
        },
        "form_type": {
          "const": "account_mx",
          "title": "Form Type",
          "type": "string"
        },
        "intention": {
          "description": "Propósito del formulario",
          "title": "Intention",
          "type": "string"
        },
        "payment_processing_configuration": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckoutApi_TokuProductConfiguration"
            },
            {
              "$ref": "#/$defs/OrchestrationTreeConfiguration"
            }
          ],
          "description": "Configuración con la que se procesa el pago",
          "title": "Payment Processing Configuration"
        }
      },
      "required": [
        "intention",
        "payment_processing_configuration",
        "form_type"
      ],
      "title": "AccountMXFormSchema",
      "type": "object"
    },
    "AccountTypeCL": {
      "description": "Account types used in payout_data_cl",
      "enum": [
        "checking_account",
        "rut_account",
        "sight_account"
      ],
      "title": "AccountTypeCL",
      "type": "string"
    },
    "ApplePayConfig": {
      "description": "Disponibilidad de Apple Pay para el medio de pago con tarjeta, resuelta por Toku al crear la sesión.",
      "properties": {
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        },
        "partner_internal_merchant_identifier": {
          "title": "Partner Internal Merchant Identifier",
          "type": "string"
        },
        "supported_countries": {
          "items": {
            "type": "string"
          },
          "title": "Supported Countries",
          "type": "array"
        },
        "supported_networks": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Supported Networks",
          "type": "array"
        },
        "supported_types": {
          "items": {
            "type": "string"
          },
          "title": "Supported Types",
          "type": "array"
        },
        "token_notification_url": {
          "title": "Token Notification Url",
          "type": "string"
        }
      },
      "title": "ApplePayConfig",
      "type": "object"
    },
    "AvailablePaymentMethod": {
      "description": "Medio de pago vigente del Customer que se puede asociar al producto de una sesión de inscripción, sin volver a pedirle los datos ni generar un cobro.",
      "properties": {
        "brand": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Marca de la tarjeta o red del medio de pago, por ejemplo `visa`.",
          "title": "Brand"
        },
        "cardholder_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Nombre del titular de la tarjeta o cuenta.",
          "title": "Cardholder Name"
        },
        "id_payment_method": {
          "description": "Identificador del medio de pago.",
          "format": "encrypted-id",
          "title": "Id Payment Method",
          "type": "string"
        },
        "institution_name": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Institución financiera del medio de pago, cuando corresponde.",
          "title": "Institution Name"
        },
        "last_4_digits": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Últimos 4 dígitos de la tarjeta o cuenta, para que el cliente la reconozca.",
          "title": "Last 4 Digits"
        },
        "type": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Tipo de medio de pago, por ejemplo tarjeta o cuenta bancaria.",
          "title": "Type"
        }
      },
      "required": [
        "id_payment_method"
      ],
      "title": "AvailablePaymentMethod",
      "type": "object"
    },
    "AvailableSavedCard": {
      "description": "Tarjeta que el Customer ya tiene guardada y puede reutilizar para pagar sin volver a ingresarla.",
      "properties": {
        "bank_country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "País del banco emisor, para resolver el recargo de tarjeta internacional.",
          "title": "Bank Country"
        },
        "card_brand": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Marca de la tarjeta, por ejemplo `visa` o `mastercard`.",
          "title": "Card Brand"
        },
        "card_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Tipo de tarjeta (`credit`, `debit`, `prepaid`), para resolver el recargo que corresponde cobrar.",
          "title": "Card Type"
        },
        "cardholder_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Nombre del titular registrado en la tarjeta.",
          "title": "Cardholder Name"
        },
        "last_4_digits": {
          "description": "Últimos 4 dígitos de la tarjeta, para que el cliente la reconozca.",
          "title": "Last 4 Digits",
          "type": "string"
        },
        "payment_instrument_card_id": {
          "description": "Identificador de la tarjeta guardada.",
          "format": "encrypted-id",
          "title": "Payment Instrument Card Id",
          "type": "string"
        }
      },
      "required": [
        "payment_instrument_card_id",
        "last_4_digits"
      ],
      "title": "AvailableSavedCard",
      "type": "object"
    },
    "AvailableSavedClabe": {
      "description": "Cuenta CLABE que el Customer ya tiene guardada y puede reutilizar para pagar sin volver a ingresarla.",
      "properties": {
        "bank_account_type": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Tipo de cuenta bancaria, por ejemplo `CUENTA_CLABE`.",
          "title": "Bank Account Type"
        },
        "bank_id": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Código de la institución financiera, por ejemplo `044`.",
          "title": "Bank Id"
        },
        "bank_name": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Nombre de la institución financiera de la cuenta.",
          "title": "Bank Name"
        },
        "id_payment_instrument": {
          "description": "Identificador de la cuenta guardada.",
          "format": "encrypted-id",
          "title": "Id Payment Instrument",
          "type": "string"
        },
        "last_4_digits": {
          "description": "Últimos 4 dígitos de la cuenta CLABE, para que el cliente la reconozca.",
          "title": "Last 4 Digits",
          "type": "string"
        },
        "last_used_at": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Fecha y hora, en formato ISO 8601, en que la cuenta se usó por última vez.",
          "title": "Last Used At"
        },
        "source": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Producto de Toku con el que se guardó la cuenta.",
          "title": "Source"
        },
        "status": {
          "anyOf": [
            {
              "minLength": 0,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Estado de la cuenta guardada, que define si se puede cobrar con ella.",
          "title": "Status"
        }
      },
      "required": [
        "id_payment_instrument",
        "last_4_digits"
      ],
      "title": "AvailableSavedClabe",
      "type": "object"
    },
    "BoletoFormSchema": {
      "description": "Formulario de Boleto.",
      "properties": {
        "form_configuration": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Form Configuration"
        },
        "form_type": {
          "const": "boleto",
          "title": "Form Type",
          "type": "string"
        },
        "intention": {
          "description": "Propósito del formulario",
          "title": "Intention",
          "type": "string"
        },
        "payment_processing_configuration": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckoutApi_TokuProductConfiguration"
            },
            {
              "$ref": "#/$defs/OrchestrationTreeConfiguration"
            }
          ],
          "description": "Configuración con la que se procesa el pago",
          "title": "Payment Processing Configuration"
        }
      },
      "required": [
        "intention",
        "payment_processing_configuration",
        "form_type"
      ],
      "title": "BoletoFormSchema",
      "type": "object"
    },
    "CardConfigurationResponse": {
      "description": "Configuración con la que se muestra y se procesa el pago con tarjeta en el checkout.",
      "properties": {
        "combine_payment_methods": {
          "anyOf": [
            {
              "$ref": "#/$defs/CombinePaymentMethodsConfigurationResponse"
            },
            {
              "type": "null"
            }
          ]
        },
        "enable_toggle_switch": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "Indica si el checkout ofrece al cliente final guardar la tarjeta para próximos pagos.",
          "title": "Enable Toggle Switch"
        },
        "external_processors": {
          "anyOf": [
            {
              "$ref": "#/$defs/ExternalProcessorsEnabled"
            },
            {
              "type": "null"
            }
          ],
          "description": "Billeteras externas habilitadas para pagar con tarjeta en esta sesión.",
          "title": "External Processors"
        },
        "force_3ds": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "description": "Indica si el cobro exige siempre la autenticación 3-D Secure del emisor de la tarjeta.",
          "title": "Force 3Ds"
        },
        "id_orchestration_tree": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "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.",
          "title": "Id Orchestration Tree"
        },
        "installments_configuration": {
          "anyOf": [
            {
              "additionalProperties": true,
              "description": "Reglas de cuotas ofrecidas al cliente final, como el máximo de cuotas y el monto mínimo por cuota.",
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "description": "Reglas de cuotas ofrecidas al cliente final, como el máximo de cuotas y el monto mínimo por cuota.",
          "title": "Installments Configuration"
        },
        "selected_card": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Tarjeta ya guardada que el checkout deja preseleccionada.",
          "title": "Selected Card"
        }
      },
      "title": "CardConfigurationResponse",
      "type": "object"
    },
    "CardFormSchema": {
      "description": "Formulario de tarjeta.",
      "properties": {
        "form_configuration": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Form Configuration"
        },
        "form_type": {
          "const": "card",
          "title": "Form Type",
          "type": "string"
        },
        "intention": {
          "description": "Propósito del formulario",
          "title": "Intention",
          "type": "string"
        },
        "payment_processing_configuration": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckoutApi_TokuProductConfiguration"
            },
            {
              "$ref": "#/$defs/OrchestrationTreeConfiguration"
            }
          ],
          "description": "Configuración con la que se procesa el pago",
          "title": "Payment Processing Configuration"
        }
      },
      "required": [
        "intention",
        "payment_processing_configuration",
        "form_type"
      ],
      "title": "CardFormSchema",
      "type": "object"
    },
    "CashMXFormSchema": {
      "description": "Formulario de efectivo MX.",
      "properties": {
        "form_configuration": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "title": "Form Configuration"
        },
        "form_type": {
          "const": "cash_mx",
          "title": "Form Type",
          "type": "string"
        },
        "intention": {
          "description": "Propósito del formulario",
          "title": "Intention",
          "type": "string"
        },
        "payment_processing_configuration": {
          "anyOf": [
            {
              "$ref": "#/$defs/CheckoutApi_TokuProductConfiguration"
            },
            {
              "$ref": "#/$defs/OrchestrationTreeConfiguration"
            }
          ],
          "description": "Configuración con la que se procesa el pago",
          "title": "Payment Processing Configuration"
        }
      },
      "required": [
        "intention",
        "payment_processing_configuration",
        "form_type"
      ],
      "title": "CashMXFormSchema",
      "type": "object"
    },
    "CheckoutApi_TokuProductConfiguration": {
      "description": "Configuración para procesar el pago con productos de Toku.",
      "properties": {
        "main_toku_product": {
          "description": "Producto de Toku principal con el que se procesa el pago",
          "title": "Main Toku Product",
          "type": "string"
        },
        "payment_processing_type": {
          "const": "toku_product",
          "title": "Payment Processing Type",
          "type": "string"
        },
        "price_changes": {
          "anyOf": [
            {
              "additionalProperties": {
                "items": {
                  "$ref": "#/$defs/PriceChangeDTO"
                },
                "type": "array"
              

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://artifacts.apis.io/toku/json-schema/toku-public-checkout-session-response-schema.json

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/toku-public-checkout-session-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

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

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