How Order Info is Stored (for tech staff) [Migration Draft]
Orders are saved to the ProductCart database using the following tables:
- Orders
The orders table contains details about the customers’ billing and shipping address, shipping and payment options used for the order, discounts applied, and more. The details field in the orders table contains a summary of the products purchased. Don’t use this field if you need to query which products were part of the order. Use the ProductsOrdered table instead. - ProductsOrdered
Contains a list of the products that were part of any order. Each product is represented by one record in the database. The idOrder field contains the order number to which the products belong. Orders that contained multiple products are represented by multiple records that share the idOrder value. - authorders
Contains transaction details for orders that were placed using Authorize.Net set up in AUTH_ONLY state, where transactions are authorized, but funds are not captured. The information in this table is used by the batch processing feature to return transaction details to Authorize.Net so that funds may be captured (and to process a different transaction amount, if needed due to changes to the order amount). Credit card details are stored in an encrypted format. - pfporders
Same as authorders, but used when the payment gateway is Payflow Pro. - netbillorders
Same as authorders, but used when the payment gateway is NetBilling. - pcPay_USAePay_Orders
Same as authorders, but used when the payment gateway is USAePay. - CreditCards
Contains credit card information, including encrypted credit card numbers, for the orders that were placed using offline credit card processing as the payment option. - CustomCardOrders
Contains custom card orders for orders that were placed using a custom card (e.g. store debit card). Since a store could be using multiple custom cards, and each custom cards may have information (fields) that is unique to it, order information is saved in this table using the following approach: each row represents one of the N values that the selected custom card option prompted the user to provide during checkout.