From the programming point of view .. yes you can go your own way ...
Reasons not to do it ...
1: There are a number of commercial packages out there that will do what you want.
2: There are a number of OS packages out there that will do what you want.
3: between development / testing / bugs and so on ... you're taking on a LOT of responsibility doing it yourself. What if the site is hacked as a result of poor programming on your part ? How long will you support the system for ? When your end users require extra features who foots the bill ? When they say but there are these features already on oscommerce or similar .. I don't want to pay you more for this system.
4: Developing it is going to take a while ... are you able to market it to your clients as well ? (If you consider how many man years have gone into some of the products out there its crazy) Can you commit that sort of time to it all ?
For a list of the features / requirements ... why not talk a look at the various packages features. This is the OSCommerce feature list.
Quote:
* General Functionality
o Compatible with all PHP 4 versions
o All features enabled by default for a complete out-of-the-box solution
o Object oriented backend (3.0)
o Completely multilingual with English, German, and Spanish provided by default
* Setup / Installation
o Automatic web-browser based installation and upgrade procedure
* Design / Layout
o Template struture implementation to:
+ allow layout changes to be adaptive, easy, and quickly to make (3.0)
+ allow easy integration into an existing site (3.0)
o Support for dynamic images
* Administration / Backend Functionality
o Supports unlimited products and categories
+ Products-to-categories structure
+ Categories-to-categories structure
o Add/Edit/Remove categories, products, manufacturers, customers, and reviews
o Support for physical (shippable) and virtual (downloadable) products
o Administration area secured with a username and password defined during installation
o Contact customers directly via email or newsletters
o Easily backup and restore the database
o Print invoices and packaging lists from the order screen
o Statistics for products and customers
o Multilingual support
o Multicurrency support
+ Automatically update currency exchange rates
o Select what to display, and in what order, in the product listing page
o Support for static and dynamic banners with full statistics
* Customer / Frontend Functionality
o All orders stored in the database for fast and efficient retrieval
o Customers can view their order history and order statuses
o Customers can maintain their accounts
+ Addressbook for multiple shipping and billing addresses
o Temporary shopping cart for guests and permanent shopping cart for customers
o Fast and friendly quick search and advanced search features
o Product reviews for an interactive shopping experience
o Forseen checkout procedure
o Secure transactions with SSL
o Number of products in each category can be shown or hidden
o Global and per-category bestseller lists
o Display what other customers have ordered with the current product shown
o Breadcrumb trail for easy site navigation
* Product Functionality
o Dynamic product attributes relationship
o HTML based product descriptions
o Automated display of specials
o Control if out of stock products can still be shown and are available for purchase
o Customers can subscribe to products to receive related emails/newsletters
* Payment Functionality
o Accept numerous offline payment processing (cheque, money orders, offline credit care processing, ..)
o Accept numerous online payment processing (PayPal, 2CheckOut, Authorize.net, iPayment, ..)
o Disable certain payment services based on a zone basis
* Shipping Functionality
o Weight, price, and destination based shipping modules
o Real-time quotes available (UPS, USPS, FedEx, ..)
o Free shipping based on amount and destination
o Disable certain shipping services based on a zone basis
* Tax Functionality
o Flexible tax implementation on a state and country basis
o Set different tax rates for different products
o Charge tax on shipping on a per shipping service basis
|
Some of these can be potentially ignored .. (tax / country stuff)
But what is essentially a fairly simple thing starts to get very complex very quickly. For example ... something pretty basic ... do you offer one level of categories ... or multiple levels ?. How many images do you allow per product ?
As was said there are a number of ways of integrating with realex payments ... as well as paypal and all the other systems.
SSL is really a must on a commercial site ... if I even have to enter my email address on your site I'll think twice if I don't see https yes realex or similar will handle the payment processing and details at their end but you'll no dout still want to keep some details on your end.
Just a few thoughts ...