¿Cómo puedo aceptar pagos sin almacenar datos de tarjetas?
el equipo de heygrc
Usa la tokenización de tu procesador de pagos para que los datos de la tarjeta se envíen directamente a ellos, no a través de tus servidores. Almacena el token que devuelven y los últimos cuatro dígitos para mostrar, y nunca guardes el número completo de la tarjeta ni el código de verificación. Así cumples con el Requisito 3 de PCI DSS y reduces el alcance de PCI que te aplica.
Tokenizar en el punto de entrada
Recopila los datos de la tarjeta con los campos alojados o el SDK del procesador, para que el número de la tarjeta vaya directamente a ellos y tú recibas un token. Los datos de la tarjeta nunca llegan a tu aplicación.
Almacenar el token, no la tarjeta
Guarda el token del procesador y los últimos cuatro dígitos para mostrar. Nunca almacenes el número completo de la tarjeta, y nunca guardes el código de verificación, que no debe conservarse después de la autorización.
Reducir el alcance de PCI
Cuanto menos datos de tarjeta pasen por tus sistemas, menor será tu alcance de PCI. La tokenización es la forma estándar de reducirlo, así que prefírela a manejar el número de la tarjeta directamente.
// paymentMethodId es un token de los campos alojados del procesador (no hay datos de tarjeta aquí)- await orders.insert({ id, pan: card.number })+ await processor.charge(paymentMethodId, amount)+ await orders.insert({ id, paymentMethodId, last4 })return ok()Los datos de la tarjeta se capturan mediante los campos alojados del procesador y nunca llegan a tu servidor; el pedido almacena solo el token de pago y los últimos cuatro dígitos, no el número de tarjeta ni el código de verificación.