cancel
Showing results for 
Search instead for 
Did you mean: 

How to implement a "Review Order" feature

 

I have been searching trying to find information about best practices around storing transient credit card data.  My use case is as follows:

 

After clicking "Checkout" in the cart to begin the checkout process,  users enter their shipping address, billing address, and credit card info.  They are then taken to a "Review Order" page to make sure that the order is correct.  If they do not have changes, they may click the "Place Order" button.  Once the order is placed, their card is authorized via Authorize.net.  The store ships physical goods, so a capture will be issued at a later date, once the products are shipped.

 

In order to store the credit card info securely between entering the credit card data and placing the order (i.e. in order to supply CC data and then have the "Review Order" page, allowing the user to cancel the order if incorrect) I plan to use CIM.

 

I hope to support users with accounts on my site as well as "guest" users.  "Guest" users will end up with an account since they will supply an email address which will be, in turn, used for the CIM profile.  Registered users will be able to reuse their payment information since it is stored in CIM.  Registered users should also have the ability to choose to not save their credit card info for future use.

 

My main concern is storing the credit card data indefinitely, particularly in the case of a "guest" user or a registered user that has declined to store their payment information.  I think I will have to store the payment profile in CIM until the capture occurs, although I would like to get rid of the credit card info as soon as the authorization happens if the customer does not want it stored.  In this case, will refunds be a problem without the customer profile or customer payment profile?

 

I know that using CIM is secure, PCI compliant storage but what are the best practices around storing this data?  Also, are there other ways to implement a "review order" flow without authorizing the credit card prior to placing the order?

 

tomtoday
Member
1 ACCEPTED SOLUTION

Accepted Solutions

Since you specifically noted that you don't want to authorize the card in advance, there really isn't another method of accomplishing delayed payment.

 

Everything that you've described here appears to be correct and workable.  Refunds should not be an issue, as long as you are issuing them within 120 days. You only need to reference the original transaction ID and the last 4 digits of the card number and the last 4 digits of a card number are not a PCI concern if stored on their own.

 

View solution in original post

Trevor
Administrator Administrator
Administrator
5 REPLIES 5

Since you specifically noted that you don't want to authorize the card in advance, there really isn't another method of accomplishing delayed payment.

 

Everything that you've described here appears to be correct and workable.  Refunds should not be an issue, as long as you are issuing them within 120 days. You only need to reference the original transaction ID and the last 4 digits of the card number and the last 4 digits of a card number are not a PCI concern if stored on their own.

 

Trevor
Administrator Administrator
Administrator

Trevor, thanks for the reply.  I'm glad I asked, I really wanted to make sure I was thinking about the entire issue correctly.

 

Just to be clear, am I correct in thinking that I might be able to store the masked CC number (basically the last 4 digits) along with the authorize.net transaction ID as a part of my application's transaction record?  If that is possible, the lion's share of refunds will be very simple for our customers.

 

Thanks again for your thoughts and help.

That's correct.  The last 4 of the card number are passed back to you and can be stored.

I have the exact same situation.

 

I have a page where the customer puts in their Shipping Address, Credit Card information, and Billing address. However before charging the card the next page is "Review Order" which shows a summary of the order with the final price including shipping and taxes.

 

My problem is that I don't know the best way to store the credit card information until I can use it when the customer clicks "Place Order" on the "Review Order" page.

 

If I use CIM I'm not sure how to use the stored Payment Profile with AIM.

If you use CIM to stored payment info, you will use CIM to create transaction.