You could also re-order the check out process so the user enters their billing information after or on the summary page.
What about notifying the user that their credit card information will not be removed until the order is completed and give them an option (similar to cancel) to manually remove their information.
You could also keep track of user activity and have a process delete records from your temp table if the session has timed out.