Some things your shopping cart might be missing which are non trivial.
- Coupons or PROMOS ( X% off, $Y off, stackable)
- Persisting a shopping cart between visits if an user doesn't checkout.
- Saving items from a shopping cart to wishing list and vice-versa
- Integration with multiple payment gateways but exposing a single interface