VP-CART and Shipping Examples
VP-CART Shopping Cart supports numerous shipping routines. Here we will attempt to answer common questions related to shipping routines and assumes that you have read the shipping section in the developers' design guide.
Two tables are involved. The Shop Configuration and the shipmethods tables. The Shop Configuration specifies what type of shipping calculation you want and the shipmethods tables may have the actual data values.
VP-CART can be set-up in a number of ways:
- The customer can select the shipping method
- The customer has no choice
- Shipping by country
It is possible to mix one of the standard shipping methods and any number of special shipping methods. For example, you can use FedEX, USPS, and UPS in the same shop but with only one standard other shipping methods such as Lookup.
Built-In Shipping Calculations
VP-CART supports different types of shipping calculations and can easily be modified to support just about any calculations you need. The shipping calculations are controlled by the VP-CART configuration value xshippingcalc.
Lookup |
A customer selects shipping method but the amount is fixed regardless of what is being ordered. This is the default. |
Fixed |
No shipping selection box is displayed and the customer has no choice over shipping methods. The shipping price is one fixed price regardless of what is ordered. |
PriceRange |
Shipping is calculated by the total price of products ordered and selection made by a customer |
WeightRange |
Shipping is calculated by the weight of products and selection made by a customer |
Weight |
Weight * Quantity * amount . A customer selects shipping method which determines the amount multiplier |
Quantity |
Quantity * amount . A customer selects shipping method which determines the amount multiplier |
Other |
This is used for shipping routines where a special shipping file is to be used. These are supplied either as free add-ons or as special customizations. Examples include UPS, FedEx Australia Post, USPS, and Canada Post. |
Product |
The actual shipping cost is in the product record. By default, the weight field is used |
QuantityRange |
Difference prices based on quantity purchased |
Lookup
Simply add your shipping names and prices to the shipmethods table. The shipmethods table can be edited from the "Edit Shipping" admin page. The shipping methods are then displayed on the shopcustomer.asp page and the customer selects the shipping method to be used from the list. Fields that need to be set in the shipmethods table. If the smprice field is 0 or empty, the shipping is considered to be free:
shipmethod |
smprice |
Express |
$4.00 |
Normal |
$2.00 |
Airmail |
$9.00 |
Download |
$0.00 |
This would create 4 selectable shipping methods on the shopcustomer.asp page, the shipping cost is determined by the smprice field.
Fixed
For this, you need to change two lines to the VP-CART Configuration.
xshippingcalc |
Fixed |
xfixedshippingmethod |
US Postal Service |
xFixedshippingcost |
3.00 |
If you do not want the normal shipping methods form to display, set the following.
xshippingdatabaserecords |
No |
xshippingform |
No will stop shipping form from being display Yes will display the shipping form but the customer cannot select method since it is fixed. |
The xfixedshippingmethod is any words or method you pan to use.
Calculating by weight
Set the following value in Shop Configuration.
xshippingcalc |
Weight |
VP-CART will calculate the shipping price automatically by reading the shipmethods table. You need to update this table to reflect your shipping methods and costs.
For example the following values:
shipmethod |
ShipBaseCost |
ShipExtraCost |
Airmail |
5.00 |
2.00 |
Standard |
3.95 |
1.00 |
ShipBaseCost is the amount that will be charged regardless of weight.
ShipExtra Cost is multiplied by weight and quantity
The total is the sum of these amounts.
If the ShipBase cost is 0, then the base cost is SMPRICE
Calculating by Quantity
In shop configuration set
xshippingcalc |
Quantity |
VP-CART will calculate the shipping price automatically by reading the shipmethods table. You need to update this table to reflect your shipping methods and costs. For example the following values
shipmethod |
ShipBaseCost |
ShipExtraCost |
Express |
0 |
$2.00 |
ShipBaseCost is the amount that will be charged regardless of quantity.
ShipExtraCost is multiplied by items
The total is the sum of those amounts
Calculating by Quantity Range
Set the following value in Shop Configuration.
xshippingcalc |
QuantityRange |
VP-CART will calculate the shipping price automatically by reading the shipmethods table. You need to update this table to reflect your shipping methods and costs. For example the following values
shipmethod |
ShipBaseCost |
ShipExtraCost |
ShipOther1 |
ShipOther2 |
Express |
0 |
$2.00 |
0 |
5 |
Express |
5 |
$4.00 |
5 |
10 |
Express |
9 |
$6.00 |
10 |
999 |
Normal |
0 |
1 |
0 |
5 |
Normal |
2 |
$2.00 |
5 |
10 |
Normal |
3 |
$3.00 |
10 |
999 |
The customer will see two selections: Normal and Express.
VP-CART looks up the quantity by comparing values in the Shipother1 and shipother2 fields. When it finds the correct range, it uses that to claculate the cost. Notice all the shipmethods are the same.
ShipBaseCost is the amount that will be charged regardless of quantity.
ShipExtraCost is multiplied by items
The total is the sum of those amounts
Calculating by Price Range
In shop configuration set
xshippingcalc |
PriceRange |
The total cost of the order is compared against a range set in the shipmethods table. The lower limit for the price range is set by the Shipcost1 field and the high limit is set in the ShipCost2 field.
The price is whatever is in ShipBaseCost within that price range.
shipmethod |
ShipBaseCost |
ShipCost1 |
ShipCost2 |
Express |
0 |
0 |
5 |
Express |
5 |
5 |
10 |
Express |
9 |
10 |
999 |
Calculating by Weight Range
In shop configuration set
xshippingcalc |
WeightRange |
The total weight of the products is compared to a range set in the shipmethods table. The ShipOther1 field contains the low limit and shipother2 is the high range limit. The price is whatever is in ShipBaseCost within that price range.
If there is an amount in ShipExtracost, it is added to the base cost using the following formula
The shipping routine subtracts the lowweight from the total products weight so please note that this shipping routine assumes that the base cost includes the shipping cost for a product which has a weight the same as the lowweight (shipother1).
Remainingweight=Totalweight-Loweight (shipother1)
extracost = RemainingWeight*ShipExtraCost
Total Shipping Cost = ShipBaseCost + ExtraCost
shipmethod |
ShipBaseCost |
ShipExtraCost |
ShipOther1 |
ShipOther2 |
Express |
0 |
$2.00 |
0 |
5 |
Express |
5 |
$4.00 |
5 |
10 |
Express |
9 |
$6.00 |
10 |
999 |
Calculating by Product
In shop configuration set
xshippingcalc |
Product |
Each product being purchased is read from the database to retrieve the shipping cost. The cost can be stored in any unused field in the products table. By default, the weight field is used as the cost.
Other Shipping routines
VP-CART supplies free add-ons for other shipping types. For those types specify "OTHER". The routines names that handle these special shipping types are defined in the shipmethods table field "shiproutine". Separate instructions come with these other shipping methods.
The others are available, as free add-ons, but do not form part of the officially supported product. It is possible for example for UPS or FedEx to change their rules and we do not guarantee that VP-CART will support these changes. Any or all of these extra add-ons may require that you register with the appropriate companies. Most of the real-time interfaces require the Microsoft XML DLL to be installed. This is normally on most modern Windows servers but may not be on your server.
-
UPS Real-time
-
UPS by Database Lookup
-
Australia Post real-time
-
Canada Post real-time
-
FedEx database lookup
-
USPS Real-time lookup
-
Intershipper Real Time
Shipping By Country
Most of the methods can also be set-up specific to a country. Countries that are not specifically listed have a special entry where the country is "other". To shipping by the country set the shop configuration
Set the following value in Shop Configuration values
xshippingbycountry=Yes
xincludecountries=Yes
For each specific country, create the appropriate records as described but put the country abbreviation into the shipmethods record.
Create one set of records and put "other" into the country field so that those countries that do not have a specific record will obtain their shipping rates from the "other" set of records.