Saltar al contenido

Checkout

Beta

Pago de una inscripción en pasos: datos de facturación, método de pago condicional, resumen pegado, confirmación y estado final.

registry/examples/templates/checkout.tsx
Abrir en una pestaña nueva ↗

Para probarlo: cambiá el método a transferencia, tocá las cuotas, aceptá el reglamento y confirmá.

Qué incluye

  • Stepper arriba, con el paso anterior clickeable.
  • Dos Card de formulario: Input con inputMode y autoComplete de tarjeta, Select de provincia.
  • Radio group para el método; con tarjeta aparece el Number field de cuotas con el importe en el hint, con transferencia un Alert con los datos y un File upload para el comprobante.
  • Checkbox de aceptación que habilita la primaria; Modal de confirmación; estado final con Chip y Divider en el resumen; Footer compact.

Decisiones

  • El resumen es sticky desde 1024 px y va a la derecha: el total se ve mientras se completa el formulario. En móvil baja al final.
  • Los campos de pago cambian con el método, no se muestran todos deshabilitados. Menos ruido y menos errores.
  • Las cuotas calculan el importe en el hint (3 cuotas de $ 20.500): el número solo no alcanza para decidir.
  • Confirmar está deshabilitado hasta aceptar el reglamento, y el Modal repite el importe y las cuotas antes de cobrar.
  • El éxito reemplaza el formulario y el Stepper marca todo completo; desde ahí hay dos salidas: comprobante y materias.
  • Navbar sin navegación (collapse="never"): en un flujo de pago no se invita a irse a otro lado.

Cómo adaptarlo

  • Cada card es un paso candidato: si el flujo crece, dividí facturación y pago en dos pantallas y movés el Stepper.
  • Los montos están en pesos con toLocaleString("es-AR"); cambiá la moneda en pesos().
  • El resultado de pago real reemplaza el setDone(true) del Modal.

Instalación

npx shadcn@latest add https://polen.cdc.cool/r/template-checkout.json