Memorizzazione dei dettagli della carta di credito

Ho un requisito aziendale che mi obbliga a memorizzare i dati completi della carta di credito di un cliente (numero, nome, data di scadenza, CVV2) per un breve periodo di tempo.

Motivazioni: se un cliente chiama per ordinare un prodotto e la sua carta di credito viene rifiutata sul posto, è probabile che tu perda la vendita. Se si prendono i loro dettagli, li ringraziano per la transazione e poi scoprono che la carta viene rifiutata, è ansible telefonarli e sono più propensi a trovare un altro modo di pagare per il prodotto. Se la carta di credito è accettata, cancelli i dettagli dall’ordine.

Non posso cambiarlo. Il sistema esistente memorizza i dettagli della carta di credito in testo chiaro e, nel nuovo sistema che sto costruendo per sostituirlo, chiaramente non lo replicherò!

La mia domanda, quindi, è come posso conservare in modo sicuro una carta di credito per un breve periodo di tempo. Ovviamente voglio un qualche tipo di crittografia, ma qual è il modo migliore per farlo?

Ambiente: C #, WinForms, SQL Server.