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

# Objeto Checkout session

Un `CheckoutSession` representa el flujo de pago que tu cliente completa para pagarte. Creas uno para iniciar un pago, una suscripción o la configuración de un método de pago, y Fintoc devuelve el objeto `CheckoutSession`.

```json Checkout Session Object theme={null}
{
  "id": "cs_li5531onlFDi235",
  "object": "checkout_session",
  "amount": 350000,
  "business_profile": null,
  "cancel_url": "https://merchant.com/cancel",
  "created_at": "2026-01-13T18:48:25Z",
  "currency": "CLP",
  "customer": {
    "id": "cus_8anq0lFDi2359An",
    "object": "customer",
    "address": null,
    "created_at": "2026-01-13T18:40:00Z",
    "email": "customer@example.com",
    "metadata": {},
    "mode": "test",
    "name": "Test Customer 1",
    "phone": null,
    "tax_id": {
      "type": "cl_rut",
      "value": "111111111"
    }
  },
  "customer_email": "customer@example.com",
  "expires_at": "2026-01-14T18:48:25Z",
  "flow": "payment",
  "line_items": null,
  "metadata": {},
  "mode": "test",
  "payment_method": null,
  "payment_method_options": {
    "bank_transfer": {
      "recipient_account": {
        "holder_id": "111111111",
        "institution_id": "cl_banco_de_chile",
        "number": "123456789",
        "type": "checking_account"
      }
    }
  },
  "payment_method_types": [
    "bank_transfer"
  ],
  "payment_resource": {
    "payment_intent": {
      "id": "pi_BO381oEATXonG6bj",
      "object": "payment_intent",
      "amount": 350000,
      "business_profile": null,
      "created_at": "2026-01-13T18:48:31Z",
      "currency": "CLP",
      "customer": null,
      "customer_email": "customer@example.com",
      "error_reason": null,
      "expires_at": "2026-01-14T18:48:25Z",
      "metadata": {},
      "mode": "test",
      "next_action": null,
      "payment_method": null,
      "payment_type": "bank_transfer",
      "payment_type_options": {},
      "recipient_account": null,
      "reference_id": null,
      "sender_account": {
        "holder_id": "111111111",
        "institution_id": "cl_banco_falabella",
        "number": "123456789",
        "type": "checking_account"
      },
      "status": "succeeded",
      "subscription": null,
      "transaction_date": "2026-01-13T18:50:25Z",
      "widget_token": null
    }
  },
  "redirect_url": "https://checkout.fintoc.com/payment?checkout_session=cs_li5531onlFDi235",
  "save_payment_method": null,
  "session_token": null,
  "setup_intent": null,
  "status": "finished",
  "subscription": null,
  "success_url": "https://merchant.com/success"
}
```

