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 your cart has
a basic configuration setting provided by WhidbeyNET which you may want to change.
Rule #1 ALWAYS KEEP A BACKUP!
You should have recived a copy of your vars.dat file which contains many of the
settings described in this document. You will find instructions for installing your customised vars.dat file in Mall Version. Enjoy
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>
You may put JavaScript tags in your lang.dat variables, but make sure that you precede any single quotes with a back slash like so: <SELECT NAME=example OnChange=\'SomeFunction()\';>
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.
There are two buttons in the cart that cannot be changed to image buttons. They are the "Same As Above" shipping/billing address copy button in lang.dat #105 and the "PRINT THIS PAGE FOR YOUR RECEIPT" button that appears at the bottom of receipt pages for Netscape browsers in lang.dat #13. These are not submit buttons but rather JavaScript buttons and need to remain that way. An image wont work for those two.
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.
If you are using Blat and you aren't receiving any email receipts from the cart then use this test script and instructions to isolate Blat from the cart to first confirm that Blat is working.
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 backslashes may be necessary:
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"
If you are using Windmail and you aren't receiving any email receipts from the cart then use this test script and instructions to isolate Windmail from the cart to first confirm that Windmail is working.
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 "SENDMAIL VARIABLES" section near the 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.
15 Mall merchant overdue redirect URL -->http://www.YourName.com/PaymentOverdue.html
This variable may be used if you have the Mall Version. If one of your hosted merchants is overdue payment, you can disable their cart by simply renaming their directory or vars.dat file. Removing their login name and password from the merchant_passwords.dat file is also advised. If this variable is set with a URL and a shopper tries to use your clients cart, their browser will be redirected to the URL. You can make a custom page giving your client instructions how they can make payment and reactivate their shopping cart. 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.
The cart can also send receipts to www.Jfax.com. This is a neat email to fax service. Just put your authorized email address in the first position of PV#2 and put your Jfax email address in any other position.
3 Data file extension-->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 "temp" 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
The Dansie Shopping Cart can calculate sales tax (or VAT) 5 different ways:
0 = No sales tax. The cart will not calculate any sales tax.
1 = Allow sales tax on subtotal.
2 = Force sales tax on subtotal.
3 = Allow sales tax on subtotal and shipping charges.
4 = Force sales tax on subtotal and shipping charges.
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".
If you set this variable to either 2 or 4 then it's recommended that you keep the Sales Tax State Verification feature in PV#76 turned off.
If you have PV#12 set to something other than 0 (off), then don't leave this variable blank. Put something in here such as your state or province of sales taxation or VAT.
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.
Set this variable with a hexadecimal value such as #FFFFFF (white) or #000000 (black).
If you do set HV#5 with a URL to wallpaper, be sure that the hexadecimal value in PV#15 is of approximate color to your wallpaper
Make sure that this color CONTRASTS with the font colors you have set in HV#16 and HV#19.
Want to control the LINK and VLINK colors in the BODY tag of the carts dynamic pages? Set Personal Variable #15 like so:
-->#FFFFFF" LINK=#0000FF VLINK=#000099 "
Or with marginheight and marginwidth:
-->#FFFFFF" marginheight=0 marginwidth=0 "
Copy and paste this into your vars.dat file. Looks funny, but it will work.
It doesn't immediately remove the following because the sales are not yet final. The customer may decide to go back and add a couple more items to their cart before calling in their credit card number or mailing you their check.
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.
Do you want the cart to say something like "Call for shipping quote" and not have any numeric value appear in the SELECT pull-down menu? Then set both PV#30 and PV#31 like so:
30 Initial shipping cost of first pound -->0.00
The "0.00" will tell the cart to not show ANY number (price) in that option.
Do you want the cart to say something like "Call for shipping quote" and not have any numeric value appear in the SELECT pull-down menu? Then set both PV#30 and PV#31 like so:
30 Initial shipping cost of first pound -->0.00
The "0.00" will tell the cart to not show ANY number (price) in that option.
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 equaling 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 $200 or less.
3% shipping totaling $1000 or less.
2% shipping totaling $1000000 or less.
Free shipping when subtotal is over $1000000.
Do you want the cart to say something like "Call for shipping quote" and not have any numeric value appear in the SELECT pull-down menu? Then set PV#35 like so:
35 Shipping calculated by amount of purchase: Amounts -->0.00
The "0.00" will tell the cart to not show ANY number (price) in that option.
37 Email receipt to customer -->1
The Dansie Shopping Cart always gives your customer a printable receipt in their web browser. However, if you would like the cart to send them a receipt by email too, then set this variable to 1. If not, set it to 0.
38 Background color of various tables -->#ddFFFF
When a customer chooses "Check or Money Order" transaction, they get a printable custom order form. This form has a table where they print their shipping address. You can set the background color of this table here. If you leave it blank, the default is white. This is here in case you want to use a white font (#16) on your pages and still be able to read this table. This also sets the color in the row across the top of the shopping cart display where it says, Item: Description: Quantity: Each: Total:
39 IP addresses or cookies for shopper ID -->1
0 = IP address, browser and operating system info alone.
1 = Cookies first, but if disabled, use IP address, browser and operating system info.
2 = Cookies alone.
Set this to 0 if you want the cart to identify your customer by their IP address, browser and operating system info alone and not use cookies.
If you have cookies disabled in your browser, and your ISP changes your IP address while you are still connected to the internet, then the cart will not be able to re-identify you and you will get a "Shopping Cart Empty" message.
If you have cookies disabled in your browser, and your ISP issues you a shared IP address, and another shopper happens to have the same IP address, browser and operating system info, you may experience a "shared basket".
Set this to 1 if you want the cart to identify your shoppers using cookies. If you set this to 1 and your customer has their cookies turned off in their browser, the Dansie Shopping Cart will automatically use your customer's IP address, browser and operating system info for identification instead.
If you have cookies disabled in your browser, and your ISP issues you a shared IP address, the cart can identify you by your IP address and distinguish you from other shoppers using the same IP address by your browser and operating system info.
If you have cookies disabled in your browser, and your ISP changes your IP address while you are still connected to the internet, then the cart will not be able to re-identify you and you will get a "Shopping Cart Empty" message.
If you have cookies disabled in your browser, and your ISP issues you a shared IP address, and another shopper happens to have the same IP address, browser and operating system info, you may experience a "shared basket".
Set this to 2 if you want the cart to only use cookies to identify your shoppers.
You could lose some shoppers this way who have cookies disabled, but have unique IP/browser/OS info. However, you will never have two shoppers experiencing a shared basket.
The recommended and most reliable way for the cart to identify your shoppers is if you set this variable to 1 AND your shoppers have cookies enabled in their browser.
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
Disable Payment Option. If you set it to 0, the cart will not display this payment option.
ssl.pl. 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
PayByCheck.com/iCheck. If you set this to "icheck", the cart will take your customers shipping address and then send them to http://www.i-check.net
(i-check.net and http://www.paybycheck.com are the same company.)
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 random id that you define in Secure Server Variable #6.
A "failure" URL would be:
http://www.YourName.com/cgi-bin/cart.pl?failure
If you are using the Dansie Shopping Cart Mall Version, then make the link like so:
http://www.YourName.com/cgi-bin/cart.pl?icheck1212abc&merchant=MerchantName
A "failure" URL with the mall version would be:
http://www.YourName.com/cgi-bin/cart.pl?failure&merchant=MerchantName
Last put your i-check ID in Personal Variable #50.
ValidCheck. 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 random id that you define in Secure Server Variable #6.
Last put your ValidCheck.com VID in Personal Variable #50.
Signio/Verisign Telecheck. If you set this to "telecheck", the cart will take your customers shipping address and then send them to http://www.signio.com (Verisign's Telecheck service) to submit their check information. If you have an account with Signio/Verisign and wish to set this variable to "telecheck", login to your Signio/Verisign account 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 random id that you define in Secure Server Variable #6.
Last make sure your Signio/Verisign login ID is in Personal Variable #50.
CHEXpedite If you set this with your full URL to CHEXpedite, then the cart will take your customers shipping/billing address and then send them to CHEXpedite for electronic check processing. Set your CHEXpedite ID in Personal Variable #50.
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 you have the cart set to use Webstore or Coupon discounts but you want certain items to always be full price and never be discounted, then use a tag like so:
<INPUT TYPE=HIDDEN NAME="custom1" VALUE="#nodiscount#">
In order to reduce confusion for your customers it is highly recommended to include another custom description tag like this:
<INPUT TYPE=HIDDEN NAME="custom2" VALUE="No discounts on this item.">
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. The discount will apply on the subtotal of their order but not on their sales tax and shipping. So they will still pay for any applicable sales tax and shipping. 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.
If you have the cart set to use Webstore or Coupon discounts but you want certain items to always be full price and never be discounted, then use a tag like so:
<INPUT TYPE=HIDDEN NAME="custom1" VALUE="#nodiscount#">
In order to reduce confusion for your customers it is highly recommended to include another custom description tag like this:
<INPUT TYPE=HIDDEN NAME="custom2" VALUE="No discounts on this item.">
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.
Products ordered (comma delimited) the prices and custom descriptions of each item (:: delimited). The quantity of each item will also appear in parenthesis.
Date
Sales tax
Shipping Address
City
State
Zip
Country
The payment method chosen by your customer
Billing name and billing company name
Billing address
Billing city
Billing state
Billing zip
Billing country
Billing phone number
Billing email
Customer comments, if any. Original line breaks are replaced with a "" character.
To utilize this feature, create an empty file called "tracking.dat", upload it to the directory you want and make sure it is writable. Then set the system path to the tracking.dat file in this variable like so:
69 Order Tracking -->/path/to/cgi-bin/tracking.dat
Not sure what your system path is? Go here:
http://www.YourName.com/cgi-bin/cart.pl?path
Do NOT set a URL in PV#69. Set the system path.
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/tracking.dat"
Try to keep this in mind and not get the two confused.
Storing credit card numbers in flat-file database format:
Near the top of the ssl.pl script, if you set the $ssl_tracking_dir variable with a system path, then the ssl.pl script will record credit card info in a flat-file database format there. Example:
$ssl_tracking_dir = "/secure/host/path/to/cgi-bin/tracking.dat";
Make sure you make this file first and set write permissions on it.
Please note that billing address info is not collected or recorded when using the Check or Money Order or COD payment options.
Set the URL to the real-time processors processing script in this variable followed by a pipe character then your login ID. For example:
71 Auxiliary Real-Time Credit Card Processor Payment Option -->https://secure.hurstlinks.net/~cubecard/checkout.php|YourLoginID
Or:
71 Auxiliary Real-Time Credit Card Processor Payment Option -->https://www.paypal.com/xclick/|Your@Email.com
Or:
71 Auxiliary Real-Time Credit Card Processor Payment Option -->https://www.YourName.com/cgi-bin/ssl.pl
Be sure you have lang.dat #154 in your lang.dat file. Adjust it to say whatever you like. Examples:
154 -->AT&T Payment Option
154 -->CubeCard
154 -->PayPal
If you need to set "Success" and "Failure" return URLs in your processors account, set them like so:
Success: http://www.YourName.com/cgi-bin/cart.pl?aux_processorSSV#6
Failure: http://www.YourName.com/cgi-bin/cart.pl?failure
If a shopper selects a state for their shipping address that also appears in PV#13 (a sales taxable state) and if they did NOT select that they lived in that sales taxable area, the cart will automatically apply the sales tax. No error message will be shown.
It is highly recommended to use this feature in conjunction with PV#74. If you activate this feature, but don't have PV#74 activated, then this feature may not work in all cases such as if a shopper misspells their state. PV#43 needs to be activated or this feature wont work at all.
79 Referral ID --> Sign up with the Dansie Shopping Cart Referral Program and earn free Dansie Shopping Cart software licenses with referred sales. Set this variable with your referral ID like so:
79 Referral ID -->domain.com
The cart.pl script will then automatically change the text link at the bottom of the pages generated by the cart.pl script to include your referral ID.
Shopper ID number (coupon codes will appear here too separated by a dash "-" if used.)
Customer name and company name
Email address
Phone number
Order total (including shipping and sales tax)
Shipping charges
Shipping method
Products ordered (comma delimited) the prices and custom descriptions of each item (:: delimited). The quantity of each item will also appear in parenthesis.
Date
Sales tax
Shipping Address
City
State
Zip
Country
The payment method chosen by your customer
Billing name
Billing address
Billing city
Billing state
Billing zip
Billing country
Billing phone number
Billing email
Customer comments, if any. Original line breaks are replaced with a "" character.
To utilize this feature, create an empty file called "pending.dat", upload it to the directory you want and make sure it is writable. Then set the system path to the pending.dat file in this variable like so:
80 Pending Order Tracking -->/path/to/cgi-bin/pending.dat
Not sure what your system path is? Go here:
http://www.YourName.com/cgi-bin/cart.pl?path
Do NOT set a URL in PV#80. Set the system path.
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/pending.dat"
Try to keep this in mind and not get the two confused.
Set the URL to the real-time processors processing script in this variable followed by a pipe character then your login ID. For example:
81 Second Auxiliary Real-Time Credit Card Processor Payment Option -->https://www.paypal.com/xclick/|Your@Email.com
Or:
81 Second Auxiliary Real-Time Credit Card Processor Payment Option -->https://www.SomeProcessor.com/process.cgi|9876543
Or:
81 Second Auxiliary Real-Time Credit Card Processor Payment Option -->https://www.YourName.com/cgi-bin/ssl.pl
Be sure you have lang.dat #165 in your lang.dat file. Adjust it to say whatever you like. Examples:
165 -->PayPal
165 -->SomeProcessor.com
If you need to set "Success" and "Failure" return URLs in your processors account, set them like so:
Success: http://www.YourName.com/cgi-bin/cart.pl?aux_processor2SSV#6
Failure: http://www.YourName.com/cgi-bin/cart.pl?failure
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 $200 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 $200 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. You can name the "shipping.dat" file anything you like. Also, you can use as many shipping.dat files as you like too. Just name them slightly different like "ship1.dat", "ship2.dat", etc.
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.
Set SSV#1 to: https://cambist.com/cgi-bin/icvtest.pl
Set SSV#2 to: DEMO
Put an item in the cart that will cause it to give a grand total ending in a '.05' or '.00'.
Use these numbers for testing: 4005550000000027 or 5419840000000003
To go live with your Cambist account:
Set SSV#1 to: https://cambist.com/cgi-bin/authorize.pl
Set SSV#2 with your Cambist Merchant ID.
If you want to restrict the card types that Cambist accepts for you, then set SSV#9 with one or more of these:
-->Visa,MasterCard,Amex,Discover
If you want Cambist to use a language on their website other than English, set SSV#9 like so:
-->Visa,MasterCard,Language=Spanish
Or:
-->Language=French
Inquire with Cambist for supported languages.
If you are doing "book" transactions with Cambist, then set SSV#9 to "book" like so:
-->Visa,MasterCard,Amex,Discover,book
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,Language=Spanish
If you would like Cambist to NOT prompt and collect the three digit number on the back of most credit cards, then set SSV#9 with "UseCVV2=N". Example:
-->Amex,Discover,book,AVSVerify,Language=Spanish,UseCVV2=N
NOTICE: The Dansie Shopping Cart has worked with AuthorizeNet Weblink method since 1998. Unfortunately AuthorizeNet has continued to make non-backwards compatible changes to their system requiring all shopping cart software developers to also make changes to their software in order to remain compatible. Their practice of making non-backwards compatible changes has led to many of their merchants losing orders on three occasions from 1998 to 2002 until we were able to reprogram our software to "keep up" with their changes. No other processor that the Dansie Shopping Cart works with has had as many interruptions with their compatibility. Due to their practice of non-backwards compatible changes, AuthorizeNet may not remain compatible with the Dansie Shopping Cart indefinitely.
Set Secure Variables 1,2,6,7,9 and 13. 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
For TRANSACT-SECURETM posting set SSV#1 to:
https://verify.ishopsecure.com/authorizenet/cgi_bin/verify.cgi
For richsolutions.com, set SSV#1 to:
https://www.richsolutions.com/Pay/WebLink.aspx
For the other clones, set SSV#1 to the transaction posting URL they provide you.
Set SSV#2 with your AuthorizeNet or clone Login ID.
Set SSV#9 with your AuthorizeNet transaction key. You must have cart.pl version 3.37+. Example:
9 -->txnkey=abcd1234
Set PV#55 to 1 to disable diagnostics so your variables can't be viewed from any web browser.
Upload the SimLib.pm and SimHMAC.pm provided by AuthorizeNet to the same directory that your vars.dat file is located in.
AuthorizeNet accounts login here: https://secure.authorize.net
QuickCommerce accounts login here: https://secure.quickcommerce.net
Or login to your clone processor.
Inside your AuthorizeNet account locate "Response/Receipt URLs" and enter your Return Link URL in the designated field.
http://www.YourName.com/cgi-bin/cart.pl?SSV#6
This URL needs to be exactly what you have in HV#1 plus a question mark, plus what you have in SSV#6.
The SSV#6 at the end of the URL above is what you define in variable SSV#6.
Inside your AuthorizeNet account locate "Default Receipt Link URL" and enter your Return Link URL in the designated field. This URL is identical to Response/Receipt URLs above.
Make sure there is no URL set in "Default Relay Response URL".
Set your AuthorizeNet account into TEST mode to run a test order. Click on "Settings", "Test Mode", "Turn Test On". Test credit card number with AuthorizeNet: 5419840000000003
Set SSV#9 with x_Type to tell AuthorizeNet if you want AUTH_ONLY or AUTH_CAPTURE. Example:
9 -->txnkey=abcd1234,x_Type=AUTH_ONLY
Separate it from the txnkey with a comma. If you don't set x_Type in SSV#9, the default value sent to AuthorizeNet will be AUTH_CAPTURE.
Mall Version note: Set your Return Link URL like so: http://www.YourName.com/cgi-bin/cart.pl?SSV#6|merchant|MerchantName Change SSV#6 to what you have in SSV#6 and "MerchantName" to what the merchant's name is.
Note that the AuthorizeNet web page receipt will flash briefly and then automatically refresh the shopper's browser over to the cart's receipt page. That is normal. This will ensure that the shopper's browser returns to the cart to trigger the email receipts with the order details and shipping address.
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 and language you are using, set your currency flag and language in Secure Server Variable #9 separated by a comma. Example:
9 InternetSecure currency flag -->{US},english
Login to your InternetSecure account and set your Return URL to:
http://www.YourName.com/cgi-bin/cart.pl?SSV#6
This URL needs to be exactly what you have in HV#1 plus a question mark, plus what you have in SSV#6.
The SSV#6 at the end of the above URL is what you define in variable SSV#6 below.
It is also recommended to set your email address in SSV#13.
If you have PV#74 set with a list of states, you may want to set it with abbreviations of states instead as InternetSecure doesn't recognize the full state names, but rather just the two letter abbreviation. Or both like so:
-->AL Alabama,AK Alaska,AZ Arizona,etc
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.
Put your ATSBank ID in SSV#2. You may use "TEST0" as a test user ID in SSV#2.
A test credit card number to use with the testaccount is "5454545454545454".
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" or blank are the recommended setting.
Also, if you accept online checks with iTransact, then put "acceptchecks" in SSV#9 as well. Example:
9 -->post,acceptchecks
A test credit card number to use with the testaccount is "5454545454545454" exp: 12/01.
You will need to login to your account at CSI or ClearCommerce and set up your account. CSI or 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?SSV#6
This URL needs to be exactly what you have in HV#1 plus a question mark, plus what you have in SSV#6.
The SSV#6 in the URL above 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 the "Thank You" and "Sorry" page URLs like so: http://www.YourName.com/cgi-bin/cart.pl?SSV#6&merchant=MerchantName
http://www.YourName.com/cgi-bin/cart.pl?failure&merchant=MerchantName
Change SSV#6 in the URL above to what you have in SSV#6 and "MerchantName" to what the merchant's name is.
You must check both of the following check boxes after the "Thank You" and "Sorry" URL fields: "Check here if this url is a CGI script." and "Check if you wish to automatically display specified URL after the LinkPoint HTML receipt page."
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://www.linkpointcentral.com/lpc/servlet/lppay
https://secureweb.clearcommerce.com/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.
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