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.
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": "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. |
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 depayment_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. |
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. |
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. |
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. |