| Atributo                 | Tipo              | Descripción                                                                                                                                                                                                                                                                                     |
| :----------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                     | `string`          | Identificador único de la checkout session.                                                                                                                                                                                                                                                     |
| `object`                 | `string`          | Tipo del objeto. Siempre `checkout_session`.                                                                                                                                                                                                                                                    |
| `amount`                 | `integer \| null` | Monto que la sesión cobra a tu cliente, en la unidad más pequeña de `currency` (CLP no tiene decimales; MXN usa centavos). `null` para sesiones con flujo `setup`, que no cobran a tu cliente.                                                                                                  |
| `business_profile`       | `object \| null`  | Negocio en cuyo nombre cobras el pago, para agregadores de pagos. `null` cuando la sesión no tiene perfil de negocio. Consulta la tabla del objeto Business profile más abajo.                                                                                                                  |
| `cancel_url`             | `string \| null`  | URL a la que Fintoc redirige a tu cliente cuando el pago no se completa. `null` cuando la sesión fue creada sin URLs de redirección.                                                                                                                                                            |
| `created_at`             | `string`          | Marca de tiempo ISO 8601 de cuándo se creó la sesión.                                                                                                                                                                                                                                           |
| `currency`               | `string`          | Código de moneda ISO 4217 de tres letras, en mayúsculas. Uno de `CLP` o `MXN`.                                                                                                                                                                                                                  |
| `customer`               | `object`          | Cliente al que pertenece la sesión. Se omite cuando la sesión no tiene cliente. Consulta la tabla del objeto Customer más abajo.                                                                                                                                                                |
| `customer_email`         | `string \| null`  | Correo electrónico de tu cliente, usado para enviar el comprobante de pago. `null` cuando no se proporciona.                                                                                                                                                                                    |
| `expires_at`             | `string`          | Marca de tiempo ISO 8601 de cuándo expira la sesión. Después de este momento tu cliente ya no puede pagar la sesión.                                                                                                                                                                            |
| `flow`                   | `string`          | Flujo que ejecuta la sesión. Uno de `payment` (pago único), `subscription` (suscripción recurrente) o `setup` (guardar un método de pago para pagos futuros).                                                                                                                                   |
| `line_items`             | `array \| null`   | Ítems que la sesión cobra. `null` cuando la sesión fue creada sin line items.                                                                                                                                                                                                                   |
| `metadata`               | `object`          | Conjunto de pares clave-valor que adjuntaste a la sesión.                                                                                                                                                                                                                                       |
| `mode`                   | `string`          | Modo del objeto. `live` usa datos reales de la institución; `test` usa datos falsos para pruebas de integración.                                                                                                                                                                                |
| `payment_method`         | `string \| null`  | `id` del método de pago guardado que paga la sesión. `null` cuando la sesión no se paga con un método de pago guardado.                                                                                                                                                                         |
| `payment_method_options` | `object`          | Configuración de los métodos de pago de la sesión, indexada por tipo de método de pago. Cada clave coincide con uno de `payment_method_types`. Para `bank_transfer` y `pac`, define un `recipient_account`, un `sender_account`, o ambos, descritos más abajo. Para `card`, define sus `types`. |
| `payment_method_types`   | `array`           | Tipos de métodos de pago que tu cliente puede usar para pagar la sesión. Uno o más de `bank_transfer`, `installments`, `card` y `pac` (débito bancario recurrente automático).                                                                                                                  |
| `payment_resource`       | `object \| null`  | Pago generado por la sesión. `null` hasta que tu cliente inicia un intento de pago. Contiene un `payment_intent`; consulta el [objeto Payment intent](/es/reference/payments-api/payment-intents/payment-intents-object).                                                                       |
| `redirect_url`           | `string \| null`  | URL de la página de checkout alojada por Fintoc donde tu cliente completa el pago. `null` para sesiones pagadas a través del widget de Fintoc.                                                                                                                                                  |
| `save_payment_method`    | `string \| null`  | Indica si la sesión ofrece a tu cliente la opción de guardar su método de pago para pagos futuros. Uno de `enabled` o `disabled`. Solo se devuelve para sesiones con flujo `payment`; `null` cuando no está configurado.                                                                        |
| `session_token`          | `string \| null`  | Token usado para inicializar el widget de Fintoc para pagar la sesión. `null` para flujos `subscription` y `setup` y para pagos completados fuera del widget.                                                                                                                                   |
| `setup_intent`           | `string \| null`  | Siempre `null`. Los setup intents aún no están expuestos en la API.                                                                                                                                                                                                                             |
| `status`                 | `string`          | Estado del ciclo de vida de la sesión. Uno de `created` (tu cliente no ha comenzado a pagar), `in_progress` (Fintoc está procesando el pago), `finished` (la sesión fue exitosa) o `expired`.                                                                                                   |
| `subscription`           | `string \| null`  | `id` de la suscripción iniciada por una sesión con flujo `subscription`. `null` hasta que se cree la suscripción, y para otros flujos.                                                                                                                                                          |
| `success_url`            | `string \| null`  | URL a la que Fintoc redirige a tu cliente después de un pago exitoso. `null` cuando la sesión fue creada sin URLs de redirección.                                                                                                                                                               |

## Objeto Customer

El cliente al que pertenece la sesión, cuando adjuntas uno al momento de crearla.

