I have just been given an assignment to create a shopping cart solution for a large printer supplies company. The requirements are listed below. I don't need answers to all the requirements, but I was just wondering how many Ubercart can solve.
Basic Needs:
1. Products:
a. Cross Selling (=related products)
b. Up Selling
i. if you’re buying this product, click here to get this bundle instead to
save
ii. buy 2 more to get better price
c. Sub-Products (=versions, options)
d. Price brakes (buy 1 for $10, 2+ for $8, 4+ for $6.5)
e. Product bundling (= % or $ discount if you buy 1 of these 3 products)
2. Cart Page:
a. Products:
i. Add to Cart : Single Product, Multiple Products
ii. Update Quantity in cart
iii. Delete from cart
b. Features:
i. Calculate Shipping (based on zip code)
ii. Calculate Tax (based on zip code)
iii. Calculate discount (based on coupon)
c. Cart information:
i. Add zip code
ii. Add coupon
3. Checkout Options:
a. Credit Card:
i. One page form for payment, billing and shipping information
ii. Login page to re-use addresses – multiple addresses (and credit card?).
iii. Use Authorize.net (AIM Ver. 3.1) API to authorize
iv. Use Paypal Website Payments Pro to authorize
b. Paypal:
i. Use Express Checkout API (DoAutorization)
ii. Will have a DoCapture on the backend
c. Google Checkout:
4. Orders:
a. Account login to see order status
5. Store Settings:
a. Tax: Charge based on State (can provide the list of zip codes)
b. Coupons:
i. Free Shipping Type: (Limited by date, minimum cart total, number of
uses)
ii. Percentage Off: (limited by date, minimum, products, cart session, login, number of uses)
iii. Dollars off: (limited by date, minimum, products, cart session, login, number of uses)
6. Backend Pages:
a. Order Details: (show all details on one page)
i. Ability to change the details (addresses, prices, shipping etc.)
ii. Order Status Update (status, tracking numbers)
iii. Payment update:
1. Credit Card Orders:
2. Paypal Orders: DoCapture
3. Google Checkout Orders: Integrate Capturing
b. Ability for Admin to create an order for a new or old customer, with special prices, and special shipping charges.
7. General Rules:
a. Check all inputs (e.g. form inputs, cookies) for SQL injection.
b. Pages with personal information should use SSL.
c. When possible, use templates, modularization and include files.
d. Before a costomer is doing any backend operations (e.g. Charging credit card), the site should save the information in database, so if they (somehow) click again, we know not to do it again.
e. If possible; use asymmetric encryption to save sensitive information.
f. Pages should not be dependent on client-side JavaScript (on the front-end).
8. Some details:
a. In PHP/Apache
i. Pages should not use session.
ii. Pages should use cookies, but if cookies not available, use URL
StringQueries to track.
iii. Nice URLs





The issue was "fixed" only to point folks toward a master thread of payment gateway wishes, not because it was actually made.





Joined: 01/29/2008