Pagos simulados
El paso de pago no procesa cargos reales: no hay pasarela, no hay red bancaria. Aun así valida como un formulario real, porque el propósito de la aplicación es practicar pruebas contra reglas verídicas.
Validaciones de la tarjeta
| Campo | Regla | Mensaje |
|---|---|---|
| Número | Solo dígitos, 13–19 caracteres, algoritmo de Luhn | El número de tarjeta no es válido. |
| Titular | Obligatorio | Indica el nombre del titular de la tarjeta. |
| Vencimiento | Formato MM/AA, mes 01–12, fecha futura |
La fecha de vencimiento debe ser MM/AA. / La tarjeta está vencida. |
| CVV | 3 o 4 dígitos | El CVV debe tener 3 o 4 dígitos. |
Tarjeta de prueba canónica de la demo: 4111 1111 1111 1111 con cualquier vencimiento futuro y cualquier CVV válido.
Qué se almacena
- Solo los últimos 4 dígitos (
card_last4) en la reserva, para mostrar···· 1111en el detalle. - El número completo, el CVV y el titular nunca se persisten ni se registran en logs.
Propiedades del pago
- Sin cobro parcial: si cualquier validación falla —tarjeta, pasajeros, tarifa, asientos— no se crea nada y el usuario vuelve al paso correspondiente con el mensaje.
- Consistencia de precio: el total cobrado se recalcula en el servidor en el momento de confirmar; el total mostrado en pantalla nunca se confía como entrada.
- Tarjeta válida ≠ vuelo garantizado: si los asientos se agotaron entre la cotización y el pago, la reserva falla con
El vuelo X no tiene suficientes asientos disponibles.y no se cobra nada.