Checkout flow with regards to encryption/decryption

In the past I connect to the user to an SSL-secured portion of my site,
asked for or updated their details. I used their credit card's security
code plus the customer's ID in the database as the pass phrase to
encrypt their credit cards (I used Rijndael for encryption).

I didn't like doing it but I stored the customer's security code in
session for at least one action before decrypting the card and sending
it to Authorize.net.

I'm curious to hear how others have handled the flow of checkout on
e-commerce websites.