PCI DSS en clínicas privadas · cómo cumplir vía Stripe (sin SAQ-D)
Cobrar con tarjeta en clínica privada implica · te guste o no · cumplir PCI DSS · el estándar global de seguridad de pagos. La buena noticia: si usas Stripe correctamente · puedes quedarte en SAQ-A · el cuestionario corto de 22 preguntas. La mala: hay 3-4 errores comunes que te empujan automáticamente a SAQ-D · 329 preguntas · auditorías y dolor. Esta guía explica cómo no caer en eso.
Qué es PCI DSS y por qué afecta a tu clínica
PCI DSS (Payment Card Industry Data Security Standard) es un estándar mantenido por Visa · Mastercard · American Express · Discover y JCB. Aplica a cualquier comercio que acepte tarjeta. Tu clínica es un "merchant" para PCI desde el primer cobro · aunque sea 30€.
- No es una ley estatal · es contrato con tu banco adquirente (Stripe en este caso)
- No cumplir puede implicar: multas del banco · suspensión servicio · responsabilidad civil ante fraude
- Aplica a TODOS los canales: terminal físico · ecommerce · cobro recurrente · Payment Link
Los 4 niveles PCI · dónde está tu clínica
PCI define 4 niveles según volumen anual de transacciones con cada marca:
- Nivel 1 · más de 6 millones transacciones anuales · audit externa anual (irrelevante para clínica)
- Nivel 2 · 1-6M tx · audit autoevaluada
- Nivel 3 · 20k-1M tx (ecommerce) · autoevaluación
- Nivel 4 · menos de 20k tx anuales · 99% de clínicas privadas españolas están aquí · solo SAQ (Self-Assessment Questionnaire)
Los 9 SAQs · cuál te toca
Una vez en nivel 4 · te asignan un SAQ según cómo procesas tarjetas. Los relevantes para clínica:
SAQ-A · el santo grial (22 preguntas)
Aplica cuando:
- Todos los pagos se hacen via tercero PCI compliant (Stripe · Redsys · Adyen) usando iframe o redirect
- Tu sistema NUNCA toca · transmite · almacena datos de tarjeta (PAN · CVV · fecha caducidad)
- Tu web no tiene formulario propio capturando tarjeta · solo embebido de tercero
Si cumples las 3 · tu única obligación es marcar las 22 preguntas anuales en Dashboard Stripe (o equivalente). 30 minutos al año. Es el objetivo.
SAQ-A-EP · variante intermedia (191 preguntas)
Aplica cuando:
- Tu web carga el formulario de tarjeta (aunque sea iframe Stripe) y tu dominio interactúa con él
- Usas Stripe Elements en tu propio HTML pero con la integración correcta
Tres veces más papeleo que SAQ-A · escaneos trimestrales obligatorios · pero todavía manejable.
SAQ-D · el infierno (329 preguntas)
Aplica cuando:
- Cualquier sistema tuyo toca · almacena · transmite datos PAN/CVV
- Tienes formulario propio que captura número tarjeta
- Tu software clínica almacena tarjeta para cobros recurrentes (sin tokenización vía gateway)
329 controles · pen-testing anual · gestión de claves · segmentación red · políticas escritas · revisiones logs diarios. Para una clínica con 4 personas en plantilla · es inviable.
Cómo Stripe te mantiene en SAQ-A
Opción 1 · Stripe Checkout (la más simple)
Cuando el paciente paga · es redirigido a una página alojada en checkout.stripe.com. Tú nunca ves la tarjeta · Stripe captura · procesa · te devuelve resultado.
- PCI scope: 0% (no tocas nada)
- SAQ aplicable: A
- UX: el paciente sale brevemente de tu dominio · vuelve tras pago
Opción 2 · Stripe Payment Link
Tú generas un link en dashboard · se lo envías al paciente por WhatsApp/email · paga en página Stripe.
- PCI scope: 0%
- SAQ: A
- Ideal para: clínicas sin web compleja · cobro depósitos por WhatsApp
Opción 3 · Stripe Elements en iframe (correctamente)
El componente Stripe Elements se carga como iframe desdejs.stripe.com dentro de tu web. El input de tarjeta visualmente parece tuyo · pero técnicamente es de Stripe.
- PCI scope: depende implementación · puede ser SAQ-A o SAQ-A-EP
- Ventaja: UX uniforme · paciente nunca sale de tu marca
- Riesgo: si modificas el iframe o capturas eventos del campo tarjeta → te vas a SAQ-A-EP o D
4 errores típicos que te empujan a SAQ-D
Error 1 · Imprimir tarjeta en factura
Algunas clínicas anotan los 4 últimos dígitos de la tarjeta en la factura como "referencia pago". Si imprimes el PAN completo o más de 6 primeros + 4 últimos · violas PCI Req 3.3 y entras en SAQ-D. Solución: imprime solo**** **** **** 4242 · o no imprimas nada.
Error 2 · Apuntar tarjeta en software clínica
Recepción anota tarjeta en campo "observaciones" del paciente para "no tener que pedirla cada visita". Pesadilla PCI · te metes en SAQ-D y violas RGPD (categoría datos especialmente protegidos no · pero sí datos financieros sensibles).
Solución: Stripe ofrece "save card for future use" via SetupIntent · la tarjeta se tokeniza · tú guardas solo elcustomer_id · sin PAN.
Error 3 · Recibir tarjeta por WhatsApp
"Mándame el número de tarjeta por WhatsApp y te cobro" · NO. Aunque sea conversación humana entre paciente y recepción · el sistema (Meta · servidores Cloud API · tu device) está ahora "tocando" PAN. SAQ-D · y violación T&Cs WhatsApp Business además.
Solución: envía Payment Link Stripe via WhatsApp. Paciente paga en Stripe · tú nunca ves número.
Error 4 · Terminal POS conectado a red sin segmentar
Tener TPV físico (Redsys · BBVA) conectado a la misma red Wi-Fi que ordenadores recepción y software clínica · puede considerar todos los sistemas en scope PCI. Solución: red aislada para TPV · o usar TPV con SIM 4G dedicada.
Cómo rellenar el SAQ-A en Stripe · paso a paso
Stripe ofrece el cuestionario integrado en Dashboard. Pasos:
- Dashboard Stripe · Configuración · Cumplimiento · PCI DSS
- Selecciona SAQ-A si solo usas Checkout · Payment Link · o Elements vía iframe sin modificar
- Respondes 22 preguntas tipo "¿Almacena datos completos de tarjeta?" · "¿Acepta pagos solo via tercero compliant?"
- Generas Attestation of Compliance (AOC) · documento PDF que puedes presentar a tu banco si lo pide
- Repetir anualmente · Stripe te recuerda
Cómo manejarlo con software clínica
La mayoría de softwares dentales (Gesden · Dentalink · Vesta · Patient) NO son PCI compliant nativamente · por eso es vital que NO almacenen datos tarjeta. La práctica correcta:
- Software clínica guarda
stripe_customer_idystripe_payment_method_id· no PAN - Cuando necesitas cobrar · API call a Stripe pasando esos IDs · Stripe carga
- Recibo de pago va al historial · sin datos tarjeta · solo últimos 4 dígitos como referencia
Auditorías y multas · qué pasa si no cumples
En clínica nivel 4 (la mayoría) no hay auditor externo anual. Pero si hay incidente (fraude · brecha datos) · el banco adquirente puede pedir tu AOC. Si no tienes uno actualizado:
- Multa banco: típicamente 50-250€ inicial · escala con reincidencia
- Responsabilidad: en caso fraude probado y demostrado incumplimiento PCI · el merchant paga el fraude (no el banco)
- AEPD aparte: si hay brecha datos tarjeta · es brecha RGPD · notificable en 72h
Cómo AI Empire encaja
AI Empire integra cobros vía Stripe Payment Link en el flujo WhatsApp. Esto significa:
- Tu clínica permanece en SAQ-A · scope PCI mínimo
- Datos tarjeta nunca pasan por nuestros servidores · vamos paciente → Stripe directo
- Almacenamos solo
customer_idStripe (tokens) · sin PAN ni CVV - Reembolsos via API Stripe · trazabilidad completa para auditoría
Disclaimer: PCI DSS es un estándar técnico · no asesoramiento jurídico. Este artículo refleja interpretación operativa común para clínicas nivel 4. Si manejas volúmenes altos · cobros recurrentes complejos · o tienes dudas sobre tu scope · consulta con QSA (Qualified Security Assessor) certificado. AI Empire NO es QSA · y no certifica cumplimiento.