(Divulgación, trabajo para Braintree, un competidor de Stripe)
En Braintree también permitimos que el código CVV se pase a nuestra API. Usted tiene razón en que el PCI-DSS prohíbe explícitamente que los no emisores almacenen el CVV. Se le permite mantener el código temporalmente mientras espera que se autorice el cargo. Esto se establece en el Requisito 3.2 de PCI-DSS (el formato adicional es el mío):
3.2 No almacene datos confidenciales de autenticación después de la autorización (incluso si
cifrado). Si se reciben datos confidenciales de autenticación, todos los datos no se pueden recuperar al completar el proceso de autorización.
Continúa con la definición de datos confidenciales que incluyen el CVV:
Los datos de autenticación confidenciales consisten en datos de seguimiento completos, código o valor de validación de la tarjeta y datos PIN. ¡El almacenamiento de datos confidenciales de autenticación después de la autorización está prohibido! Esta información es muy valiosa para las personas malintencionadas, ya que les permite generar tarjetas de pago falsificadas y crear transacciones fraudulentas.
Lo que esto significa es que los proveedores de servicios y los comerciantes pueden tomar el valor CVV, simplemente no pueden mantenerlo almacenado en su base de datos para su uso futuro.
En la API que está viendo, la creación de una nueva tarjeta de crédito abovedada, el CVV se utiliza para ejecutar una verificación en la tarjeta. Una verificación es un tipo de autorización que garantiza que la cuenta está activa y que se puede cobrar antes de que la almacenemos. Una vez devuelta la verificación descartamos el CVV. Esto nos permite advertir a los comerciantes de que la próxima vez que vayan a usar la tarjeta que el cliente que acaba de agregar fallará.