Integration security guide
Garantiza el cumplimiento de la normativa PCI y protege las comunicaciones entre el cliente y el servidor.
Se trata del estándar de seguridad global para todas las entidades que almacenan, procesan o transmiten datos confidenciales de autenticación o de titulares de tarjetas. La normativa PCI DSS establece un nivel básico de protección para los consumidores y ayuda a reducir el fraude y las filtraciones de datos en todo el ecosistema de pagos. Todas las personas involucradas en el procesamiento, transmisión o almacenamiento de datos de tarjetas deben cumplir con el Estándar de Seguridad de Datos del Sector de Tarjetas de Pago (PCI DSS).
Validar el cumplimiento de la normativa PCI
El cumplimiento de la normativa PCI es una responsabilidad compartida y se aplica tanto a tu Stripe como a tu empresa:
- Stripe cuenta con la certificación anual de un auditor certificado en seguridad (QSA) independiente como Proveedor de servicios de nivel 1 de la normativa PCI que cumple con todos los requisitos de PCI.
- Como empresa que acepta pagos, debes hacerlo cumpliendo con la normativa PCI y dar fe de ello anualmente.
Revisa los requisitos de documentación para tu empresa en tu Dashboard y continúa leyendo esta guía para saber cómo Stripe puede ayudarte a cumplir con la normativa PCI.
Usa integraciones de bajo riesgo
Algunos modelos de negocio requieren la entrada de PAN no tokenizados en una página de pago. Si tu empresa maneja datos confidenciales de tarjetas de crédito directamente cuando acepta pagos, es posible que debas cumplir con los más de 300+ controles de seguridad de la normativa PCI DSS. Es posible que debas comprar, implementar y mantener software y hardware de seguridad dedicados, y contratar auditores externos para respaldar tus requisitos de evaluación anual.
Muchos modelos de negocio no necesitan manejar datos sensibles de tarjetas. En cambio, puedes usar una de nuestras integraciones de pago de bajo riesgo para recopilar y transmitir de forma segura la información de pago directamente a Stripe sin que pase por tus servidores, lo que reduce tus obligaciones relacionadas con la normativa PCI.
Datos de tarjetas fuera del alcance que puedes almacenar en forma segura
Stripe devuelve información no confidencial de la tarjeta en respuesta a una solicitud de cargo. Estos datos incluyen el tipo de tarjeta, los últimos cuatro dígitos de la tarjeta y la fecha de vencimiento. Esta información no está sujeta al cumplimiento de la normativa PCI, por lo que puedes almacenar cualquiera de estas propiedades en tu base de datos. Asimismo, puedes almacenar lo que sea que devuelva nuestra API.
Usar TLS y HTTPS
TLS es el proceso de transmisión segura de datos entre el cliente (la aplicación o el navegador que usa tu cliente) y tu servidor. En un principio, el protocolo Secure Sockets Layer (SSL) realizaba esta tarea, pero está desactualizado y ya no es seguro. TLS reemplazó a SSL, pero el término SSL continúa usándose coloquialmente cuando se refiere a TLS y su función para proteger los datos transmitidos.
Las páginas de pagos deben usar una versión reciente (TLS 1.2 o superior) porque reduce significativamente el riesgo de ataques de intermediarios tanto para ti como para tus clientes. Estos son los objetivos de TLS:
- Cifrar y verificar la integridad del tráfico entre el cliente y tu servidor.
- Verify that the client is communicating with the correct server. In practice, this usually means verifying that the owner of the domain and the owner of the server are the same entity. This helps prevent man-in-the-middle attacks. Without it, there’s no guarantee that you’re encrypting traffic to the right recipient.
El uso de TLS requiere un certificado digital, un archivo emitido por una autoridad de certificación (CA). La instalación de este certificado asegura al cliente que en realidad se está comunicando con el servidor con el que espera estar hablando, y no con un impostor. Debes obtener un certificado digital de un proveedor de certificadosacreditado, por ejemplo:
Puedes probar tu integración sin usar HTTPS si es necesario y habilitarlo cuando todo esté listo para aceptar cargos reales. No obstante, todas las interacciones entre tu servidor y Stripe deben usar HTTPS (es decir, al usar nuestras bibliotecas).
Set up TLS 
Para configurar TLS:
- Compra un certificado de un proveedor adecuado.
- Configura el servidor para que use el certificado. Este paso es complejo, así que sigue la guía de instalación del proveedor que utilices.
Como se trata de un conjunto complejo de herramientas de cifrado, es fácil pasar por alto algunos detalles. Te recomendamos usar la prueba de servidor SSL de Qualys SSL Labs para asegurarte de haber configurado todo de manera segura.
Security considerations 
Incluir JavaScript desde otros sitios puede implicar un riesgo de seguridad, ya que tu seguridad pasará a depender de la de esos sitios. Si son víctimas de un ataque alguna vez, el atacante podrá ejecutar código arbitrario en tu página. En la práctica, muchos sitios hacen uso de JavaScript para servicios como Google Analytics, incluso en páginas seguras. Sin embargo, es algo de lo que debemos estar conscientes y, de ser posible, debemos minimizar.
Si usas webhooks, usa TLS en el punto de conexión para evitar interceptaciones en el tráfico y que se alteren las notificaciones (nunca debe incluirse información confidencial en un evento de webhook).
While complying with the Data Security Standards is important, it shouldn’t be where you stop thinking about security. Some good resources to learn about web security are:
Política de seguridad de contenido
Si implementaste una Content Security Policy, este es el conjunto completo de directivas que requieren Checkout, los componentes integrados de Connect y Stripe.js:
Compatibilidad con el aislamiento de origen cruzado
Actualmente, no se admiten sitios de origen cruzado.
Requiere el soporte de todas las dependencias, y varias dependencias clave que habilitan nuestras ofertas de pago aún no proporcionan soporte para esta funcionalidad.