| Atributo     | Tipo             | Descripción                                                                                                           |
| :----------- | :--------------- | :-------------------------------------------------------------------------------------------------------------------- |
| `id`         | `string`         | Identificador único del cliente.                                                                                      |
| `object`     | `string`         | Tipo del objeto. Siempre `customer`.                                                                                  |
| `address`    | `object \| null` | Dirección del cliente. `null` cuando no se proporciona. Consulta la tabla del objeto Address más abajo.               |
| `created_at` | `string`         | Marca de tiempo ISO 8601 de cuándo se creó el cliente.                                                                |
| `email`      | `string \| null` | Correo electrónico del cliente. `null` cuando no se proporciona.                                                      |
| `metadata`   | `object`         | Conjunto de pares clave-valor adjuntos al cliente.                                                                    |
| `mode`       | `string`         | Modo del objeto. Uno de `live` o `test`.                                                                              |
| `name`       | `string \| null` | Nombre del cliente. `null` cuando no se proporciona.                                                                  |
| `phone`      | `string \| null` | Número de teléfono del cliente. `null` cuando no se proporciona.                                                      |
| `tax_id`     | `object \| null` | Identificador tributario del cliente. `null` cuando no se proporciona. Consulta la tabla del objeto Tax ID más abajo. |

## Objeto Address

| Atributo      | Tipo     | Descripción                                                    |
| :------------ | :------- | :------------------------------------------------------------- |
| `city`        | `string` | Ciudad de la dirección.                                        |
| `country`     | `string` | País de la dirección, como un código ISO 3166-1 de dos letras. |
| `line1`       | `string` | Primera línea de la dirección.                                 |
| `line2`       | `string` | Segunda línea de la dirección.                                 |
| `postal_code` | `string` | Código postal de la dirección.                                 |
| `state`       | `string` | Estado o región de la dirección.                               |

## Objeto Tax ID

| Atributo | Tipo     | Descripción                                              |
| :------- | :------- | :------------------------------------------------------- |
| `type`   | `string` | Tipo del identificador tributario, por ejemplo `cl_rut`. |
| `value`  | `string` | Valor del identificador tributario.                      |

## Opciones de método de pago

Configúralas bajo cada clave de `payment_method_options` para definir cómo paga tu cliente. Para `bank_transfer`, define un `recipient_account` y, opcionalmente, un `sender_account`. Para `pac`, define un `sender_account`.

| Atributo            | Tipo     | Descripción                                                                                                                                                                                        |
| :------------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `recipient_account` | `object` | Cuenta que recibe el pago. Consulta la tabla del objeto Recipient account más abajo. Si cobras a través de Fintoc, omítelo para una mayor estabilidad.                                             |
| `sender_account`    | `object` | Cuenta desde la que paga tu cliente. Consulta la tabla del objeto Sender account más abajo. En notificaciones finales de pago puede ser `null` si tu cliente abandonó el pago antes de elegir una. |

## Objeto Recipient account

| Atributo         | Tipo     | Descripción                                                                                                                                                                                  |
| :--------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `holder_id`      | `string` | ID tributario del titular de la cuenta. En Chile, un ID tributario chileno (RUT); en México, un ID tributario mexicano (RFC) o un ID personal mexicano (CURP).                               |
| `institution_id` | `string` | Identificador de la institución de la cuenta. Consulta los [códigos de instituciones de Chile](/es/docs/payments/overview-payment-initiation/payment-initiation-countries-and-institutions). |
| `number`         | `string` | Número de cuenta, sin guiones ni ceros iniciales.                                                                                                                                            |
| `type`           | `string` | Tipo de la cuenta. Uno de `checking_account` o `sight_account`.                                                                                                                              |

## Objeto Sender account

| Atributo         | Tipo     | Descripción                                                                                                                                                                                                                           |
| :--------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `holder_id`      | `string` | ID tributario del titular de la cuenta. En Chile, un ID tributario chileno (RUT); en México, un ID tributario mexicano (RFC) o un ID personal mexicano (CURP). Sin un `holder_id`, Fintoc omite las validaciones de nuevos contactos. |
| `institution_id` | `string` | Identificador de la institución de la cuenta. Consulta los [códigos de instituciones de Chile](/es/docs/payments/overview-payment-initiation/payment-initiation-countries-and-institutions).                                          |

## Objeto Business profile

| Atributo   | Tipo     | Descripción                                                                                                                                                                                            |
| :--------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `category` | `string` | Código de categoría de comercio (MCC) de seis caracteres del negocio. En Chile, corresponde a un [código de actividad del SII](https://www.sii.cl/ayudas/ayudas_por_servicios/1956-codigos-1959.html). |
| `name`     | `string` | Nombre del negocio. Si se define, aparece como el destinatario en la pantalla de pago exitoso.                                                                                                         |
| `tax_id`   | `string` | ID tributario chileno (RUT) del negocio.                                                                                                                                                               |
