Category Archives: oscommerce

how to setup the paypal website payments standard module

The Paypal Website Payments Standard module is a basic ‘button’ type payment facility that allows websites to collect payment from Paypal and non-Paypal customers alike, via hosted pages on the Paypal server.

This post is an outline of settings that work for me using a cre loaded 6.4.1a CE version cart and the default payment module that is supplied with it. No modifications have been made to the original Cre Loaded Paypal files, which are largely based on an old oscommerce version and incorporate the Paypal IPN (Instant Payment Notification) function as well.

There are two parts to setting up the Paypal Website Payments Standard module – firstly the module itself through the admin, and secondly your Paypal account settings. It’s reasonably easy to end up with failed transactions or inventory not being adjusted for sales correctly or Paypal payments but no order in the admin etc, with different settings.

1. Check the Paypal Website Payments Standard module



  • Check the settings in the cart’s Paypal Website Payments Standard module and note the text in the images (see right) in red – I’ve found that if the settings for these particular entries aren’t as shown, the module may not work as expected.
  • Also, it is a good idea to uninstall and reinstall the module if you are experiencing problems.

2. Check your Paypal Account settings

  • Login to your Paypal account – which should be either a Business or Premier account, as this module will not work with a personal account. As mentioned above, make sure the email addresses in Paypal Website Standard module match exactly the email address used in your PP account. This is often the reason for module problems.
  • Next, go to Profile -> My Selling Tools:

Sales Tax -> Update:
None set.

Website Preferences -> Update:
Auto Return = On
Return Url =
Payment Data Transfer = Off
Encrypted Website Payments = Off
Paypal Account Optional = On (if you want to prevent Paypal from hassling customers into setting up a Paypal account)
Contact Telephone = Off
Express Checkout = No

Instant Payment Notifications -> Update:
Switch on IPN
Notification URL =

Shipping Calculations -> Update:
None set.
Tick “Click here to allow transaction-based shipping values to override the profile shipping settings listed above”

Please note the Auto Return and IPN Notification urls ARE THE SAME: both are checkout_process.php … not checkout_success.php or ipn.php etc.

If you have a Personal Paypal account you can test your settings now with a transaction. Alternatively use the Paypal Developer area and sandbox test accounts. The order should go through smoothly using either the 3-page or 1-page checkout and an IPN result should go through to your store’s email address.

For zen-cart setup try the zen-cart wiki page about setting up the Paypal Website Payments Standard module here
For oscommerce support try this forum how to setup the Paypal Website Payments Standards module here

(If you’ve tried all of the recommendations in this post and it still isn’t working, please use the contact me above for a quote.)

how to set up tax zones for countries with variable state or province tax rates (eg Canada)

Setting up tax correctly in osCommerce-based carts can be confusing. In some countries, each state or province has a different sales tax. The following example uses Canada and the province of Nova Scotia as an example.

Step 1. Set up Tax Class
This is the actual name of the Tax that you will attach to a product or shipping module. If you’re in Canada, it would make sense to call this ‘Canadian Tax.’

In Admin >> Locations/Taxes >> Tax Classes … create the following by clicking New Tax Class – entering the Title and Description – then Insert. So you get:
create a tax class in cre loaded

Step 2a. Set up Tax Zones – Country
In Admin >> Locations/Taxes >> Tax Zones … insert a new Tax Zone called ‘Canada HST/GST 5%.’
Then with this new Tax Zone selected, click on Details and add each of the Canadian provinces to the ‘Canada HST/GST 5%’ zone by selecting Canada then the Province from the dropdowns.
setting a tax zone

Step 2b. Set up Tax Zones – Provinces
Now you need to add in each province on its own as a Tax Zone. Here is Nova Scotia as an example:
nova scotia tax zone

Once again with the Province selected, click Details and add itself to it’s own Tax Zone.
Do this for all provinces, creating a separate Tax Zone for each.

Why is Canada 5% and Nova Scotia 8%? These aren’t the current tax rates for either place.

Many provinces in Canada have a GST rate of 5%. The tax calculation is based on adding (or compounding) tax at a national and regional level (so country and state level) and because both entities must be created as Tax Zones, by setting Canada at 5% tax, you can then just set the province to carry the difference.

The system then adds together both rates to find the tax rate. So as an example, Nova Scotia, which at the moment has a tax rate of 13%, is set up with 8% tax (the difference between its actual rate and the Canadian rate it includes.)

Many provinces currently have a GST rate of 5%, so by making the tax zone ‘Canada’ at 5% the provinces don’t need to have any tax added (but listed with 0% tax.)

Step 3a. Set up Tax Rates – Country
In Admin >> Locations/Taxes >> Tax Rates … insert a New Tax Rate, choose ‘Canadian Tax’ as the Title, choose the Canadian HST/GST 5% Zone, enter the base tax rate of 5% and a description – tip: you can enter your Tax# here and it will print on invoices. Make the Priority 1.

Step 3a. Set up Tax Rates – Provinces
Yes, you guessed it – same for each province as the main Canadian tax rate in 3a. However, remember that the Tax Rate (%) you enter here is the actual provincial rate less the base Canadian rate of 5%. So some provinces will be entered as 0% Tax Rate, because their GST is equal to 5%. Here is Nova Scotia, with a tax rate of 13% total (5% Canada, 8% Nova Scotia):
set tax rate for nova scotia

Do the same for all provinces, creating a separate Tax Rate for each. In the case of provinces like Manitoba (5% tax) you would enter 0% Tax Rate in the right hand Tax Rate (%) box. Make the Tax Priority the same for all (ie 1.)

add tax rates for provinces

Step 4. Attach tax class
Edit your product and from the dropdown select ‘Canadian Tax.’ Now if a customer from Nova Scotia adds this taxable product to her order, the total tax of 13% will be applied to this product at checkout.

tax added to product via dropdown

Edit your shipping module – choose ‘Canadian Tax’ as the Shipping Tax rate. This will add the applicable provincial tax rate to your net shipping charges.
add tax to shipping module

oscommerce – how to upgrade from v2.2 to v2.3.x

Oscommerce version 2.3 has finally been released, and the improvements over the tired old version 2.2 are good. The main advance is how it looks and handles – there aren’t many new features in the frontend. On the admin side, security improvements have been the focus, with a couple of new features added in.

screenshot of osCommerce version 2.3 frontend

  • Looks cleaner, loads faster.
  • Reviews system is tidied up.
  • Includes social bookmark links.
  • Version Tracker – easy to check if you’ve got the latest version.
  • Security improvements, additions
    Password protection of admin folder; timeout and restricted login attempts if incorrect login details used.
    Action Recorder – keeps a log of details of 3 different areas of the Store: Admin login attempts; Contact Us emails; and Tell A Friend emails.
    Folder Permissions checker – with recommendations of what permission settings should be for each folder.
    Various improvements to session and form handling, password encryption, url cleaning, htaccess implementations etc.

If you’re upgrading from an old oCommerce version 2.2 Store, the steps are simple:

  1. Download a copy of the Upgrade Guide from osCommerce
  2. Update your osCommerce v2.2 database by running the several groups of mySQL statements
    These include statements that change field lengths to existing tables, plus the installation of new tables for the Action Recorder, Directory Permissions checker and Password encryption.
  3. Install the latest osCommerce 2.3.x version as a new Store
    The download is available from the osCommerce Download page.

Before upgrading … please consider the template(s) and other modifications you are currently running. There is a chance they might break in a new osCommerce v2.3.x store.