Saltar al contenido principal
Guarda el método de pago de un cliente una vez y cóbralo más tarde para pagos on-demand o de monto variable, sin crear una suscripción recurrente. A diferencia del flujo de suscripción, el flujo de setup no acopla el registro con facturación recurrente, por lo que tú decides cuándo y cuánto cobrar. Configura un método de pago y cóbralo más tarde en cuatro pasos:
  1. En tu backend, crea una Checkout Session con flow: setup.
  2. Redirige a tu cliente para completar el registro en la página de checkout alojada por Fintoc.
  3. Maneja los eventos posteriores a la sesión para guardar el payment_method y customer.
  4. Crea cargos contra el método de pago guardado usando la API de Payment Intent.
El siguiente diagrama muestra cómo funciona el flujo de setup:

Crea una Checkout Session

El Checkout Session con el flujo setup representa tu intención de guardar un método de pago para cobros futuros, sin crear una suscripción recurrente. Usando tu Secret Key, crea una Checkout Session en tu backend con flow en setup: Servidor
Node
Después de crear la Checkout Session, Fintoc responde con los detalles de la sesión y un redirect_url:
Diferencia con el flujo de suscripciónCuando creas una Checkout Session con flow: setup, Fintoc registra el método de pago del cliente y crea un PaymentMethod, pero no crea una subscription ni agenda cobros recurrentes. Tú controlas cuándo y cuánto cobrar creando payment intents futuros.

Incluir datos del cliente

Al crear una Checkout Session para setup, debes incluir información del cliente.

Redirige al cliente para completar el registro

A continuación, redirige al cliente al redirect_url de la respuesta. El cliente ve la página de checkout alojada por Fintoc, donde completa el registro. Después de que el cliente complete el registro, Fintoc lo redirige automáticamente a tu success_url o cancel_url, según el resultado. Cliente

Maneja los eventos posteriores a la sesión

Siempre usa webhooks para determinar el resultado final. Los clientes pueden cerrar la pestaña, perder conexión o nunca llegar a tu success_url.

Eventos de Checkout Session

Cuando el registro se completa, Fintoc envía un evento checkout_session.finished con la información del customer y payment_method:

Eventos de Payment Method

Fintoc también envía un evento payment_method.activated. El campo data del evento contiene un PaymentMethod como este:
Guarda tanto el ID del customer como el ID del payment_method. Los necesitas para crear cargos más adelante.

Resumen de eventos

Debes suscribirte a todos los siguientes eventos posteriores a la sesión:

Crear un cargo contra el método de pago guardado

Una vez que tienes un payment_method guardado, cóbralo creando un Payment Intent con los IDs del payment_method y customer: Servidor
Node
Fintoc responde con el Payment Intent creado:

Maneja los eventos de pago

Suscríbete a los siguientes eventos para rastrear el resultado del pago:

Prueba tu integración

Usando tu Secret Key de modo de prueba, crea Checkout Sessions que simulan el flujo completo de setup y pago sin mover dinero.

1) Crea una Checkout Session de setup usando credenciales de prueba

Crea una Checkout Session con flow: setup usando tu Secret Key de modo de prueba. Completa el flujo de registro en la página alojada por Fintoc usando las siguientes credenciales: Credenciales de prueba:

PAC:

  • Usuario (RUT): 11.111.111-1
  • Contraseña: jonsnow
Selecciona la cuenta según el resultado final que quieras probar:

Tarjeta:

2) Verifica el método de pago guardado

Después de completar el registro de prueba, deberías recibir los eventos webhook checkout_session.finished y payment_method.activated. Verifica que:
  • El ID del payment_method esté presente en el payload del evento.
  • El ID del customer coincida con el cliente que registraste.

3) Crea un cargo de prueba contra el método guardado

Usando los IDs del customer y payment_method del paso 2, crea un Payment Intent contra el método guardado. Verifica que:
  • Recibas el evento payment_intent.succeeded.
  • El monto coincida con el que enviaste.
  • El método de pago usado sea el PAC o tarjeta guardada.
El modo de prueba aún no soporta guardar un Payment Method en México.