Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Creating a new shipping module


PupStar

Recommended Posts

Hi Guys,

 

I am trying to get my head around creating a new shipping module, basically I need this (see table below)

 

deliveryn.jpg

 

I already have the delivery code associated with the product as this is pulled in by my xml feed importer.

 

Do you think it would be worth looking at the zones shipping module and converting that or is there another easier way that I am just not seeing.

 

I also need some way of calculating the following

 

Multiple Items & Capped Shipping

 

Single items are charged at the single postage price, but when the customer orders multiple items I want to offer a discount on the postage.

 

Its a simple sum, it charges the highest band item at the full postage price, then all subsequent items are charged at 55% of the postage band price.

 

E.g. The customer wants to order 3 items with postage bands A, B & C. The checkout will charge the C band at full price, then band A & B at 55%.

 

£2.99© + £1.37(B) + £1.09(A) = £5.45

 

But what if customer orders 100 items, you don't want to pay 100 times the postage charge even if 99 of them are at 55%, that's where the capped shipping comes in.

 

deliverya.jpg

 

Any ideas on this guys?

 

Thanks

 

Mark

Link to comment
Share on other sites

  • 4 weeks later...

Certainly possible, the simplest way would be to assign the relevant postage band to the product. In the cart class make a new array based on each product (in the cart). So you might have (7 products);

 

ACDEAAM

 

Then assign the array the costs.

 

1 * M

1 * (e * .55)

1 * (d * .55)

1 * (c * .55)

3 * (a * .55)

 

Add it all up. You then need to look at the destination. And work out the cost and cap. If cost exceeds cap, charge cap else charge cost.

 

Quite an interesting project.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...