RF46: Sistema valida método de pago
Descripción
El sistema valida que el método de pago registrado por el usuario sea utilizable (tarjeta válida, no expirada, autenticada con 3D Secure si el emisor lo exige) antes de asociarlo o de intentar un cobro.
La validación la realiza Stripe al adjuntar/confirmar el PaymentMethod; Finnova nunca valida ni almacena el PAN. Es el complemento de RF35 y prerequisito de RF38/RF43.
| Campo | Valor |
|---|---|
| Módulo | Subscription Module |
| Actor | Sistema (valida con Stripe) |
| Endpoint | Interno: validación al adjuntar/confirmar PaymentMethod (Stripe SetupIntent) |
| Precondiciones | Existe un PaymentMethod tokenizado |
| Prioridad | Alta (MVP) |
| Etapa | MVP |
| Requisitos relacionados | RF35, RF36, RF38 |
Reglas de negocio
- RN-46.1 — La validación se delega a Stripe (SetupIntent / confirmación); Finnova no procesa datos de tarjeta.
- RN-46.2 — Si el emisor exige 3D Secure, se completa el reto antes de considerar el método válido.
- RN-46.3 — Una tarjeta expirada, rechazada o sin fondos para verificación no se marca como válida.
- RN-46.4 — El resultado de validación (válido/ inválido + motivo no sensible) se refleja al usuario con un mensaje claro.
- RN-46.5 — No se almacenan ni registran en logs el PAN ni el CVV.
Validaciones / consideraciones
| Aspecto | Regla |
|---|---|
| Expiración | Tarjeta no vencida. |
| 3D Secure | Completado cuando el emisor lo requiere. |
| Resultado | Estado y motivo no sensible (declined, expired, etc.). |
Criterios de aceptación
Escenario 1: Método válido
Dado que registro una tarjeta válida, Cuando el sistema la valida con Stripe (SetupIntent), Entonces la marca como válida y utilizable para cobros, Y se confirma el registro (RF35).
Escenario 2: Tarjeta rechazada o expirada
Dado que la tarjeta es rechazada o está expirada, Cuando el sistema la valida, Entonces no la marca como válida, Y muestra un mensaje claro ("Tu tarjeta fue rechazada/expiró. Verifica los datos o usa otra").
Escenario 3: Requiere 3D Secure
Dado que el emisor exige 3DS, Cuando se valida la tarjeta, Entonces la app completa el reto 3DS y solo entonces se considera válida.
Escenario 4: No exposición de datos (seguridad)
Dado que se valida un método de pago, Cuando se inspeccionan logs/DB, Entonces nunca aparece el PAN ni el CVV.
Criterios no funcionales
- Scope PCI SAQ A; comunicación TLS 1.2+.
- Mensajes de error sin información sensible del emisor.