title: Storing credit card details
body: <p>I have a business requirement that forces me to store a customer's full credit card details (number, name, expiry date, CVV2) for a short period of time.</p>
  
  <p>Rationale: If a customer calls to order a product and their credit card is declined on the spot you are likely to lose the sale. If you take their details, thank them for the transaction and then find that the card is declined, you can phone them back and they are more likely to find another way of paying for the product. If the credit card is accepted you clear the details from the order.</p>
  
  <p>I cannot change this. The existing system stores the credit card details in clear text, and in the new system I am building to replace this I am clearly <em>not</em> going to replicate this!</p>
  
  <p>My question, then, is how I can securely store a credit card for a short period of time. I obviously want some kind of encryption, but what's the best way to do this?</p>
  
  <p>Environment: C#, WinForms, SQL-Server.</p>