- En tu backend, crea un
Checkout Sessionusando tu Secret Key - Redirige a tu cliente para completar el pago en la página de checkout alojada por Fintoc
- Maneja los eventos posteriores al pago

Opcional: instala el SDK del backend
- Python
- Node
Si usas Python, puedes instalar nuestro SDK de Python para interactuar con nuestra API de manera más sencilla. El SDK maneja automáticamente la paginación, te permite verificar fácilmente los webhooks de Fintoc y ofrece muchas otras funciones útiles.
Crea una sesión
El objeto Checkout Session representa tu intención de cobrar un pago a un cliente y rastrea los cambios de estado a lo largo del proceso de pago. Usando tu Secret Key, crea unCheckout Session desde tu backend con los parámetros requeridos: amount, currency, success_url y cancel_url, como en el ejemplo a continuación:
Servidor
Node
Checkout Session creado, incluyendo el redirect_url que usas para enviar al cliente al pago:
Business profile (opcional)
Envía el objeto Business Profile si estás procesando pagos para un submerchantTambién puedes agregar el objeto
business_profile al crear una sesión para personalizar el nombre mostrado como “Destinatario” en el flujo de pago.Lee aquí para aprender más.Incluir datos del cliente (opcional)
Al crear unCheckout Session, puedes incluir información del cliente enviando un objeto customer_data (o customer con el id de un Customer existente). Esta información permite a Fintoc mostrar solo los métodos de pago disponibles para ese cliente específico. Por ejemplo, Fintoc oculta un banco cuando el monto excede su límite de transacción.
Flujos de pago específicos de banco para cuentas empresariales y montos altosEn Chile, algunos pagos
bank_transfer requieren bancos con flujos de pago especiales: Banco Estado, Banco de Chile y Banco Santander. Fintoc limita la sesión a estos bancos cuando el pago excede los límites de transacción o el customer tiene un tax_id.value de empresa en lugar de persona natural. Puedes probar este flujo con estas credenciales.Incluir una lista de ítems (opcional)
Al crear unCheckout Session, también puedes enviar los line_items, incluyendo información sobre los ítems de la sesión. Esto permite a Fintoc mostrar esta información en la página de checkout y mostrar solo los métodos de pago disponibles para productos específicos.
Cada ítem debe tener:
El objeto price_data
El objeto product_data
El objeto price_data contiene un objeto product_data con información del producto:
El ejemplo a continuación crea un
Checkout Session con un solo line item:
Servidor
Node
Checkout Session creado, haciendo eco de los line_items que enviaste:
Preseleccionar un método de pago (opcional)
Puedes crear unCheckout Session sin especificar métodos de pago. En este caso, los clientes pueden seleccionar entre todas las opciones disponibles en la página de checkout alojada por Fintoc, según los parámetros de la sesión (amount, customer, currency) y los métodos de pago que hayas habilitado en Fintoc.
Alternativamente, puedes definir explícitamente el tipo o tipos de método de pago para la sesión. Por ejemplo, la solicitud a continuación establece el método bank_transfer y usa payment_method_options para preseleccionar la institución cl_banco_estado para el cliente. En este escenario, el flujo de pago presentado al cliente se limita a este método y banco específicos.
Servidor
Node
Fintoc responde con el objeto
Checkout Session creado, haciendo eco del método e institución preseleccionados:

Izquierda: Vista predeterminada que muestra todos los métodos disponibles en Chile (transferencia bancaria y tarjetas) cuando no se establece el parámetro payment_method_types. Centro: Flujo bank_transfer preseleccionado para Banco Estado, mostrando directamente el formulario de pago específico de la institución. Derecha: Flujo card preseleccionado.
Uso de tu propia página de CheckoutCuando tienes tu propia página de checkout, debes establecer
payment_method_types para redirigir a los clientes al checkout alojado por Fintoc después de que ya hayan seleccionado su método de pago preferido.Esto omite la pantalla de selección de método de pago de Fintoc y dirige a los clientes directamente al flujo de pago específico, en lugar de dejar que Fintoc gestione la experiencia de checkout completa.Respuesta al crear una Checkout Session
Después de hacer la solicitud para crear la Checkout Session, Fintoc responde con el objeto de la sesión:redirect_url. En el siguiente paso, usarás este atributo para redirigir al cliente a completar el pago.
Redirige al cliente para completar el pago
A continuación, redirige a los clientes a la página de checkout alojada por Fintoc. Después de que completen el pago, Fintoc los redirige automáticamente de vuelta a tu sitio: alsuccess_url después de un pago exitoso, o al cancel_url si cancelan.
Cliente
Maneja los eventos posteriores al pago
Una vez que unCheckout Session finaliza, manejas el resultado del pago en tu frontend y completas el pago en tu backend. En tu backend, usa los eventos que Fintoc envía a través de webhooks.
Completa el pago en tu backend
Fintoc envía un eventocheckout_session.finished y un payment_intent.succeeded cuando la sesión se completa y el pago es exitoso. Sigue la guía de webhooks para recibir estos eventos y ejecutar acciones, como enviar un correo de confirmación de orden a tu cliente, registrar la venta en una base de datos o iniciar un flujo de envío.
El evento checkout_session.finished incluye información sobre la sesión y el payment_intent:
Manejo de pagos asíncronos después de que termina el
Checkout SessionEn algunos casos, el Checkout Session puede finalizar con un pago que aún no tiene un estado final, como requires_action. Esto puede ocurrir, por ejemplo, cuando una transferencia bancaria desde una cuenta empresarial requiere aprobación de más de un representante.En estos casos, cuando recibas el evento payment_intent.requires_action, informa al cliente que el pago está pendiente de aprobación. Una vez que recibas el evento payment_intent.succeeded o payment_intent.failed, debes notificar al cliente del estado final del pago tan pronto como se confirme.Prueba tu integración
Usando tu Secret Key de modo de prueba, puedes crear pagos que simulan resultados exitosos y fallidos sin mover dinero. Esto te permite validar tu flujo de pago completo de extremo a extremo:- Tus solicitudes a la API del backend (creación de sesiones y manejo de respuestas)
- El flujo de redirección desde tu frontend al
redirect_urly de vuelta alsuccess_urlocancel_urldespués del pago - Los webhooks para eventos posteriores al pago
status finished y dispara los webhooks checkout_session.finished y payment_intent.succeeded; una fallida dispara payment_intent.failed. Para disparar escenarios específicos, usa las credenciales de prueba y valores especiales de prueba descritos en nuestra guía de pruebas.