The ReadMe may be big, not because the Dansie Shopping Cart is difficult to set up, but because it has so many customizable options! Most likely you will only need to define 5 variables in order to initially get your cart working! Enjoy.
If you wish to customize the appearance of your cart further, feel free to insert text and HTML tags in your lang.dat and vars.dat files.
The Dansie Shopping Cart (cart.pl script) does not handle credit card numbers. The ssl.pl script can collect your customers credit card numbers for you. The Dansie Shopping Cart can be configured with varying levels of security from very high to very low. How high you set security is up to you. If you want the ssl.pl script to collect credit card numbers for you and you have a site security certificate, then the numbers will be encrypted during their journey from your customers computer to your website. If you set SSV#10 so that the ssl.pl script will work with PGP then credit card numbers can be encrypted before they are emailed to you or written to data files on your host. If you are going to hire the services of a real-time credit card processor then you don't need to worry about using a site security certificate, the ssl.pl script or PGP. Also important are other security factors not related to the Dansie Shopping Cart such as if your website's cgi-bin directory can be browsed from a web browser via: http://www.YourName.com/cgi-bin/. This is especially important if you want to have the ssl.pl script write credit card numbers to a directory on your host. That directory can be password protected with .htaccess and .htpasswd files. Other Personal Variables that relate to security are Personal Variables #55 and #66.
Dansie Website Design will not be held responsible for any type of damage or loss of time that may occur as a result of using this script. This includes but is not limited to the corruption or loss of data on your host. (Not that we intentionally put anything in it that will cause any problems on your host, we just have to say this to cover ourselves.) Customer assumes full responsibility for any damages or loss of time that may occur.
Online technical support is available with all shopping cart purchases. This includes answers to any questions you may have about installation, the HTML forms and flat-file databases. If you purchased the Mall Version, we will provide technical support to you, however, you must provide technical support to your merchants when they have questions about HTML forms and flat-file databases. Always send the URL to the cart.pl script when you write and a brief description of your problem so we can see it and help you.
http://www.YourName.com/cgi-bin/cart.pl?vars
Please read all instructions carefully. Do not attempt to set any variables in the vars.dat file until you have read the corresponding instructions for that variable in this ReadMe.
cart.pl (The cart script)
ssl.pl (An extra script for SSL)
ReadMe.html (Instructions)
template.html (HTML form examples)
vars.dat (Variables)
lang.dat (Language)
invoice.dat (An empty file. This will be your cart's counter.)
cart.gif ("View Cart" image)
stuff.dat (An example database file. The use of which is optional.)
If you have difficulty opening vars.dat or lang.dat, try renaming them to vars.txt and lang.txt. Open them with WordPad or NotePad. Before (or after) you upload them to your cgi-bin on your host, rename them back to ".dat".
The invoice.dat file is like the cart's counter. It increments when a new person uses the cart, and not when an order is placed. Your website visitors may play with your cart without placing an order. So if you only see orders with invoice numbers 15, 25, 33, 38, etc, that is normal.
lang.dat is a data file that contains the language that your cart will speak. It's just a list of phrases that the cart uses. Feel free to modify lang.dat to suit your needs better. Some people have even put HTML tags in it to make radical changes to the appearance of their cart. If you are seeing a lot of HTML tags appearing in the email receipts, then set Personal Variable #57 to "text/html" (without the quotes). Would you like some custom text or HTML to appear at the top or bottom of your shopping cart pages? See lang.dat #111 and #114.
Would you like to have the cart aligned right or left? Set lang.dat #111 and #114 with some tables tags like so:
111 (footer) --></TD></TR></TABLE></DIV>
114 (header) --><DIV ALIGN=RIGHT><TABLE WIDTH=80%><TR><TD>
All of the submit buttons that you see in the dynamically generated pages of the cart can be converted to image buttons instead. This is for you advanced web designers who want to customize almost every detail of your site. First you would create your images. Then you would put the URL to the images in one or more of these lang.dat variables: 19, 35, 38, 41, 88, 146, 148. Also, Database Variable #15 can be substituted with an image too. The current text in the lang variables indicates what that variable is for.
Set the first 5 HOST VARIABLES at the top of the vars.dat file. Only the HOST VARIABLES are required to get the script running. You can set the other variables later after you get cart.pl running. Refer to the HOST VARIABLES section below in this ReadMe for detailed instructions on the HOST VARIABLES. Do not attempt to run the cart.pl script on a site other than which it was licensed for.
STEP 2:
Upload all four of these files into the SAME directory, most likely your cgi-bin. Perhaps your cgi-bin will be called "cgi-local" or "cgi" or something similar. If your host says that scripts must have the ".cgi" extension, then rename "cart.pl" to "cart.cgi". The script can work either way.
File name:
Upload format:
Chmod (Unix only):
1) cart.pl
ASCII
755 (executable)
2) vars.dat
ASCII
Chmod not necessary
3) lang.dat
ASCII
Chmod not necessary
4) invoice.dat
ASCII
777 (writable)
Chmod your cart.pl script 755. Chmod the invoice.dat file 777. "chmod" is only necessary on a Unix host. If your site is hosted on a Windows NT server don't worry about "chmod".
If the script is successfully installed, you will see a test item to put into the shopping cart. Put the test item into the shopping cart. If you see a display of that item in the shopping cart, then all is working fine. Now you can set all your other variables in the vars.dat file.
If your Dansie Shopping Cart is not working, or does strange things, see "Trouble Shooting" below.
STEP 5:
Refer to the Template.html for creating some of your own product forms, or the database section in this ReadMe for info on creating databases. Remember, the use of databases are optional.
Trouble Shooting:
If your shopping cart continually tells you that your cart is empty, manually create a directory called "carts" with your FTP program in your cgi-bin directory (same directory where your vars.dat and cart.pl script is in). Chmod "carts" 777 if your host is Unix.
If the invoice number never increments past "1", make sure "invoice.dat" is in your cgi-bin and chmod "invoice.dat" 777 (writable).
If you are hosted on a Windows NT host and the shopping cart keeps saying that it is empty, it is because the permissions on the "carts" directory is not globally writable. Contact your host and ask them to set permissions on the "carts" directory and the "invoice.dat" file so that the cart.pl script will have permission to write and re-write to them. Go here for a diagnostic:
http://www.YourName.com/cgi-bin/cart.pl?write_test
Try changing the very first line in the cart.pl script from:
#!/usr/bin/perl
To:
#!/usr/local/bin/perl
Email us at: cart@dansie.net (But not until you do A, B, C, and D.) Include the exact URL to your cart.pl script and a copy of your vars.dat file and we will quickly help you figure out what's wrong.
Always save changes to your vars.dat and lang.dat files in "plain text" only. No special mark up or encoding of any kind. Notepad always saves files as plain text, but be careful when using Wordpad that you save it as "plain text" or "text document" only. Always upload these files to your cgi-bin on your host in ASCII format and not binary.
System Paths and URLs:
This ReadMe will speak of "URLs" and "system paths". URL stand for Uniform Resource Locator. It is a website address that starts with "http" and is accessed via a web browser. A system path is a local path to a file on your hosts machine. Perl accesses files on your host's machine with system paths. System paths on Unix hosts start with a slash "/". System paths on Windows NT hosts start with a drive letter and a colon like so: "c:/home/YourName/cgi-bin/vars.dat"
Try to keep this in mind and not get the two confused.
How do you know if the script is working? Just point your web browser to it with a "test" query string and it will give you diagnostic tools if you installed it correctly. Example, type this at the top of your web browser:
http://www.YourName.com/cgi-bin/cart.pl?test
Try changing the very first line in the cart.pl script from:
#!/usr/bin/perl
To:
#!/usr/local/bin/perl
Email us at: cart@dansie.net (But not until you do A, B, C, and D.) Include the exact URL to your cart.pl script and a copy of your vars.dat file and we will quickly help you figure out what's wrong.
Note: You will most likely never need to set Host Variables 6 through 12. However, the need to set Host Variable #6 is very likely if you are on a Windows NT host.
If your host requires that you pass the SMTP address to blat.exe then set this variable like so:
6 Sendmail, Windmail or Blat path -->C:/winnt/system32/blat.exe|mail.hostname.com
The system path to blat.exe, then a "|" pipe character, then the SMTP address.
Windmail
The Dansie Shopping Cart can also work with Windmail. If using Windmail, ask your host what the system path is and set this variable like so:
6 Sendmail, Windmail or Blat path -->C:/winnt/system32/windmail.exe
Or maybe just:
6 Sendmail, Windmail or Blat path -->windmail.exe
Get Windmail here: http://www.geocel.com/windmail/
If your host doesn't have a system windmail program for everyone to use, upload your own:
Make sure your host will allow you to run executables in your cgi-bin and get their SMTP address.
Set your hosts SMTP address in the windmail.ini file.
Upload the two files "windmail.exe" and "windmail.ini" into your cgi-bin.
Set Host Variable #6 as "windmail.exe"
Email In General
If you are waiting to hear from your host about this system path in order to use your hosts sendmail service, you may leave this variable blank and the cart will still work (without sending email of course). You may set Secure Server Variable #8 if you would like the orders appended to a data file on your host instead.
If you get an internal server error going to a receipt page, or you see strange text at the bottom of receipt pages, and you are not getting any email, it could mean that you don't have this path set correctly. Ask your host what it is. Leave this variable blank until you get the correct path.
If you wish to run the cart indefinitely without sendmail and just append your orders to a data file instead, then set this variable to "off" (without the quotes). Then the cart will run without giving you the red diagnostic messages.
SPECIAL NOTE ABOUT ssl.pl and email
If your ssl.pl script is on a remote host and you are not receiving your customers credit card numbers via email from the ssl.pl script, then see the "Variables for unusual situations" section near the very top of the ssl.pl script. Your remote host may have a different sendmail path than your local host and you will have to set that in the ssl.pl script.
If your cart is loading frames within frames when you click on the "Continue Shopping" button in the cart, check the URLs in the "return" tags of your HTML forms and make sure they are pointing to a child page and not parent document.
<INPUT TYPE=HIDDEN NAME=return VALUE="http://www.YourName.net/ChildPage.html">
14 Login SSL URL -->
This variable may be used if you have the Mall Version. If you have a site security certificate and you wish to allow your hosted merchants to login via "https", then set this variable with an "https" URL to the cart.pl script. They would then be able to download credit card information in a secure manner. You only need to set this variable in the default vars.dat file in your cgi-bin. You don't need to set it in each and every one of your merchants vars.dat files.
This variable also sets the maximum number of items you will be having in your "multi-items" forms. See Section 2 of Template.html for details about "multi-items" forms. For example, the Banana Split, Pineapple and Watermelon on this page http://www.dansie.net/demo.html has three items in this "multi-items" form. If you had a "multi-items" form that has 30 items in it, then set this no lower than 30. You only need to set this as high as the number of multi-items you have in any one form. Not as many items you have advertised on your entire site. So if you have 10 multi-item forms on your website and each form has 10 items in it, you would only need to set this variable as high as 10 and not 100.
3 Data file extention-->dat
This is nothing technical. It just tells your cart script what file extension to name the data files of your customer's carts that appear in your "carts" directory. Default is dat. You could change it to txt or others, but you can just leave it alone.
8 Street address -->1234 Main Street
This is your street address.
9 City, state, zip -->New York, NY 22222
This is your city, state and zip.
10 Toll free phone number for cc transactions -->1-800-555-1212
This is where you put your telephone number for Credit Card Transactions Via Telephone. If you don't have a phone number and are not going to provide this payment option for your customers, then just leave this variable empty. Example:
10 Toll free phone number for cc transactions -->
11 Website address -->www.YourName.net
This is your website address. Why again if we covered it in Host Variable #2? This variable wont be a link, just printed on the screen. You can have these two variables the same if you want. Or you may have this one say "yourname.com" instead of "http://www.yourname.com". Its up to you.
12 Allow Sales Tax -->1
Set to "1" if you are going to collect sales tax. Or "0" if you are not. If you are selling a few items that are nontaxable, then use this tag in the corresponding item's HTML form.
<INPUT TYPE=HIDDEN NAME="custom2" VALUE="#nontaxable#">
Of course, make sure the name "custom2" is not in conflict with any other custom name. See Template.html for details on "custom". Live in a European country where you need to collect tax whether your customer lives in your state or not? Set this to 2.
13 Your State(s) of taxation -->California
This is the state(s) you are in where you need to collect sales tax. If you need to collect tax in more than one state define this variable like so:
13 Your State(s) of taxation -->California,Nevada,Hawaii
If you only need to collect sales tax in one state, the cart will display a checkbox. If you need to collect tax in multiple states, the cart will display a select pull-down menu. Nice huh?
14 State sales tax rate -->7.75
This is the sales tax rate in your state. If you need to collect tax in more than one state define this variable like so:
14 State sales tax rate -->7.75,6.00,4.00
If you are collecting sales tax in multiple states, make sure the numbers here correspond in order with the states defined in #13 above.
After Secure Online Credit Card Transactions, Online Check Drafts and COD orders, the customers data file is immediately erased because the order is considered final. However, with Credit Card Transaction Via Telephone and Check Or Money Order, the contents of their shopping cart are not erased as the order is not final and the customer could still choose to go back and add more items to their cart before they send you their check or call you.
See Section 10 for detailed information on setting up shipping charges.
28 Show shipping weight with each item -->0
If you set #27 above to 0 or 2, then ignore this variable. If you set this to 1 then you will see shipping with each item on the invoices. If you set this to 0 then you will only see shipping at the bottom of each invoice. Try it either way and see which you like best. If you set this to 1, make sure you define #32 below also.
29 Shipping methods -->Standard UPS,2 day UPS,Next day UPS,Europe,Australia
If you set #27 above to 0 or 2, then ignore this variable. This is an array containing all of the shipping methods you want to offer if you are doing shipping by the weight of your items. Separate them with commas like you see here. You may define anywhere from 1 to 100 shipping locations (or more). Nice huh?
30 Initial shipping cost of first pound -->5.95,8.95,18.95,15.00,20.00
If you set #27 above to 0 or 2, then ignore this variable. These are the prices of the initial shipping costs of each item (per pound/kilo). They must correspond in order with #29 above. Set
them to whatever you need to. Then, in each product's HTML form, use a tag like this:
<INPUT TYPE=HIDDEN NAME="sh" VALUE="1">
"sh" means shipping and handling. "1" means one pound/kilo.
33 Is your host currently resolving IP addresses? -->1
1 = yes. 0 = no.
Sometimes hosts don't resolve IP addresses and in the email that you receieve it will say something like 208.222.43.221 as the IP address. You may convert that to something like this: wt-03.aol.com But at first, just leave this at 1. Later, if you notice that all the IP addresses look like "208.222.43.221" then set this variable to 0.
35 Shipping calculated by amount of purchase: Amounts -->55,3.95,100,5|55,6.95,100,10|55,9.95,100,20
You only need to set this variable if you set #27 above to 2. #35 above contains shipping calculation information for the three corresponding locations defined in #34 above. The three sets of information are separated by "|". The purchase amounts and shipping charges are separated by commas. In the above example, "55" is the lowest purchase amount defined for USA. The next number, "3.95", is the shipping charge (for any purchase amounts under $55). The third number, "100", is the highest purchase amount defined for USA in this example. The fourth number, "5", means that $5.00 will be charged for any purchase amounts that are under $100. Any purchase amounts $100 or over, will be "free shipping" or "shipping included" in this example.
In the above example shipping for USA would be calculated like so:
Order sub-totals Under $55 - $3.95 s&h
Order sub-totals Under $100 (but greater than $54.99) - $5.00
Any order $100 and over - s&h is free.
Always set this variable from smallest order totals to largest (ie, 55 to 100, not 100 to 55). Any sub-total equalling or exceeding the highest defined would be considered free shipping, so define it as high as you need to. Example: 55,3.95,100,5,200,10,500,25,1000,50
If you want to use percentages instead of flat charges, set this variable like so:
100,5%,200,4%,1000,3%,1000000,2%|etc|etc
5% shipping for orders totaling $100 or less.
4% shipping for orders totaling $100 or less.
3% shipping totaling $1000 or less.
2% shipping totaling $1000000 or less.
Free shipping when subtotal is over $1000000.
39 IP addresses or cookies for shopper ID -->1
Set this to 0 if you want the cart to identify your customer by their IP address. Set this to 1 if you want the cart to identify your customer using a cookie. If you set this to 1 and your customer has their cookies turned off in their browser, the Dansie Shopping Cart has the ability to use your customers IP address for identification.
40 Size of table borders when viewing shopping cart -->3
This will set the thickness of the borders in the HTML table on the page that your customers see after they put an item in the cart, or view the cart. If you set this to 0, there will be horizontal rules between items for clarity.
41 The width of the table when viewing the shopping cart -->90%
Just like it says. If you are not sure what this does, set it to 50% and then put an item in your cart. You will see that the page seems too narrow. You may set this to pixels or percentages. Examples:
41 The width of the table when viewing the shopping cart -->85%
41 The width of the table when viewing the shopping cart -->600
41 The width of the table when viewing the shopping cart -->800
If you set it to 0, the cart will not display this payment option.
If you set it to the full URL of your ssl.pl script, the cart will collect your customers check information and email it to you. The information can be collected securely too if the URL begins with "https". For more information on how to do Online Check Drafts go to: http://www.checkman.com
If you set this to "icheck", the cart will take your customers shipping address and then send them to http://www.i-check.net to submit their check information. If you have an account with i-check and wish to set this variable to "icheck", login to your account with i-check and set your return URL like so:
http://www.YourName.com/cgi-bin/cart.pl?icheck1212abc
This is the full URL to your cart, followed by a "?" then "icheck" then the unique security id that you define in Secure Server Variable #6.
Last put your i-check ID in Personal Variable #50.
If you set this to "ValidCheck", the cart will take your customers shipping address and then send them to http://www.ValidCheck.com to submit their check information. If you have an account with ValidCheck.com and wish to set this variable to "ValidCheck",
login to your account with ValidCheck.com and set your return URL like so:
http://www.YourName.com/cgi-bin/cart.pl?ValidCheck1212abc
This is the full URL to your cart, followed by a "?" then "ValidCheck" then the unique security id that you define in Secure Server Variable #6.
Last put your ValidCheck.com VID in Personal Variable #50.
If you set this to "signio", the cart will take your customers shipping address and then send them to http://www.signio.com to submit their check information. If you have an account with signio.com and wish to set this variable to "signio", login to your account with signio.com and set your return URL like so:
http://www.YourName.com/cgi-bin/cart.pl?check1212abc
This is the full URL to your cart, followed by a "?" then "check" then the unique security id that you define in Secure Server Variable #6.
Last make sure your signio login ID is in Secure Server Variable #2.
43 Use "state" field in shipping address -->1
Some European customers don't need to ask for this field in the shipping address. If you set this to 0, "state" will not appear in the shipping address forms. If you set it to 1, it will.
Currency Exchange Rate Feature:
If you are having the Dansie Shopping Cart use a currency other than US Dollars, but need to have it translated to US Dollars before sending the customer to i-Check, then set this variable like so: 00000000|.80
The first field to the left of the "|" character will be your ID with i-Check like normal. The field on the right of the "|" character will be the exchange rate. The total will be divided by the number you place here before the customer is sent to i-Check.
51 Wallpaper URL or background color on check draft table -->#808080
If you have Personal Variable #42 set to the URL to your ssl.pl script and are going to have the shopping cart collect and send you your customers bank and check info, then set this variable to the full URL path to some wallpaper that you would like to have appear in the background of the check table. Or set it to a solid background color like you see here. If you are accessing your ssl.pl script via "https" then it is recommended to access this image via "https" too.
If a customer enters in a coupon or gift certificate number that matches a string in one of the left fields, the customer will receive the discount in the corresponding right field. Use the "|" delimiter for this file. The gift certificate numbers can be anywhere from 1 to 10 characters long made up of numbers and/or letters. You may designate the values as either percentages or flat amounts. Example: If a customer enters in "abc" they will receive a 10% discount on their order. If a customer enters in "456" they will receive a $50 discount on their order. You may have as many coupon/gift certificate numbers and values as you wish in your "discount.dat" file. The numbers don't delete themselves from the discount.dat file after use. You will need to remove them when you want them removed.
The Dansie Shopping Cart has three discount features: Webstore Discount, Coupon Discount, and Volume Discount Pricing described in section 1C of the Template.html file.
60 URL to Online Check Draft image instructions -->
If you don't have PV#42 set to the full URL to your ssl.pl script, then you can ignore this variable. If you do, then set this to the full URL of an image that may be visually helpful in filling out the Online Check Draft form. Example:
60 URL to Online Check Draft image instructions -->http://www.dansie.net/images/check.gif
If you are accessing your ssl.pl script in "https" mode then it's best to access this image via "https" as well.
62 Auxiliary payment option -->
A sixth payment option. This is related to #24, #25, #26, #42 and #45. If you don't need a sixth payment option, then leave this variable blank. If you do, then type in some text here like so:
62 Auxiliary payment option -->Free on the house
lang.dat variable #83 will allow you to put some customized text on the receipt page related to this payment option.
71 AT&T Payment Option -->
This is a 7th payment option. Other payment options are #24, #25, #26, #42, #45 and #62. See http://clickatt.att.com for more details about this payment option. If you have service with AT&T then set your merchant ID in this variable like so:
71 AT&T Payment Option -->938493
That will activate this payment option in the cart. If you do not have this service with AT&T, then leave this variable blank. Be sure you have lang.dat #154 in your lang.dat file. Adjust it to say whatever you like:
154 -->AT&T Payment Option
A flat fee per item. Example:
<INPUT TYPE=HIDDEN NAME=sh VALUE="3.50">
Set Personal Variable #27 to "1" for this method. Set PV#30 and PV#31 to something like "1,1.5,2".
Shipping for an item will be calculated according to the sh VALUE in the forms of your HTML pages. Example:
<INPUT TYPE=HIDDEN NAME=sh VALUE="1"> (See Template.html)
Or by the value of the shipping field in your flat-file databases. The script will multiply the sh VALUE times the value of #31 above to determine shipping for that item. If your item is heavier, set the sh VALUE to 2,3 or 10. The denomination of the sh VALUE can be pounds, kilograms, or just hypothetical units. This denomination should be defined by #32 above. #32 will be displayed in your script if (#28) is set to 1 and also it is displayed in the email receipts that the script sends to you after orders have been placed.
Note: The first pound/kilo of the first item will not get the value of #31 but rather the value of #30. This insures that you wont charge someone 50 cents for shipping a one pound item but have to pay $5.95 yourself. Also, if your customer orders only one or two items that weigh less than one pound, the cart will charge them for a full pound. It will charge a minimum of one pound.
An example of setting up shipping by the pound/kilo/unit:
Let say that you decide that each unit (#32) is one pound and you set #32 to "lbs". You call some shipping companies and get current prices as to how much they charge for the first pound
and each additional pound. Set #30 to the price for the first pound. If five day ground mail is 5.95 and 2 day air is 8.95 and overnight is 18.95, then set #30 to: (5.95,8.95,18.95); Set #31 the same way except how much you want to charge for each additional pound. eg,(.50,.75,.85);. If an item weighs 1 pound then you will put
<INPUT TYPE=HIDDEN NAME=sh VALUE="1">
in the HTML form in the page where it is sold. If an item weighs 2 pounds then you will
put
<INPUT TYPE=HIDDEN NAME=sh VALUE="2">
in the HTML form in the page where it is sold. The shopping cart will multiply the sh value, times the quantity of that item purchased, times #31 (according to shipping method chosen). Then it will substitute one of the regular price values for the #30 values. Therefore:
shipping = (Initial unit cost) + ( (units-1) x price per additional unit)
OR, another way to look at it is:
shipping = (first pound price) + ( (pounds-1) x price per additional pound)
If you want to charge just a flat shipping fee for each item, in
terms of dollars (lets say $4.00), then put this in your form:
<INPUT TYPE=HIDDEN NAME=sh VALUE="4.00">
(Or put "4.00" in the appropriate field in your database if using them.)
and set both #30 and #31 to something like this: (1,1.5,2). This way your cheapest form of shipping will be $4.00, your next shipping method would be $6.00 (4 x 1.5) and your most expensive shipping method would be $8.00 (4 x 2).
Remember, you can provide as many shipping locations as you wish and to
as many states and countries as as you like. All you have to do is put more locations (or speeds such as "overnight") in #29, and more values in #30 and #31.
This is an easier way to set up your shipping charges, but not as accurate as by the pound/kilo. If you use this method, you will not have to use the "sh" hidden input tags in your HTML forms. Example:
<INPUT TYPE=HIDDEN NAME="sh" VALUE="1">
(Wont be necessary in your forms.)
Example:
$5 shipping for orders totaling $100 or less.
$10 shipping for orders totaling $100 or less.
$50 shipping totaling $1000 or less.
Over $1000, free shipping.
Read PERSONAL VARIABLE #34 and #35 above for details about how to use this shipping method.
If you don't want shipping considered on some particular items, then use a tag like so in your HTML forms:
<INPUT TYPE=HIDDEN NAME="custom1" VALUE="#noshipping#">
This is an easier way to set up your shipping charges, but not as accurate as by the pound/kilo. If you use this method, you will not have to use the "sh" hidden input tags in your HTML forms. Example:
<INPUT TYPE=HIDDEN NAME="sh" VALUE="1">
(Wont be necessary in your forms.)
Example:
5% shipping for orders totaling $100 or less.
4% shipping for orders totaling $100 or less.
3% shipping totaling $1000 or less.
2% shipping totaling $1000000 or less.
Free shipping when subtotal is over $1000000.
You customize the increments and charges of course.
Read PERSONAL VARIABLE #34 and #35 above for details about how to use this shipping method.
This method may be used in combination with Shipping Type One and Shipping Type Two. Say you have a shipping company that has an unusual pattern for each additional pound when shipping to Australia. You could set PV#29 like so:
29 Shipping methods -->Standard UPS,2 day UPS,Next day UPS,Europe,Australia
Then you could set PV#30 and #31 like so:
30 Initial shipping cost of first pound -->5.95,8.95,18.95,15.00,shipping.dat
31 Shipping cost for each additional pound -->.50,.50,.50,2,shipping.dat
Notice the fifth field separated by commas in PV#30 and #31 has "shipping.dat" in there instead of a numeric value. This tells the Dansie Shopping Cart to look for this plain text database file in the same directory that your vars.dat file is in. This "shipping.dat" file could look like so:
1|20
2|25
3|31
4|32
5|38
6|39
7|50
Pounds/Kilos are in the left fields and the shipping charges are in the right fields. Make sure you put them in order from 1 pound all the way as high as you wish to define your shipping charges.
No shipping. You can turn off all shipping calculations in the cart and just say, "Shipping Included" somewhere on your website or even in your "lang.dat" file.
Cambist is a real-time credit card processor and secure server. After you set up an account with the secure server Cambist. http://www.cambist.com they will give you the URL you will need to put in Secure Server Variable #1. If using Cambist as your secure server, set all variables in this section as instructed except for SSV#9 and SSV#10. The Dansie Shopping Cart was designed with Cambist in mind. Cambist is by far the easiest real-time authorization/secure server to set up the Dansie Shopping Cart with. If you are doing "book" transactions with Cambist, then set SSV#9 to "book" (without the quotes). If you would like to activate Cambist's AVSVerify service, then set "AVSVerify" in SSV#9 as well (this will check the validity of address and/or zip). Example:
-->book,AVSVerify
Test credit card numbers with Cambist:
4005 5500 0000 0027
5419 8400 0000 0003
Authorize.Net, E-Commerce Exchange and QuickCommerce
The Dansie Shopping Cart will also work with Authorize.Net, E-Commerce Exchange and QuickCommerce (real-time credit card processors and secure servers.) Set Secure Variables 1,2,6 and 7. Follow these steps:
Set Secure Server Variable #1 to: https://secure.authorize.net/gateway/transact.dll
For QuickCommerce accounts, set SSV#1 to:
https://secure.quickcommerce.net/gateway/transact.dll
Set SSV#2 with your Authorize.Net or QuickCommerce Login ID.
Enter your Return Link URL in the designated field.
http://www.YourName.com/cgi-bin/cart.pl?SECURITYID
This URL needs to be exactly what you have in HV#1 plus a question mark, plus what you have in SSV#6.
The SECURITYID is what you define in variable SSV#6 below.
Checkmark "Add To List Of Valid ADC / Receipt Link URLs"
Next select "Receipt Link Default URL".
Last, click the "Submit URL" button.
Special feature: If you would like transactions to be "authorization only" then set SSV#9 with "AO" (without the quotes).
Mall Version note: Set your Return Link URL like so: http://www.YourName.com/cgi-bin/cart.pl?SECURITYID|merchant|MerchantName Change SECURITYID to what you have in SSV#6 and "MerchantName" to what the merchant's name is.
Make sure your account is in TEST mode when testing it. Click on "Settings". Then select "General Merchant Settings" and click the "GO" button. Select "Test Mode", then click the "Submit" button. Test credit card number with Authorize.Net: 5419840000000003
1 Internet Ave.
The Dansie Shopping Cart will also work with 1 Internet Ave. (a real-time credit card processor and secure server.) http://www.1internetave.com
Set Secure Server Variable #1 to:
https://www.1internetave.com/cgi-bin/YOURUSERNAME/index.cgi
Set Secure Server Variable #2 to your "customerID".
Login to your account and set this as your "Return URL":
http://www.YourName.com/cgi-bin/cart.pl
Basically, put exactly what you have for Host Variable #1 in your vars.dat file as your "Return URL".
Mall Version Note: This secure server will not currently work with Dansie Shopping Cart Mall Version until something is done so that 1internetave passes back the merchants name. Otherwise, it will work with the standard cart version.
The Dansie Shopping Cart will also work with www.eft.com (a real-time credit card processor and secure server.) http://www.eft.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://www.eft.com/secure/asp/EFTorder.asp
Set your merchant ID with eft in Secure Server Variable #2.
A test merchant ID number is "0001" and a test credit card number is "0227271714569".
InternetSecure
The Dansie Shopping Cart will also work with InternetSecure (a real-time credit card processor and secure server.) http://www.internetsecure.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://secure.internetsecure.com/process.cgi
Set your merchant ID with InternetSecure in Secure Server Variable #2.
A test merchant ID number is "22".
Since InternetSecure needs to know what currency you are using, set your currency flag in Secure Server Variable #9. Example: {US}
Anacom
The Dansie Shopping Cart will also work with Anacom (a real-time credit card processor and secure server.) http://www.anacom.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://www.anacom.com/order/testaccount/default.htm
Replace "testaccount" in the above URL with your real Anacom user ID.
A test credit card number to use with the testaccount is "demo".
Make sure you have your Anacom account set to POST back to the returnlink URL rather than GET.
atsbank.com
The Dansie Shopping Cart will also work with www.atsbank.com (a real-time credit card processor and secure server.) http://www.atsbank.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
You will use the ssl.pl script. Put this URL in Secure Server Variable #1:
https://www.YourName.com/cgi-bin/ssl.pl?atsbank
Make sure you put "?atsbank" as the query string.
You may use "TEST0" as a test user ID in SSV#2.
A test credit card number to use with the testaccount is "5454545454545454".
iTransact
The Dansie Shopping Cart will also work with iTransact (a real-time credit card processor and secure server.) http://www.itransact.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://secure.redi-check.com/cgi-bin/buynow/buynow.cgi
Or:
https://secure.itransact.com/cgi-bin/mas/buynow.cgi
Put your iTransact Merchant ID in Secure Server Variable #2.
SSV#9 is used as a special flag for the "ret_mode" value with iTransact. Set it to either "redirect" or "post" or leave it blank. "redirect" is the recommended setting.
A test credit card number to use with the testaccount is "5454545454545454" exp: 12/01.
Cardservice International
The Dansie Shopping Cart will also work with Cardservice International Pay Only service. (a real-time credit card processor and secure server.) http://www.cardservice-network.com and
http://www.clearcommerce.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
You will need to login to your account at ClearCommerce and set up your account. ClearCommerce will provide you with your URL, login name and password.
Login to your account set up and set the "Thank You" Page URL to:
http://www.YourName.com/cgi-bin/cart.pl?SECURITYID
This URL needs to be exactly what you have in HV#1 plus a question mark, plus what you have in SSV#6.
The SECURITYID is what you define in variable SSV#6 below.
Set your "Sorry" Page URL to:
http://www.YourName.com/cgi-bin/cart.pl?failure
Mall Version note: Set "Return script or link URL" and the "Silent POST script URL" like so: http://www.YourName.com/cgi-bin/cart.pl?SECURITYID|merchant|MerchantName Change SECURITYID to what you have in SSV#6 and "MerchantName" to what the merchant's name is.
Set your "Order Submission Form URL" to the same URL that you have in Host Variable #1 of your vars.dat file.
Cardservice will tell you to set one of these URLs in Secure Server Variable #1:
https://secureweb.clearcommerce.com/cgi-bin/hlppay
https://secure.linkpt.net/cgi-bin/hlppay
Put your ClearCommerce Merchant ID in Secure Server Variable #2.
A test credit card number to use with the testaccount is "5419 8400 0000 0003", MasterCard, any expiration date greater than today.
GORealtime E-Commerce Transaction Processing
The Dansie Shopping Cart will also work with GORealtime E-Commerce Transaction Processing (a real-time credit card processor and secure server.) http://www.gorealtime.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://secure.gorealtime.com/authorize.exe
Put your login ID in Secure Server Variable #2.
A test login ID number to use in SSV#2 is: 8013732645
A test credit card number to use with the test account is "4005550000000019", Visa, exp: 12/00.
Cyberstrider
The Dansie Shopping Cart will also work with Cyberstrider (a real-time credit card processor and secure server.) http://www.cyberstrider.net. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://secure.bises.org/clients/paydemo2.asp
(Cyberstrider will email you separately with details of how to call the live form.)
Put your "client" Merchant ID in Secure Server Variable #2.
A test Merchant ID number to use in SSV#2 is: Test
A test credit card number to use with the test account is "5419840000000003", Visa, exp: 12/05.
SECPay
The Dansie Shopping Cart will also work with SECPay, a UK-based credit card processor that works in UK Pounds Sterling. http://www.secpay.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://www.secpay.com/java-bin/ValCard
Put your Merchant ID with Secpay in Secure Server Variable #2 followed by "-jredir". Example: "YourID-jredir".
A test Merchant ID number to use in SSV#2 is: "test-jredir"
A test credit card number to use with the test account is "5419840000000003", Visa, exp: 12/05.
PaymentProcessor.net
The Dansie Shopping Cart will also work with PaymentProcessor.net (a real-time credit card processor and secure server.) http://www.infodial.net. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1:
https://www.paymentprocessor.net/cgi-bin/checkout.exe
Put your Merchant ID with PaymentProcessor.net in Secure Server Variable #2.
A test Merchant ID number to use in SSV#2 is: 12345678
A test credit card number to use with the test account is "5419840000000003", Visa, exp: 12/05.
gochargeit.com
The Dansie Shopping Cart will also work with gochargeit.com (a real-time credit card processor and secure server.) http://www.gochargeit.com. Set Secure Server Variables #1,2,6,7,8,11 and 12.
Put this URL in Secure Server Variable #1 that gochargeit.com supplies you with. It will be something like:
https://www.gochargeit.com/merchant/YourName/chargelink.htm?dansie
Put your Merchant ID with gochargeit.com in Secure Server Variable #2.
For testing, set SSV#1 to:
https://www.gochargeit.com/dansiecart/test/chargelink.htm?dansie
signio.com
The Dansie Shopping Cart will also work with signio.com (a real-time credit card processor and secure server.) http://www.signio.com. It works with their Payflow Link service. Set Secure Server Variables #1,2,6,7,8 and 12.
Put this URL in Secure Server Variable #1:
https://payflowlink.signio.com/paylinks.dll
Put your login ID with signio.com in Secure Server Variable #2.
For testing, set SSV#2 to:
PAYFLOWDEMO
Use test card 5105105105105100
Be sure to login to your signio.com account and set your Return Link URL.
http://www.YourName.com/cgi-bin/cart.pl?SECURITYID
The SECURITYID is what you define in variable SSV#6 below.
Set the "Return URL Method" in your Signio account to LINK instead of POST.
If you wish to use signio's electronic check processing, simply set PV#42 with "signio".
Test credit card numbers for testing the ssl.pl script:
5419 8400 0000 0003
Visa
Exp. 1/2009
Trouble Shooting: If the ssl.pl script says POST Method Not Allowed or serves as plain text and doesn't execute...
First make sure that ssl.pl is chmoded 755. Second, try renaming it to ssl.cgi and see if it will execute that way. If it still doesn't execute, contact your host and ask them to set permissions on it so that it will execute.
SPECIAL NOTE ABOUT ssl.pl and email
If your ssl.pl script is on a remote host and you are not receiving your customers credit card numbers via email from the ssl.pl script, then see the "Variables for unusual situations" section near the very top of the ssl.pl script. Your remote host may have a different sendmail path than your local host and you will have to set that in the ssl.pl script.
4 Font color -->#000000
This variable only works with Cambist or the ssl.pl script. What font color do you want to be used on the secure page.
5 Bgrd color -->#FFFFCC
This variable only works with Cambist or the ssl.pl script. What background color do you want to be used on the secure page. If you are using the ssl.pl script you may use wallpaper if it is local to the ssl.pl script by setting this as the full URL to your wallpaper image. Example:
https://secure.server.com/wp.jpg Must be called via "https" otherwise the SSL wont let any images through.
As an option, intead of having the orders appended to one file, they can be created in multiple files like so: orders1.dat, orders2.dat, orders3.dat. Where each new order placed will create a new file. The number following "orders" will be the customers invoice number. To utilize this feature, specify a system path in SSV#8 to a directory rather than a system path to a file. Example:
8 Email orders or append to a data file? -->/cart/host/path/to/orders
Make sure you create this directory and that permissions on it are set as writable (777 on Unix).
System Path to "orders.dat"
You can get your system paths like so:
http://www.YourName.com/cgi-bin/cart.pl?path
http://www.YourName.com/cgi-bin/cart.pl?env
https://YourSecureHost.com/cgi-bin/ssl.pl?path
https://YourSecureHost.com/cgi-bin/ssl.pl?env
Make sure PV#55 is set to 0.
Making sure "orders.dat" is writable
If the directories where you want orders.dat appended to are not writable, then you will need to create an empty file manually on your computer ("orders.dat"), upload it to the directory where you want it and chmod it 777 so it will be writable. Otherwise the scripts wont be able to write to your "orders.dat" file and you will be wondering why it's not appending.
Emailing orders and appending
If you set Host Variable #6 to the sendmail path on your host, orders will be emailed to the email address you set in Personal Variable #2, . If you set Secure Server Variable #8, the orders will be appended to a data file on your host. If you set Secure Server Variable #11, then the customers credit card numbers will be emailed to you. If you set both SSV#8 and SSV#11, you will receive the customers credit card number via email and it will be appended to a data file too. If you have SSV#8 and SSV#11 blank, then the credit card numbers will be emailed to the first email address you have listed in PV#2. The other email addresses listed in PV#2 will get a copy of the order details, but not the email with the credit card number in it. If you set Personal Variable #69 with two system paths, then the ssl.pl script can record the credit card info in a pipe delimited flat-file database format on the secure host.
After you have confirmed that PGP is working, set four pieces of information in Secure Server Variable #10 (all separated by the "|" symbol).
The system path to the PGP program
The system path to PGP's temp directory that it writes encrypted files to
Your PGP user ID (key)
and your PGP version
You may need to set the PGPPATH variable near the top of the ssl.pl script.
Windows NT example:
10 PGP PgpProg|PgpTempDir|PgpUserId|Version -->d:\pgppath\pgp.exe|c:/temp|yourname@host.com|2.6.2
Unix example:
10 PGP PgpProg|PgpTempDir|PgpUserId|Version -->/bin/pgpe|/|Smith|5.0
Put exactly "2.6.2", "2.6.3ia", "5.0", "6.5.2" or "gpg1.0" (if you use GPG) in the fourth field. Nothing else. Make sure your PGP config file is set correctly too.
If you have Secure Server Variable #8 set to a system path so as to have the credit card numbers appended to a datafile and you have this variable set too, then the credit card numbers will be appended to the datafile in an encrypted manner. If SSV#8 is blank, then the credit card numbers will be emailed to the email addresses set in SSV#11. If SSV#11 is blank, then the credit card info will be emailed to the first email address in Personal Variable #2.
Works on Unix hosts with standard sendmail and on Windows NT running either Windmail or Blat as the sendmail program.
11 Credit card numbers are emailed here -->
If you are using the ssl.pl script, this is where you put your email address. When someone orders something via Secure Online Credit Card Transaction, the ssl.pl script can email their credit card number to you. If you leave this variable blank and SSV#8 is blank too, then the credit card numbers will be emailed to the first email address you have in PV#2. If you leave this variable blank and SSV#8 is set, then the credit card numbers wont be emailed to you. Only appended to a datafile. Need to send copies of the order to more than one address? Just set this variable like so:
13 Pending Order Notice -->your@email.com
If a shopper places an order via Secure Online Credit Card Transaction, the cart will email the order details to the email address(es) that you have set in Personal Variable #2. However, sometimes for some reason or another, the shoppers browser doesn't always make it back to the cart.pl script after their credit card is approved. If you set an email address in this variable then you will receive a copy of what they ordered BEFORE they go to the credit card processor to submit their number. So just in case their browser gets hung up at the real-time processors site, you will still have a copy of the order details. Make sure you have some language like so in the following lang.dat variables:
152 -->Pending Order Notice
153 -->This is a Pending Order Notice. The customer has not submitted their credit card number yet. Wait for order confirmation from the credit card processor.
The advantages of flat-file databases is that they allow you to update prices, and keep track of your products from simple data files, rather than editing the forms in your HTML documents. Also, you can take advantage of Dansie Shopping Cart's database search engine. (See section 4 in Template.html for details.) Some disadvantages, though, are that your product pages will look a little more cookie cut with a flat-file database than they do if you use HTML forms.
14 Optional no-image statement -->No image
Optional statement to make for items that do not yet have thumb-nail images available for them. If you don't want your pages to say anything, then leave this blank.
17 Items per page -->10
This will limit the number of items your database displays will put on a page. If you have 500 computers for sale in one database, it could take 5 minutes for that page to load, right? This will limit it and also provide "jump links" to the rest of the items. 11-20 21-30 31-40 etc. Nice huh?
18 Uniform Width and Height of images -->100,100
You can have the cart make the sizes of your thumb-nail images uniform by setting this variable to the width and height. If you leave it blank, the cart will use your images as they are. If you just define the width and not the height, your images will maintain their proportion. If you define both, they may lose their proportion.
19 Company logo displayed at top of database pages? -->1
Want your company logo to show at the top of database display pages? Set this to 1. Don't want it up there? Set this to 0.
20 Align select pull-down menus (left, right or center) -->center
If you are using any of the Database Options you may determine if they are aligned on the right side of the page, left side or center. Set this variable to one of those three.
21 Select pull-down menus (across or stack) -->across
If you are using any of the Database Options and you have more than one option with each item, you may determine if those options are across on the same line, or if they stack on top of each other. Set this to either "across" or "stack".
25 Database Version (2.0 or 3.0) -->3.0
To take advantage of the powerful 3.0 database search engine features, this variable will need to be set to 3.0. If you wish to continue to use the old 2.0 search format, then leave this blank or set it to 2.0. See section 4 in the Template.html file for full details on using the Dansie Shopping Cart database search engine.
26 Show all links to items or just next (all or next) -->all
If you have DBV#25 above set to 3.0 then you can use this feature. If this variable is set to "all" then large database displays will show jump links to many other sets of items at the bottom of the display pages. If you set this to "next" then you will only see two links at the bottom of database display pages that will say "Next 20 Items" and "Previous 20 Items". Setting this to "all" makes it easy to navigate a small to medium size database, but if your database is gigantic then setting this to "next" may prove to be helpful to you.
You may change the actual price of the item by using a "$" in the options like so:
OPTIONS^Small $10^Medium $20^Large $30
If you set Personal Variable #36 (currency symbol) to something other than "$", such as "L", then be sure to use that symbol insead. Example:
OPTIONS^Small L10^Medium L20^Large L30
You may add to the current price by placing plus signs before your currency symbol like so:
OPTIONS^Red +$3^Blue +$5^Green +$10
Here is a more detailed example of an entire line (item) of a database file:
Shirts|1001|Men's T-Shirt|100% Cotton|10|.5|shirt.gif|OPTIONS^Small $10^Medium $20^Large $30|OPTIONS^Red +$3^Blue +$5^Green +$10
Key:
category|stock#|ItemName|description|price|shipping(lbs)|image|pull-down menus|pull-down menus
Do you want your <SELECT> menus larger than one line? (In other words <SELECT SIZE=3>) This is how you do it:
OPTIONS3^Red^Blue^Green
Any number immediately following "OPTIONS" will set the SIZE of the SELECT pull-down menu.
Want your databases to display checkboxes?
CHECKBOX^With tote bag +$5.00|CHECKBOX^Bag of tees +$2.00
Use + signs with checkboxes if you want to add to the current price.
Want to use text boxes in your databases so your customers can give you some input?
TEXT^Name to be embroidered on shirt^10-20
The first field is your statement to be printed on the page of the database display. The next field sets the SIZE and MAXLENGTH attributes of the text box.
Want a QUANTITY text box in your databases so your customers can enter quantity?
QUANTITY^How many days?^3-3-1
The first field tells the cart script to make a TEXT box for quantity. The second field is your statement to be printed on the page of the database display next to this TEXT box. The third field sets the SIZE and MAXLENGTH attributes of the text box and the default quantity.
Miscellaneous Database Tips:
Want to use Volume Discount Pricing with your databases? Put this format in your price fields:
10.00:1:9.00:10:8.00:20
This means, $10 each for 1 (or more), $9 each for 10 (or more) and $8 each for 20 (or more). Always use the ":" character to separate the sub-fields of your volume discount pricing. Make sure your list is in order from smallest quantity (1) to largest quantity. See Template.html section 1C for information on how to use volume discount pricing with standard HTML forms.
You can add keywords to the items in your databases so the search engine can find the item better, without the keywords appearing in the database's product displays. Use HTML comment tags in your fields like so: |<!-- these are some key words -->|
The search engine will find the keywords and display the products, but the search words wont display on the web page.
If an item in your database is nontaxable, you can put this in one of your custom description fields and the cart wont calculate sales tax on that item. |#nontaxable#|
Or: |<!-- #nontaxable# -->|
and it wont show up on the web page.
You can have links appear in your database by inserting some <A HREF> tags in the custom description fields of your database like so:
|<A HREF=http://www.YourName.com/Details.html>Click for details<A>|
Or extra images too:
|<IMG SRC=http://www.YourName.com/Image.gif>|
Using the Dansie Shopping Cart Mall Version? Have people link to your site like this:
http://www.YourName.com/cgi-bin/cart.pl?referrer=Buddy&url=http://www.YourName.com&merchant=fred
Or:
http://www.YourName.com/cgi-bin/cart.pl?referrer=Buddy&merchant=fred
(Without the "url=http://www.YourName.com")
The URL you use here must match exactly what you have in Host Variable #1.
Sell Passwords
The Dansie Shopping Cart can now automatically email your customer passwords or other sensitive information after "Secure Online Credit Card Transactions" and "Online Check Drafts" with i-check depending upon certain items they purchase with your cart. The sensitive information can be emailed to your customer automatically after their credit card is approved. It works like this: Create and place a file in the same directory that your vars.dat file is in (most likely your cgi-bin) called "passwords.dat". This file can have information in it like so:
Polka Dot|These are special instructions...
Chocolates +$5|These are more special instructions...
Notice that it has two fields on each line separated by the "|" character. When a customer purchases an item via "Secure Online Credit Card Transaction", if one of the custom descriptive fields contains any phrase found in the left field of the "passwords.dat" file, the cart will email them the special instructions of the corresponding right field of the passwords.dat file.
Example:
<INPUT TYPE=CHECKBOX NAME="custom1" VALUE="Polka Dot">
If you had the above tag in one of your product forms, and your customer checked this checkbox and purchased the item via "Secure Online Credit Card Transaction" or "Online Check Draft" with i-check, they would receive the special info found in the passwords.dat file. You may put as many lines in your passwords.dat file as you wish.
Limited Quantity Inventory
The Dansie Shopping Cart can keep track of the remaining items in stock that you have limited quantities of. Like rare sports cards and antiques. It will decrement a data file like you see below every time someone orders an item with that name.
Mens Tie|10
Gift Basket|20
SuperWuper Widget|1
Notice that it has two fields on each line separated by the "|" character. When a customer purchases an item that matches the name in the field on the left, the cart will decrement the number in it's corresponding field on the right. When that item hits zero, and another customer tries to put that item in the cart, the cart will give the customer a message that this item is out of stock.
You may put as many items and quantities in your "limited.dat" file as you wish. To utilize this feature, just create a data file called "limited.dat", put it in the same directory that your vars.dat file is in and chmod it 777 so it's writable. Remember, you must put the name of the item in the field on the left. Not the stock number. Also, it is case sensitive.
Note: If a customer selects any payment method such as "Credit Card Transaction via Telephone" or "Check or Money Order" the cart will decrement limited quantity items even if the customer doesn't call to submit their credit card number or send you their check. Also, if two visitors to your site put the last of an item into their cart at the same time, there is the possibility that both orders will go through without one of them getting the "item is out of stock" message.
But over all, it will prevent mass numbers of orders for items that are out of stock.
Affiliate Programs:
The Dansie Shopping Cart currently works with these affiliate programs:
Put this tag on the end of Personal Variable #6 in your vars.dat file:
<img src="https://www.commission-junction.com/track/receive.dll? AMOUNT=#subtotal#&CID=XXX&OID=#orderid#&TYPE=SALE&METHOD=IMG" height"1" width="1">
The only thing you should change here is XXX. Put your CID in there.
The Dansie Shopping Cart will automatically substitute "#subtotal#" with the order subtotal and "#orderid#" with the invoice number.
Put this tag on the end of Personal Variable #6 in your vars.dat file:
<img src="https://tracker.clicktrade.com/Tracker/Tracker.dll? clicktrade=XXX&ct=XXX&sale=#subtotal#&uarg=#orderid#">
The only thing you should change here is XXX. Put your ID in there. Etc.
The Dansie Shopping Cart will automatically substitute "#subtotal#" with the order subtotal and "#orderid#" with the invoice number.
Put this tag on the end of Personal Variable #6 in your vars.dat file:
<img src="http://our.affiliatetracking.net/UserName/log.cgi?#subtotal#">
The only thing you should change here is UserName. Put your affiliatetracking.net ID in there.
The Dansie Shopping Cart will automatically substitute "#subtotal#" with the order subtotal.
After your shopping cart is installed, follow these steps:
Create a directory in your cgi-bin with the merchants name and chmod it 777. Example: "merchant1". This directory must be located in the same directory as your cart.pl script. Use letters and numbers and no spaces or special characters.
Upload a vars.dat file and a lang.dat file into that new directory.
Point your browser at the cart like so: http://www.YourName.com/cgi-bin/cart.pl?test|MerchantNameHere The query string here is "test" followed by the "|" character, followed by the merchants name (directory name). A "carts" directory and invoice.dat file should be automatically created in this new directory. If not, create them manually with your FTP browser.
That's all.
In order to use this merchants vars.dat file, always be sure to use the following tag in every product form related to that merchant:
Note: You will have a default vars.dat file located next to your cart.pl script in your cgi-bin. If the NAME=merchant tag isn't used in a form, the default vars.dat file will be accessed.
Mall Merchant Upload Control Panel
The Dansie Shopping Cart Mall Version has a built-in web based upload utility feature that allows merchants to upload their vars.dat and lang.dat files 24 hours a day without bugging you. To access your Mall Merchant Upload Control Panel, just point your browser at your cart.pl script with the "login" query string like so: http://www.YourName.com/cgi-bin/cart.pl?login
If you have a site security certificate, your hosted merchants can upload and download information securely too. Just set Host Variable #14 with the "https" URL to the cart.pl script.
In order to allow your merchants web based upload access to their directory, you will need to place a file in your cgi-bin called "merchant_passwords.dat". This plain text file will look like this:
Use the "|" pipe delimiter to separate the fields. The first line will set the default directory size limit that you will allow to each merchant to have. Only one field goes on this line. The rest of the lines may have either two or three fields. The first field in each line is the merchants name. This must match the name of the merchants directory exactly. The second field is the merchants password. The third field is optional. It allows you to adjust the directory size limit for that merchant. In this example, Moe's third field is not defined, so he gets the default value that is in the first line of the "merchant_passwords.dat" file. Larry's third field has 400000 in it so he gets twice the default size limit to host his files with. Curly's third field is defined as well, but it says 50000. He will only have one-fourth the default allotted space.
Mall Version Security Features and Diagnostics
For security reasons, the following variables are automatically set for mall merchants because they have the ability to write to files on the host: HV#8, HV#9, HV#10, DBV#1. The default location of these variables is a system path to the merchants directory. For example, put all the merchants database files in their directory. There is no need to set DBV#1. Put a tracking.dat file in the merchants directory, make sure permissions on it are writable, and the Order Tracking feature will begin working.
For security reasons, the following variables are automatically set for mall merchants because they have the ability to execute programs on the host: HV#6, HV#7. The cart.pl script will grab the values of these variables from the default master vars.dat file in your cgi-bin.
For simplicity reasons, the following variable is disabled and automatically set for all merchants: HV#1. If your merchant sets it incorrectly, their cart will still operate because the cart.pl script will grab the values of this variable from the default master vars.dat file in your cgi-bin.
You can run diagnostics on the merchants with:
http://www.YourName.com/cgi-bin/cart.pl?test|MerchantName
http://www.YourName.com/cgi-bin/cart.pl?vars|MerchantName
http://www.YourName.com/cgi-bin/cart.pl?lang|MerchantName
http://www.YourName.com/cgi-bin/cart.pl?write_test|MerchantName
Or simply view your cart contents with the merchant using:
http://www.YourName.com/cgi-bin/cart.pl?look|MerchantName
Look for any new variables in the new lang.dat file and copy and paste them into your old one.
Look for any new variables in the new vars.dat file and copy and paste them into your old one (in the respective four sections).
Test your cart. http://www.YourName.com/cgi-bin/cart.pl?test
If you get an Internal Server Error, try changing the very first line in the cart.pl file from:
#!/usr/bin/perl
To:
#!/usr/local/bin/perl
If all works fine then delete the "cart_old.pl" file in your cgi-bin directory.
If you need any help upgrading, don't hesitate to ask. cart@dansie.net Make sure you send the URL to your cart.pl script and your FTP address, login name and password.
Refer to the new ReadMe for instructions on how to take advantage of the latest new variables. Discard your old ReadMe.
Notes: If you don't put the new vars variables into your vars.dat file, your
cart will still work. The new version will assign default values for the
variables you have not defined yet.
If you don't put the new lang variables into your lang.dat file, well,
your cart will probably still work, it just wont look too pretty. In certain
pages and areas of your cart you may be missing some textual display.
Reverse Compatibility Warning!
If you are utilizing the Online Check Draft payment option, there has been some changes beginning with version 2.79 that may not be backwards compatible with your current vars.dat settings. Be sure to see Personal Variable #42 here in this new ReadMe. Make sure you are running ssl.pl version 2.22 or higher too.