Objeto Checkout Session
El objetoCheckoutSession representa el flujo de pago que tu cliente completa para pagarte. Creas un objeto CheckoutSession para iniciar un pago, una suscripción o la configuración de un método de pago. Fintoc devuelve el objeto con el monto, la moneda, la configuración del método de pago y las URL de redirección. La sesión pasa por los estados created, in_progress, finished y expired.
Checkout Session Object
{
"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": "name@example.com",
"metadata": {},
"mode": "test",
"name": "Test Customer 1",
"phone": null,
"tax_id": {
"type": "cl_rut",
"value": "111111111"
}
},
"customer_email": "name@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": "0000000000",
"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": "name@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": "0000000000",
"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",
"ui_mode": "hosted"
}
| Atributo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único de la sesión de checkout. |
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 en UTC 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 | null | Cliente al que pertenece la sesión. null 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 en UTC 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. Para card, define types en el flujo payment o kinds (credit, debit) en los flujos setup y subscription. |
payment_method_types | array | Tipos de métodos de pago que tu cliente puede usar para pagar la sesión. Admite bank_transfer (transferencia bancaria única), installments (pago en cuotas), card (tarjeta de crédito o débito), 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. |
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 | Opción para guardar el método de pago de tu cliente para pagos futuros. Uno de enabled o disabled. Fintoc solo devuelve este campo para sesiones con flujo payment; es 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 | id del setup intent que crean las sesiones con flujo setup y subscription. null para otros flujos y hasta que Fintoc intenta configurar el método de pago. Consulta el objeto Setup Intent para conocer sus campos de estado y error. |
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 | Identificador de la suscripción asociada con la sesión. Para un flujo subscription, contiene la suscripción que inicia la sesión o null hasta que Fintoc la crea. Para un flujo setup creado con subscription, contiene la suscripción cuyo método de pago actualiza la sesión; es null en los demás casos. |
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. |
ui_mode | string | Interfaz de usuario que usa el checkout. Uno de hosted (página alojada por Fintoc) o embedded (botones integrados, como Apple Pay). |
Objeto Customer
El objeto Customer representa al cliente que adjuntas cuando creas la sesión.| 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 en UTC 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. live usa datos reales de la institución; test usa datos falsos para pruebas de integración. |
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
Usapayment_method_options para configurar los métodos de pago de la sesión. Para bank_transfer, define un recipient_account y, opcionalmente, un sender_account. Para pac, define un sender_account. Para card, consulta el endpoint Crear checkout session. Este endpoint define types para el flujo payment y kinds (credit, debit) para los flujos setup y subscription.
| 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, omite este campo. |
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 cuenta. |
Objeto Recipient account
El objeto Recipient account describe la cuenta bancaria que recibe los fondos. Fintoc lo devuelve en el camporecipient_account.
| Atributo | Tipo | Descripción |
|---|---|---|
holder_id | string | Identificador tributario del titular de la cuenta. En Chile, corresponde al identificador tributario chileno (RUT). En México, corresponde al Registro Federal de Contribuyentes (RFC) o a la Clave Única de Registro de Población (CURP). |
institution_id | string | Identificador de la institución de la cuenta. Consulta los códigos de instituciones de Chile. |
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
El objeto Sender account describe la cuenta bancaria desde la que paga tu cliente. Fintoc lo devuelve en el camposender_account.
| Atributo | Tipo | Descripción |
|---|---|---|
holder_id | string | Identificador tributario del titular de la cuenta. En Chile, corresponde al RUT. En México, corresponde al RFC o a la 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. |
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 Business profile
El objeto Business profile identifica al comercio registrado que recibe el pago. Fintoc lo devuelve en el campobusiness_profile de la sesión de checkout.
| 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 Servicio de Impuestos Internos (SII). |
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. |