(Divulgazione, lavoro per Braintree, un concorrente di Stripe)
A Braintree permettiamo anche il passaggio del codice CVV nella nostra API. È corretto che il PCI-DSS proibisca esplicitamente ai non emittenti di memorizzare il CVV. Ti è permesso tenere il codice temporaneamente mentre aspetti che l'addebito sia autorizzato. Questo è indicato nel Requisito 3.2 PCI-DSS (la formattazione aggiuntiva è la mia):
3.2 Do not store sensitive authentication data after authorization (even if
encrypted). If sensitive authentication data is received, render all data unrecoverable upon completion of the authorization process.
Si va a definire i dati sensibili includendo il CVV:
Sensitive authentication data consists of full track data, card validation code or value, and PIN data. Storage of sensitive authentication data after authorization is prohibited! This data is very valuable to malicious individuals as it allows them to generate counterfeit payment cards and create fraudulent transactions.
Ciò significa che i fornitori di servizi e i commercianti sono autorizzati a prendere il valore CVV, semplicemente non possono conservarlo nel loro database per uso futuro.
Nell'API che stai guardando, la creazione di una nuova carta di credito blindata, il CVV viene utilizzato per eseguire una verifica sulla carta. Una verifica è un tipo di autorizzazione che garantisce che l'account sia attivo e possa essere addebitato prima di memorizzarlo. Dopo che la verifica è stata restituita, scartiamo il CVV. Questo ci consente di avvertire i commercianti che la carta appena aggiunta dal cliente non funzionerà più la prossima volta che la useranno.