Drupal has a great e-commerce module called Ubercart. Still, setting up a website to sell things can be time consuming and take some legwork to get everything organized. Selling online is not just a technical issue.
If you are interested in an integrated solution, I recommend using PayPal to handle your payment processing. There are many specialize sites setup to help sites take donations, etc, but as a user, will they feel comfortable trusting an outside company they don't know? It probably depends on the user, but PayPal has a good reputation and I feel comfortable making payments through there. Google Checkout is also an option some people prefer. It doesn't have as many features, though, so it may not be practical for all situations.
PayPal has two versions, Website Payments Standard and Website Payments Pro. For my non-profit clients, I recommend starting out with the standard level because, well, it's free. Both options charge transaction fees, similar to any other merchant account.
- With the free standard version, when the person goes to enter their credit card information, they leave your site to go to the PayPal site. When they're done, they return to your site. This isn't ideal, some people not familiar with PayPal may get confused, and I wouldn't recommend it for sales focused sites, but it's free.
- The pro version charges $30/mo. PayPal works transparently and the user never leaves your site. It's very professional looking. Since you're accepting credit cards on your own site, you will also need to pay for an annual SSL Certificate which range from $59-$699/yr depending on features and warranty level. For example, here is pairSSL pricing.
PayPal verifies a lot of information so I recommend starting the process as soon as possible. Your accounting person will need to be involved with this process since you'll need bank account information, SSNs or EINs, etc. When creating your PayPal account, I recommend setting up a separate e-mail like sales [at] yourorganization.com (sales[at]yourorganization[dot]com) so that you can limit who has access to your financial information. Let me know if you'd like me to setup a new e-mail for you.
If you plan on shipping products, you must decide what service(s) you would like to use and how you want to charge people. You can do everything from a flat rate to having Ubercart talk to the USPS, UPS, or FedEx servers to determine each order's shipping cost based on size and weight and then adding your markup. If you would like dynamic pricing, you will need to setup accounts with the shipping services you would like to provide.
Things to think about:
- How do you want to charge for shipping?
- What services should you use?
- What specific methods from each service would you like to use (USPS has tons)?
- What is the weight and dimensions of every item you're planning on selling?
- Who at your organization will handle taking orders, packing, and shipping?
There are many features you can add to your store such as:
- Additional donation at checkout time
- Ask where they found out about you
- Upsell other products that are related to items in your store
- Different prices for different options
- Free shipping if they pickup at your organization
So keep those things in mind as well while planning your store.