Dansie Shopping Cart
ReadMe Set up instructions
Dansie Shopping Cart 3.33
By Dansie Website Design
CONTENTS:
§1 DISCLAIMER AND LEGAL
STUFF:
License Agreement
Use of the Dansie Shopping Cart software is subject to the terms of the license
agreement. By using this software you signify that you have read the license
agreement and accept its terms. Your purchase of a Dansie Shopping Cart license
entitles you to one (1) working copy of the script per license. You may NOT
copy, reproduce, resell, or give away copies of the script in any way shape or
form without first purchasing additional licenses. You may make one back up copy
should something happen to the working copy on your host. You may not make any
modifications to the Dansie Shopping Cart script except as instructed in the
ReadMe. The small text link and credit to http://www.dansie.net must remain in
the script and appear at the bottom of the various pages of shopping cart
script. Violation of this license agreement may void your license without
refund, your right to technical support and subject you to legal action. Do not
attempt to run the cart.pl script on a site other than which it was licensed
for.
If you believe you may have received an unlicensed copy of the Dansie Shopping
Cart software (the Perl script) or you have information about someone conducting
piracy, please contact us at
piracy@dansie.net.
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.
Security Check List:
Is Personal Variable #55 set to 1?
Is Personal Variable #66 set?
If you are using the ssl.pl script to collect credit card info, are you using a site security certificate?
If you are using the ssl.pl script to collect credit card info, and you have credit card info being emailed to you (SSV#11), are you using PGP? (SSV#10)
If you are using the ssl.pl script to collect credit card info, and you have the cart recording that credit card info to data files on your website (SSV#8), is that credit card info being written to a directory that is NOT viewable with a web browser?
You can have the credit card info recorded to directories accessible from the web if it's protected by .htaccess and .htpasswd files and you use your website's site security certificate to download that info via "https".
cgi-bin browsing. Does your host have your site configured so that your
cgi-bin directory cannot be browsed? Go here:
http://www.YourName.com/cgi-bin/
If you see "Forbidden" or a similar message then that is good. If you see a
listing of all the files in your cgi-bin directory and can view text files
by clicking on them, that's NOT good. Ask your host to fix that so that your
cgi-bin directory is NOT browsable.
An email receipt from the shopping cart is NOT proof that you have received payment. Always check with your merchant account or credit card processor to confirm that a shoppers card has been approved prior to shipping any products. Some processors will email you a confirmation, others will also provide a way for you to login to your account and verify on their website. If a shopper places an order via the "Check or Money Order" payment option, likewise, you will want to receive and clear their check prior to shipping any products.
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 security is set is the responsibility of you, the merchant. 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
encrypted 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. Personal Variables that relate to security
are Personal Variables #55 and #66.
Database Variable #1 can also be an important variable
concerning security.
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.
Back to top.
§2 DESCRIPTION OF CONTENTS
OF ZIP FILE:
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)
shopperid.dat (An empty file. Each shopper will be assigned a number. This file was formerly called "invoice.dat")
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 shopperid.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
shopper ID numbers 15, 25, 33, 38, etc, that is normal.
Back to top.
§4 ABOUT LANG.DAT:
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.
Back to top.
§5 HOW TO INSTALL THE
DANSIE SHOPPING CART:
If you have never uploaded a CGI Perl script to your cgi-bin before, section 6 will provide you with some helpful tips.
STEP 1:
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) shopperid.dat | ASCII | 777 (writable) |
Chmod your cart.pl script 755. Chmod the shopperid.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".
STEP 3:
Make sure your cgi-bin's permissions are set to 755. If not then chmod your cgi-bin 755. Manually create a directory called "temp" with your FTP program inside your cgi-bin directory and chmod "temp" 777. (We formerly named this directory "carts". Either "temp" or "carts" will work fine.) The "temp" directory will be used by the cart.pl script as it's memory. It will use the "temp" directory to record shoppers cart contents. If permissions on this directory are not set as writable the cart.pl script may keep reporting, "Sorry, your cart is currently empty". Most likely you will never need to look in this directory or even concern yourself with what is in it.
STEP 4:
Point your web browser at your script like so:
http://www.YourName.com/cgi-bin/cart.pl?test
The script may give you further installation instructions if you forgot to do anything. If the cart tells you that you need to define a single variable at the top of the cart.pl script, then see the SINGLE VARIABLE section in this ReadMe (Section 7).
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 product databases. The use of product databases are optional.
Trouble Shooting:
If your shopping cart continually tells you that your cart is empty, manually create a directory called "temp" with your FTP program in your cgi-bin directory (same directory where your vars.dat and cart.pl script is in). Chmod "temp" 777 if your host is Unix.
If the shopper ID number never increments past "1", make sure "shopperid.dat" is in your cgi-bin and chmod "shopperid.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 "temp" directory is not globally writable. Contact your host and ask them to set permissions on the "temp" directory and the "shopperid.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
If you get an Internal Server Error:
HTML and FTP expert:
§7 SINGLE VARIABLE:
There are NO variables to configure in the cart.pl script unless:
It's recommended to not set this variable unless the cart.pl
script specifically tells you to do so. You will know when you point your
browser at the cart.pl script with the test query string if you need to set this
variable because it will give you a message telling you to do so.
http://www.YourName.com/cgi-bin/cart.pl?test
How to configure the one variable located near the top of the cart.pl script.
Example:
$vars = "/your/system/path/to/your/data/file/vars.dat"; Or if on a Windows_NT server, something like this: $vars = "D:/home/YourName/cgi-bin/vars.dat";
You may have trouble opening cart.pl if "pl" is not a file extension that
your computer recognizes. In Windows, right click on the cart.pl icon, and
select "Open with...". Then, select a plain text reader from one of your
programs such as NotePad or WordPad. That should open it for you.
$vars must be the system location and name of your vars.dat file. All other
variables are located in the vars.dat file.
These URLs may yield the system path:
http://www.YourName.com/cgi-bin/cart.pl?env
http://www.YourName.com/cgi-bin/cart.pl?path
When you send the "env" query string to your cart it will display your system's
environment variables for you (provided you uploaded it in ASCII and chmoded it
755).
If you are still not sure of your system path, ask your host, they will know.
Back to top.
§8 HOST VARIABLES:
When installing the Dansie Shopping Cart, remember, you most likely only need to
set the first 5 Host Variables to get your cart running.
1 Full URL location to cart.pl script -->http://www.YourName.net/cgi-bin/cart.pl
This is your shopping cart's URL location and name. Full URL path not system
path.
Make sure that this URL matches exactly what you have (or will have) in the
ACTION attribute in the FORM tags of your
HTML product forms.
For example, notice these two URLs are NOT the same:
http://www.YourName.net/cgi-bin/cart.pl
http://YourName.net/cgi-bin/cart.pl
Do not attempt to run the cart.pl script on a site other than which it was
licensed for.
2 Default return shopping URL -->http://www.YourName.net/store.html
This is the default "Return Shopping" URL for when people click the "Continue
Shopping" button at the bottom of the shopping cart. You may specify return URLs
in the HTML forms for every product that is purchased like so:
<INPUT TYPE=HIDDEN NAME=return VALUE="http://www.dansie.net/demo.html">
You must use a full URL. A full URL begins with "http://" (or "https://" if you
are using a site security certificate). Example:
<INPUT TYPE=HIDDEN NAME="return" VALUE="http://www.YourName.com/page.html">
And NOT like this:
<INPUT TYPE=HIDDEN NAME="return" VALUE="page.html">
See Template.html for more details. But if you don't use the "return" tag in an
HTML form, this variable will be the default return shopping URL. If your
website uses frames, do NOT set this to: http://www.YourName.com but rather
http://www.YourName.com/main.html In other words, don't set this to the parent
document on a framed website, set it to the main child page or you will get
frames within frames.
3 URL to images or thumb-nail directory -->http://www.YourName.net/images
Specify a base URL for where all your product thumb nail images are located so
that you only need to say:
<INPUT TYPE=HIDDEN NAME=img VALUE="img.gif">
instead of:
<INPUT TYPE=HIDDEN NAME=img VALUE="http://www.YourHost.com/img.gif">
in your HTML forms.
(However, your images will still work if you use a full URL in your forms. This
makes Dansie Shopping Cart flexible.)
4 URL to Custom image or company logo -->http://www.YourName.net/logo.gif
Custom image for cart.pl to use that represents your business. This can be your
company logo. Full URL path and name to this gif/jpg.
5 URL to wallpaper -->http://www.YourName.net/wp.jpg
This is a full URL path to some wallpaper that you may use in your shopping cart
script. If you wish to use a solid background color instead, just leave this
blank and set Personal Variable #15.
Note: In most cases you will never need to set Host Variables 6 through 12.
6 Sendmail, Windmail or Blat path -->
This variable is so your shopping cart can send you an email when someone places
an order and also email your customer a receipt. The email will contain the
products that you need to ship to them, the prices and the totals.
Unix Hosts
/usr/bin/sendmail
/bin/sendmail
/usr/lib/sendmail
Windows NT
Blat
c:\WINNT\SYSTEM32\Blat.exe -install mail.yourhost.com youruserid@yourname.com
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
7 Date program path -->/bin/date
Get the location of Perl's date program on your host. Email your host and ask
them if you don't know what the path is. If you don't see the date and time at
the top of receipt pages, then you don't have the correct date path. If you are
waiting to hear from your host about this system path, you may leave this
variable blank and the cart will still work. The cart will try to see if it can
grab a default system time for you. If you wish, you may run the cart with this
variable blank indefinitely. If you are on a Unix host, you may adjust the time
and date with switches like so:
7 Date program path -->/bin/date -u "+%d/%m/%y %T"
8 System path to shoppers data files ("temp" directory) -->
This is the system path to a directory where data files will be kept of your
customers shopping cart contents. You will only need to set this variable if you
want to change it's default location. Otherwise leave this variable blank.
If you want to change it's default location and you are not sure what your
system path is, ask your host. This is a system path to a directory that is
located next to your cart.pl script in the same directory as your cart.pl
script. The name of this directory is "temp".
WARNING! Make sure you keep NOTHING else in this directory, because the
shopping cart goes through it and deletes old files!
Examples: /path/to/cgi-bin/temp (UNIX) D:/home/YourName/cgi-bin/temp (Windows_NT)
Examples: /path/to/cgi-bin/shopperid.dat (UNIX) D:/home/YourName/cgi-bin/shopperid.dat (Windows_NT)
/path/to/cgi-bin/lang.dat (UNIX) D:/home/YourName/cgi-bin/lang.dat (Windows_NT)
11 Frames target name -->
If your site is not using frames, then leave this blank. If your site uses
frames you may leave this variable blank as well. If using frames you may set
this to the name of the main frame that you want the cart to appear in. In most
cases, it will work if you just leave this variable blank.
12 Parent Frame URL -->
If your site is not using frames, then leave this blank. If your site uses
frames then set this to the main URL of your site, like http://www.YourName.com
This should be a URL to the parent document that loads all your frames. Where as
Host Variable #2 is a URL to a child page like http://www.YourName.com/RightFrame.html.
Note: During a Secure Online Credit Card Transaction, the cart script will make
the cart frame assume the entire browser window to effectuate the lock at the
top of the browser. After a credit card transaction the link at the bottom of
the receipt page will return the customer to the URL defined in this variable.
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">
13 merchant_passwords.dat location -->
This variable may be used if you have the Mall Version.
You may leave it blank. However if you wish to change the default location of
the merchant_passwords.dat file then you may do so by setting this to a system
path. The default location for this file is in the same directory as the main
default vars.dat file.
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.
Back to top.
§9 PERSONAL VARIABLES:
1 Custom Options -->20
With every item you can have an array of custom descriptions. Such as color of
shirt, size of shirt, or other attributes that might actually change the price
of that item according to your specifications. These options would be in the
SELECT, CHECKBOX, RADIO, TEXT and HIDDEN tags of
your HTML forms. You can have as many custom descriptions of your items as you
need. It is recommended for performance reasons that you keep this variable as
small as possible. For example, if an item of yours that contains the largest
number of custom descriptions comes to 20, then set this to 20. There is no need
for the shopping cart script to search for higher variable values in this array.
Default is set at 20. Example: The mens tie on the Dansie Shopping Cart website
uses 3 custom name/value pairs. Size, Color, and Clip.
http://www.dansie.net/demo.html If
we were to use a stock number tag with the tie like this:
<INPUT TYPE=HIDDEN NAME="custom4" VALUE="Stock# 0004">
Then this item would have 4 custom descriptions. For more info on this, see
Template.html.
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.
2 Order details are emailed to the merchant here -->cart@dansie.net
This is where you put your email address. When someone orders something a copy
of the order details will be emailed to you. This email that the cart sends you
will help you fill their order. Need to send copies of the order to more than
one address? Just set this variable like so:
sales@YourName.net, orders@YourName.net, dropshipper@YourName.net
Separated by either commas, spaces or both. Note: If you are using the ssl.pl
script, customers credit card numbers will be emailed to the email address(s)
you set in Secure Server Variable #11.
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.
4 Business name -->ABC Widget Company
This is the name of your business. Don't leave this variable blank. If you don't
want your business name to appear at the top of the carts pages, then set
PV#44 to 0.
5 Checks payable to -->John Doe
This is who you want your customer to make their checks and money orders payable
to. Perhaps it will be the same as Business Name (#4) above.
6 Guarantee statement on receipt page -->If not completely
satisfied with any item within 30 days, return in original packaging for a
refund.
This one is pretty self explanatory. This statement will be displayed on the
webpage after a customer has made a purchase.
7 Address name -->ABC Widget Company. Attn: John Doe
This is the name of the mailing address of your company. Why three variables for
the same name you ask? (4,5 and 7).
This provides flexibility. This could be exactly the same as business name (#4) above.
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.
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. See also the sales tax state verification feature in
PV#76.
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.
15 bgcolor -->#FFFFFF
This is the background color of the pages of your shopping cart if no wallpaper
is defined in Host Variable #5.
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.
16 Header font color -->#FF0000
This is the header font color in the shopping cart.
17 Header font face -->Times New Roman
This is the header face font in the shopping cart.
18 Header font size -->+2
This is the size of the headers in the shopping cart.
19 Standard font color -->#000000
This is the standard font color of the shopping cart.
20 Standard font face -->Times New Roman
21 Standard font size -->+1
22 Thumb-nail image borders -->2
Define the width of the borders around your thumb-nail images. Can be 0 and up.
23 Shopper's data expires -->3.0
This is the amount of days that shopping cart data files are allowed to remain
on your host in the "temp" directory, before the shopping cart script deletes
them. This makes Dansie Shopping Cart really intelligent and tidy, and prevents
you from eventually running out of web space on your host. If you set this
variable too low, your shoppers baskets could be erased before they are finished
completing their order. Between 1 and 3 days are recommended settings.
3.0 = three days. 1.0 = one day. 0.5 = 12 hours. 0.08 = two hours. 0.04 = one hour.
The Dansie Shopping Cart immediately removes the following types of orders after they have been placed:
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.
24 Secure online cc transaction payment option -->1
If this is set to 1 then the option of Secure online credit card transaction
will appear in the shopping cart. If set to 0 then it will not appear. If you
are going to accept credit cards as a payment option, see
Section 11 in this ReadMe for details on setting
that up.
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.
25 Transaction via toll free number payment option -->1
Enables credit card transaction via toll free phone number.
26 Check or Money Order payment option -->1
Enables transaction via Check or Money Order.
The "Check or Money Order" payment option is not designed to take your customers
shipping address if you set it to "1". It just gives them a custom order form
that they can print out and mail to you with their check/money order. If you
would like the cart script to take your customers shipping address and notify
you by email when they may be placing an order via "Check or Money Order", then
set this variable to "2" (Without the quotes.)
Notes: Remember, you never know if the customer is really going to order the
products until you receive their check in the mail. Therefore, the contents of
your customers shopping cart will not be immediately erased after they place
their order. This way if your customer decides to go back and add just one more
item to their cart, they wont find it empty and get frustrated.
27 Allow shipping -->1
The cart has five shipping methods you can use:
Under $100 - $10 s&h $100 - $200 - $20 s&h $200 or over - Free
Under $100 - 5% $100 - $200 - 4% $200 or over - Free
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.
31 Shipping cost for each additional pound -->.50,.50,.50,2,3
These are the costs of each additional (pound/kilo) per unit. They must also
correspond in order with the #29 and #30 above. Example:
If someone selects "Standard UPS" and their order has 3 pounds (or kilos) of
products in it, the cart will charge 5.95 + .50 + .50 (6.95 total.)
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.
32 Type of measure of weight. lbs or kg, etc. or just "units"
-->Lbs.
This concept allows your shopping cart to be very accurate about shipping costs.
You may set this to lbs or kg, etc. or just "units". The shopping cart doesn't
really understand what a pound or kilo is, but this word that you define here
will be displayed in the shopping cart if you have #28
above set to 1. It will be there to tell your customer how many "pounds" an item
weighs for S&H purposes.
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.
34 Shipping calculated by amount of purchase: Locations -->USA,Canada,U.S.
Territories
You only need to set this variable if you set #27 above
to 2. These values must correspond in order with the values in #35 below. The
locations above are separated by commas. The corresponding shipping costs in #35
below are separated by vertical pipe symbols "|". You may define as many
locations as you wish.
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.
36 Currency Symbol and decimals -->$|2|,
This variable has three fields separated by the "|" (pipe) character. The first
field will be the currency symbol you want the cart to display. The second field
is how many decimal places you want the cart to use with your currency. The
third field is what character you want used to separate the currency every three
digits. Examples:
36 Currency Symbol and decimals -->$|2|,
Which will yield: $ 9,999.99
36 Currency Symbol and decimals -->L|0|.
Which will yield: L 9.000
36 Currency Symbol and decimals -->£|2|,
Which will yield: £ 9,999.99
Note: If you have this variable set to use no decimals, then it's recommended to
not use any decimals in your prices or the programs calculations may not appear
correct. Also, if you use the Korean currency symbol "\" then you may need to
leave Personal Variables #17 and #20 blank or the Korean
browser may not display the Korean currency symbol correctly.
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
42 Online Check Draft Option -->icheck
Yes, a fourth payment option. This is related to #24,
#25, #26 and #45.
You have six options here.
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.
Examples:
42 Online Check Draft Option -->0
42 Online Check Draft Option -->icheck
42 Online Check Draft Option -->http://www.dansie.net/cgi-bin/scripts/ssl.pl
42 Online Check Draft Option -->telecheck
42 Online Check Draft Option -->https://oec2.chexpedite.net/YOURID/NBDS_FromCart.asp
This variable is related to PV#50, PV#51
and PV#60.
43 Use "state" field in shipping address -->1
Europeans 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. Basically, if you expect all your customers will be outside the
USA, then set this to 0, turning it off.
44 Show business name at top of all pages -->1
At the top of the pages that the shopping cart generates, you will see your
business name followed by your company logo. Some
customers have logos that have their business name in it and would like to
suppress the display of their business name just above it. If you would like to
do this, then set this variable to 0. Else, leave it at 1.
45 Cash On Delivery payment option -->9.50
A fifth payment option. This is related to #24,
#25, #26 and #42.
Set this to the price you want to charge your customers for shipping products to
them in this manner. Set this to 0 if you do not wish to allow this payment
option. If you wish to allow this payment option, but not charge anything for
it, then set it to: "0.00".
46 Customer Comments -->30|4
This variable, if used, will create a TEXTAREA box where your customers enter
their shipping information. You may solicit them for "Comments, questions,
suggestions" or "Special shipping instructions" or a personal message if they
are shipping the products to a loved one. This variable needs two numbers
separated by the "|" character. The first number is the number of columns you
want in the TEXTAREA. The second number is the number of rows you want in the
TEXTAREA. Want to change the wording just above the TEXTAREA box? See
lang.dat variable #99. If you do
not wish to have this TEXTAREA box to appear in your cart, then either set this
variable to 0 or leave it blank.
If you would like some default text to appear inside the TEXTAREA, then set a
third field here like so:
46 Customer Comments -->60|8|What is your favorite color?<BR><BR>Favorite
number?<BR><BR>Favorite rock band?<BR><BR>Favorite movie?
(Use the <BR> tag to indicate line breaks.)
47 Required fields -->name,company,address,city,state,zip,country,phone,email,comments
If you set PV#47 like you see above, then all shipping and billing address
fields will be required. If any of these words are in this variable the cart
will require that your customers include that info when they submit their
shipping/billing address. If you don't want to require that your customers
include their phone number, then don't put that word in this variable, etc.
48 Turn off all JavaScript -->0
The Dansie Shopping Cart uses a little JavaScript to autocalc prices in the
buttons and a few other minor things. The cart's JavaScript is compatible with
MSIE and Netscape browsers both new and older versions except with some Mac
browser versions and version 3.01 of Netscape which has a bug with JavaScript
being used inside of nested tables. However, these nice features are not
necessary for the cart to work. You can turn all JavaScript off if you like.
Just set this variable to 1.
49 Add and redirect -->0
The Dansie Shopping Cart has the ability to add your customers items to their
cart without needing to actually load a new page and view their shopping cart
contents everytime. If you set this variable to 1, it will activate the "Add and
Redirect" feature. Set it to 0 and the cart will show your customer their
shopping cart contents everytime they put an item in it. If you set this to 2,
then your customers item will be added and they will be redirected without the
JavaScript popup box.
If you would like to keep this variable set to 0, but you have a few products
that you would like to use this feature with, then use this tag in those HTML
product forms:
<INPUT TYPE=HIDDEN NAME=redirect VALUE="1">
or
<INPUT TYPE=HIDDEN NAME=redirect VALUE="2">
Make sure the URLs in your HTML FORM tags are EXACTLY the same as the URL in
Host Variable #1. For example, notice how these two URLs below are NOT the same:
http://www.YourName.com/cgi-bin/cart.pl
http://YourName.com/cgi-bin/cart.pl
One is missing the "www.". If you wish to run your shopping cart without the
"www." in the URL, that is fine, just make sure that Host Variable #1 is set
that way too. Otherwise, when using the Add and Redirect feature, the cart will
keep informing you that it is empty.
50 i-check, ValidCheck ID or Telecheck ID -->
If you have an account with i-check,
ValidCheck.com or Signio/Verisign's
Telecheck for Online Check Drafts, then put your account ID here. Make sure you
have Personal Variable #42 set to properly too.
Currency Exchange Rate Feature:
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.
52 Webstore discount -->subtotal|100|10
The Dansie Shopping Cart can calculate discounts for your customers based upon
either the "subtotal" or the total number of "items" they are purchasing. In the
above example, if you set Personal Variable #52 this way in your vars.dat file,
it will subtract 10% from any orders subtotaling $100 or more. If you set this
variable like this: "items|10|15", the cart will apply a 15% discount if
your customer orders 10 items or more. The first field must be either "subtotal"
or "items". The second and third fields can be any numerical value you like. If
you do not wish to use this feature leave this variable blank. If you would like
to provide more discounts at a higher subtotal or item total, then add more
values to PV#52 like so:
52 Webstore discount -->subtotal|500|10|600|15|1000|20
$500 gets a 10% discount. $600 gets a 15% discount. And $1000 gets a 20%
discount. Etc.
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.">
53 Email Signature -->Dansie Shopping Cart|CGI Software for
your webstore|http://www.dansie.net|cart@dansie.net
You can have this info appended to the bottom of email receipts that get sent to
your customers. Put your name, company slogan, mailing address, website address,
email address, phone number here, etc. Use the "|" to indicate where you want
line breaks. If you don't wish to use a signature, then leave this blank. If you
set this to "default" (without the quotes), the shopping cart will automatically
put your business name (PV#4), website address (HV#2) and email address (PV#2) at the bottom
of the email receipts.
54 Paper color font -->
Some people like to use a black background and a white font. However, you can't
read it when you print it out on a printer. If you must use a white font, but
want to use a different color on your receipt pages so your customer can read
what they print out, set this to the receipt page font color and either
wallpaper or background color. Example:
54 Paper color font -->#000000|#FFFFFF
Or:
54 Paper color font -->#000000|http://www.YourName.com/SpecialWallpaper.gif
If you want to use the same font colors throughout the cart and even on the
receipt pages then just leave this variable blank.
55 Disable all diagnostics for security reasons -->0
The Dansie Shopping Cart has some helpful diagnostic features. Such as:
http://www.YourName.com/cgi-bin/cart.pl?vars
http://www.YourName.com/cgi-bin/cart.pl?env
http://www.YourName.com/cgi-bin/cart.pl?path
http://www.YourName.com/cgi-bin/cart.pl?lang
http://www.YourName.com/cgi-bin/cart.pl?write_test
If you feel that allowing your cart script to display these environment
variables and system paths could be a security risk for you, then set this
variable to 1. To enable all diagnostics leave this variable at 0. If you ever
email us because you need any help with your shopping cart make sure this is set
to 0 so we can help you. We recommend leaving this set to 0 until you feel your
web store is complete. When everything is working properly and you are ready to
take your web store public, then set this to 1 if you like. Note: If your
vars.dat file is missing from your cgi-bin or your cart.pl script can't find it,
env, path and lang will still work.
56 Meta Tags --><META HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=iso-8859-1">
If you are going to translate your lang.dat file into a foreign language and you
need the Dansie Shopping Cart to use a special meta tag, set it here. If you
don't have any clue what this is about, then just ignore this variable or leave
it blank. Anything you insert in this variable will appear between the
<HEAD></HEAD> tags of the carts pages. You can also put CSS (Cascading Style
Sheet) tags here.
For Japanese, set this with:
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
57 Email Content-Type -->text/plain; charset=iso-8859-2
If you are going to translate your lang.dat file into a foreign language and you
need the Dansie Shopping Cart to use a special content type in the email, set it
here. If you don't have any clue what this is about, then just ignore this
variable or leave it blank.
You can put HTML tags in your lang.dat file to make radical changes to the
appearance of the cart. If you are seeing a lot of HTML tags appearing in the
email receipts, then set Personal Variable #57 to:
57 Email Content-Type -->text/html
If you have translated the lang.dat file to Japanese, set this to:
57 Email Content-Type -->text/plain; charset=x-sjis
58 Email Content-Transfer-Encoding -->8-bit
If you are going to translate your lang.dat file into a foreign language and you
need the Dansie Shopping Cart to use special encoding in the email, set it here.
If you don't have any clue what this is about, then just ignore this variable or
leave it blank.
59 Allow Coupon/Gift Certificate Discount -->1
Activating this feature will allow your customers to enter a coupon or gift
certificate number that will give them a discount. If you do not wish to use
this feature, then set this variable to 0. Set this to 1 if you want to activate
this feature. If you do not wish to have the Webstore
Discount (PV#52) feature to be available in conjunction with this discount
feature, then set this variable to 2. This way if a customer qualifies for the
Webstore Discount and enters in a coupon or gift certificate number, they will
only get the discount associated with this feature and not the Webstore
Discount. How it works: Create a file named "discount.dat" and put it in the
same directory as your vars.dat file. This file should look like so:
abc|10% def|15% 123|10 456|50
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.
61 Disable truncating of quantity numbers -->0
The Dansie Shopping Cart normally truncates all quantity numbers if your
customers try to type something in like "2.5" into the quantity box. However, if
you would like to disable this feature, set this variable to 1. If you would
like to remove the ability of your shoppers to change the quantity of their
items after they place them in the basket, then set this variable to 2. The
"Change" button will not be displayed then.
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.
63 Suppress custom descriptions -->0
You can set this variable to 0, 1, 2 or 3. Above it's shown being set to 0.
It is highly recommended to leave this variable set to 0. If you use custom description tags to take custom information from your customers such as size and color of products, that information will be emailed to you in the order and emailed to the customer in their receipt.
If you set this variable to 1, then you will not get the custom description details in the email receipts. Your customers will though.
If you set this variable to 2, then the custom descriptions will only show in database displays but not on the "Shopping Cart Contents:" page, not on the receipt page and not in the email receipts.
If you set this variable to 3, custom descriptions will be displayed in all places as normal. However, custom description info from database displays will not be brought into the cart contents page or email receipts. But customer selected options such as OPTIONS, CHECKBOX, TEXT and QUANTITY will. This enables you to include large amounts of product description in your database displays, without the unnecessary info taking up too much paper when printing out receipts.
64 Add items to top or bottom of cart contents? -->top
After clicking on submit buttons in your HTML product forms, the item gets sent
to the cart.pl script and appears on the "Your shopping cart contents:" page.
You can have the Dansie Shopping Cart add your new items to either the top or
the bottom of that list. Adding to the top is recommended as the shopper can
quickly see their new item in their basket. If you have the cart add the new
item to the bottom, they may need to scroll down to see it. You can set this
variable to either "top" or "bottom".
65 Shopper ID Prefix -->
Most likely you will want to leave this variable blank. However, if you would
like to append something to the beginning of your shopper ID numbers like a
letter or two, then set that here. For example if a customer's shopper ID number
would be 101, but you set this variable like so:
65 Shopper ID Prefix -->A
Then the customer's shopper ID number will appear like so: A101
66 Authorized HTTP_REFERER domains -->
This variable is a security device that allows you to control which domains your
script will accept POSTs from when shoppers are adding items to their shopping
basket. It will prevent people from saving your web pages to their computer,
changing the prices in your HTML forms and submitting it from their computer.
You may set it like so:
66 Authorized HTTP_REFERER URLs -->www.YourName.com,222.22.22.22
Put domain names or IP address here, but not URLs. Do not put "http://" in this
variable. Do not put page names. Do not put URLs. Just domains or IP address as
you see in the example above, separated by commas. The cart.pl script will
compare the environment variable HTTP_REFERER with the domains you list here. If
there is no match, then the item will not be added to the customers shopping
cart basket. You may set as many authorized domains in this variable as you like
separated by commas. If you don't wish to use this feature, you may leave this
variable blank. If you are testing your HTML forms on your own computer, it is
recommended to leave this variable blank or the items will never get added to
your basket. If you have problems getting items to be added to your basket while
using this feature, then leave this variable blank.
If one of your shoppers can't seem to add an item to their basket and they get a
PV#66 security message, but it works fine for you or anyone else, it could be
that the shopper is behind a firewall.
67 Display "Empty Entire Cart" Button -->0
If you set this variable to 1 then a button will appear in the main Shopping
Cart Contents page that will allow your shoppers to empty their entire cart by
clicking one button. lang.dat
variables related to this variable are #87, 88 and 89. If you do not wish to
allow this option, then leave this variable blank or set to 0.
68 Minimum Order -->
If you set this variable to 100 then the Dansie Shopping Cart wont let anyone
place an order unless their subtotal is $100 or higher. You can set it to any
number you like. If you don't wish to use this feature then leave this variable
blank. If you use this feature make sure that lang.dat #18 has something like
this in it:
18 -->Mimimum Order:<BR>To place an order, the subtotal must be a minimum of:
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.
70 Collect Company Name in shipping and billing -->1
If you set this variable to 1 the Dansie Shopping Cart will collect your
customers company name on the shipping and billing address page. If you set it
to 0, then a text field that prompts for this info will not appear. Make sure
that you have something like this in lang.dat #90:
90 -->Company Name:
Also, this field can be made to appear but not required. Or appear and be
required. See PV#47 for details.
71 Auxiliary Real-Time Credit Card Processor Payment Option
-->
This is a 7th payment option. Other payment options are #24,
#25, #26, #42,
#45, #62 and #81.
The Dansie Shopping Cart currently works with many different real-time credit
card processors as you can see in section 11 of
this ReadMe. This payment option allows you to have the cart work with more than
one real-time credit card processor. How to activate this payment option:
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
Change SSV#6 above to what you have in SSV#6.
72 Email Receipt Tables -->15|26|4|10|10
This variable allows you to change the way the email receipts look, making them
more compact in a table type format. To use this feature, tell the cart program
the width you want each column. The columns are respectively:
Item name
Description of item
Quantity
Each price
Item total
The above settings are recommended for the column widths. You may set a
column width to 0 (zero) and it will disable that column in the email receipts.
Make sure you have lang variables #156 and #157 set in your
lang.dat file. Customize them as
you like. If you do not wish to use this feature, leave this variable blank. If
you use a lot of HTML in your lang.dat file and your email receipts don't look
right, then it's recommended to leave this variable blank.
73 Show shipping weight total on receipt pages -->1
If you have the cart calculating shipping by the weight of the items and you
have PV#27 set to 1, then you can also have the cart display the total weight of
all the items near the sub total on receipt pages. Just set this variable to 1
to turn it on. If you do not wish to use this feature, leave this variable
blank.
74 States -->Alabama,Alaska,Arizona,etc...
If this variable is set, then a pull-down SELECT menu will appear to collect the
state on the carts page that collects the shipping/billing address. If you leave
this variable blank, a TEXT field will appear where your shoppers can type in
their state. You can enter as many states here as you like separated by commas.
They will appear in the order you list them here. One neat feature, is if you
spell your state(s) in PV#13 exactly as you spell them
here, then if a shopper selects that they live within a sales taxable area, the
cart will display the correct state as selected instead of the first state you
list here. The default list of states that comes with the vars.dat file can be
modified to include Canadian provinces etc. Customize the list however you like.
75 Countries -->USA,European Economic
Community,Albania,Algeria,etc...
If this variable is set, then a pull-down SELECT menu will appear to collect the
country on the carts page that collects the shipping/billing address. If you
leave this variable blank, a TEXT field will appear where your shoppers can type
in their country. You can enter as many countries here as you like separated by
commas. They will appear in the order you list them here. The default list of
countries that comes with the vars.dat file can be modified to include more or
fewer countries. Customize the list however you like.
76 Sales tax state verification -->1
If you set this to "1", it will activate the cart's sales tax state
verification. This will do two things:
If a shopper selects a different state for their shipping address than they selected for their sales tax location, the cart will prompt them to go back and fix the discrepancy. Make sure you have the latest lang.dat file with lang variables #159, 160 and 161.
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.
77 System path to .htpasswd file -->
This variable has been made obsolete as you can now define a system path to
numerous .htpasswd files for each product download you have listed in the
passwords.dat file. See the Sell Passwords
feature for details.
78 Refuse email addresses -->
You can tell the cart to refuse to accept orders with email addresses from
domains or domain extensions that pose a security risk to your online business.
Such as email addresses from anonymous email accounts or from foreign countries.
Example:
78 Refuse email addresses -->.ru,hotmail.com,jack@bigfoot.com
In the above example, the cart wouldn't accept an order from anyone
With an email address from Russia (.ru),
with an email address from "hotmail.com",
and would prevent specifically "jack@bigfoot.com" from ordering.
So you may define just a domain extension, a domain, or a complete email
address. Adjust lang.dat variables #162 and #163 to best convey the language you
would like the cart to use when a shopper attempts to use an email address
domain that you have set the cart to refuse.
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.
80 Pending Order Tracking -->
The Dansie Shopping Cart can append summary information of every order to a pipe
delimited "|" file called "tracking.dat". See details on this in
PV#69. However, if you are using a credit card processor (PV#24), this info may not get recorded if a shopper's browser
doesn't return from a credit card processor's website. PV#80 can preemptively
record this information for you BEFORE the cart sends the shopper to the credit
card processor's website. This info may be used for many purposes. You may
create a program that will interpret and display this info for you. The fields
of info that the cart appends are as follows:
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.
81 Second Auxiliary Real-Time Credit Card Processor Payment
Option -->
This is an 8th payment option. Other payment options are #24,
#25, #26, #42,
#45, #62 and #71 .
The Dansie Shopping Cart currently works with many different real-time credit
card processors as you can see in section 11 of
this ReadMe. This payment option allows you to have the cart work simultaneously
with a third real-time credit card processor. How to activate this payment
option:
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
Change SSV#6 above to what you have in SSV#6.
82 Suppress shipping/billing address in customers email
receipts -->
If you set this variable with a "1" the customers shipping and billing address
will not be emailed back to them in their email receipt. The merchant will
always get a copy in their email receipt. If you set this to "0" or leave it
blank, customers shipping and billing address will be echoed back to them in
their email receipt.
83 Collect only billing address for credit card payments
-->
Due to concern of possible credit card misuse, some merchants want to ship only
to the credit cards billing address. Normally the cart will collect both a
shipping and a billing address which allows your customers to enter both their
credit card billing address and the shipping address of a loved one. If you set
this variable with a "1" the cart will only collect ONE name and address from
shoppers when they select a credit card payment option. This compels your
shoppers to have the items shipped to the same address as their credit card
billing address. If you set this variable to 0 (zero) or leave it blank, the
cart will collect both a shipping and billing address from your shoppers. See
also lang.dat #172 and customize as you desire. Note that although the cart will
only prompt and collect your shopper's credit card billing address if this
feature is activated, they could try to change the billing address in the fields
while on a real-time credit card processor's website. So always compare and
confirm the shipping address is the same
Back to top.
§10 HOW SHIPPING IS
CALCULATED:
The Dansie Shopping Cart can currently calculate shipping six different ways:
SHIPPING TYPE ONE: By the pound/kilo/unit:
(When var #27 above is set to 1)
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)
SHIPPING TYPE TWO: Flat fee per item:
(When var #27 above is set to 1)
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.
SHIPPING TYPE THREE: Scaled according to the subtotal with flat rates at various increments:
(When var #27 above is set to 2)
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#">
SHIPPING TYPE FOUR: Scaled according to the subtotal with percentage rates at various increments:
(When var #27 above is set to 2)
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.
SHIPPING TYPE FIVE: Custom Database Shipping Tables:
(When var #27 above is set to 1)
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.
SHIPPING TYPE SIX: No shipping:
(When var #27 above is set to 0)
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.
§11 SECURE SERVER
VARIABLES:
The Dansie Shopping Cart can either:
Collect your customers credit card numbers for you. Then you can process the orders manually though your merchant account.
Work seamlessly with the services of a real-time credit card processor.
Not accept credit cards as a payment option at all.
Compatible Real-Time
Processors:
Personal Variable #2 and Secure Server Variable #13 in this ReadMe for how to tell the cart which email address(es) to email the order details to.COMPATIBILITY NOTICE: The Dansie Shopping Cart is compatible with each of the real-time credit card processors listed in this section concerning basic credit card processing. The cart will POST the full total, shopper ID, customers name and billing address to the credit card processor's website for processing. The cart.pl script will issue the shopper a web page receipt if your credit card processing account is properly configured to return the shopper back to the "Return URL" after a credit card is approved. The cart does NOT work with any other services of the processors listed in this ReadMe except as specifically stated, such as, recurring billing, book transactions, authorize only transactions, etc.
BACKWARDS COMPATIBILITY NOTICE: In the past some online real-time credit/debit card processors have made NON-backwards compatible changes to the way their system works which caused the Dansie Shopping Cart (and other shopping cart softwares) to no longer be able to work with them. We recommend that you inquire of your processor if they intend to remain backwards compatible and encourage them to do so. Dansie Website Design will not be responsible for loss of compatibility if your processor should make some non-backwards compatible changes. If this occurs, let us know and we can try to adjust the Dansie Shopping Cart to keep up with their non-backwards compatible changes. In some cases where the processors changes were too radical, we had to remove them from our list of compatible processors below.
DUAL EMAIL RECEIPT NOTICE: The cart.pl script will email you a copy of the order details concerning the names and prices of the items that your shoppers order. The cart will pass the full total, shopper ID, customers name and billing address to the credit card processor for processing. The cart does NOT pass the details of the items your shoppers are ordering to the credit card processors. You will receive 2 emails for each credit card order. One from the cart.pl script with the order details, and a second email from your credit card processor confirming that your customer's credit card was approved. The cart inserts the shopper ID in the subject of the email for easy matching with the email receipt from the credit card processor. See
Cambist
To run a test with Cambist:
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
AuthorizeNet
The Dansie Shopping Cart will also work with AuthorizeNet Weblink method and the following AuthorizeNet "clones" (real-time credit card processors and secure servers.): 2checkout.com, ecx.com, ishopsecure.com, merchantcommerce.net, netbilling.com, planetpayment.com, quickcommerce.net, richsolutions.com, rtware.net.
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 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 and 13. Follow these steps:
Make sure your AuthorizeNet 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 AuthorizeNet: 5419840000000003
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.
eProcessingNetwork (Controlled Devices)
eProcessingNetwork (Controlled Devices) is a real-time credit card processor and secure server. http://www.eProcessingNetwork.Com http://www.ctrldvcs.com
Set this URL in SSV#1:
https://www.eprocessingnetwork.com/cgi-bin/dns/order.pl
Set your login ID with eProcessingNetwork in SSV#2
Set all variables in this section as instructed. Ignore Secure Server Variables #9 and #10.
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 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.
Ask iTransact which one of these URLs you should put in Secure Server Variable #1:
https://secure.redi-check.com/cgi-bin/buynow/buynow.cgi
https://secure.itransact.com/cgi-bin/mas/buynow.cgi
https://secure.paymentclearing.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" 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.
Cardservice International
The Dansie Shopping Cart will also work with Cardservice International (CSI) LinkPoint HTML PayOnly 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.
Note: CSI doesn't display the shopper ID (invoice number) generated from the shopping cart in the CSI email receipts. So, matching the cart's email receipt order details with the CSI email receipt credit card transaction confirmation may be difficult if your site has large volumes of orders. Also, CSI LinkPoint HTML PayOnly service does not pre-populate the billing address fields on their site so shoppers will need to re-enter their billing info. The Dansie Shopping Cart works with CSI's LinkPoint HTML "PayOnly" service but it does NOT work with CSI's LinkPoint API or "PayPlus" service.
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.
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.
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.
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
Verisign (Formerly signio.com)
The Dansie Shopping Cart will also work with Verisign (Formerly signio.com) (a real-time credit card processor and secure server.) http://www.signio.com. It works with their Payflow Link service and also with their Telecheck check draft service. Note: Verisign does not allow you to work with multiple Return URLs. This can be a problem if you want to utilize more than one shopping cart with just one Verisign processing account. Set Secure Server Variables #1,2,6,7,8,9,12 and 13. Follow these steps:
If you are using the Dansie Shopping Cart Mall Version, 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.
For testing, set SSV#2 to:
PAYFLOWDEMO
Use test card 5105105105105100
If you wish to use signio's electronic check processing, simply set PV#42 with "telecheck".
Special feature: If you would like transactions to be "authorization only" then set SSV#9 with "A" (without the quotes). If you would like transactions to be "Delayed Capture" then set it with "D". Otherwise, default is "Payment/Sale" ("S"). Example:
-->partner=PartnerName,A
-->partner=PartnerName,D
CubeCard
The Dansie Shopping Cart will also work with CubeCard (a real-time prepaid card processor and secure server.) http://www.CubeCard.com. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://secure.hurstlinks.net/~cubecard/checkout.php
Put your login ID with CubeCard in Secure Server Variable #2.
If you already have your cart working with a real-time credit card processor, you could run the CubeCard payment option from Personal Variable #71.
WorldPay
The Dansie Shopping Cart will also work with WorldPay's "Junior" service (a real-time credit card processor and secure server.) http://www.WorldPay.com. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://select.worldpay.com/wcc/purchase
Put your account username with WorldPay in Secure Server Variable #2.
Put your currency name in SSV#9 like so:
-->USD
or:
-->GBP
or:
-->AUD
SSV#9 will not be use for card types in this situation, but just a way to pass the currency type to WorldPay.
You may also put your account into test mode by merely inserting "testMode" into SSV#9 like so:
-->GBP,testMode
Setting your Return URL with WorldPay Junior:
Put a META refresh tag in your resultY.html or thanks.html page like you see below and upload to CMS on the WorldPay website:
<META HTTP-EQUIV=REFRESH CONTENT=0;URL=http://www.YourName.com/cgi-bin/cart.pl?SSV#6>
Replace SSV#6 above with the random sequence of characters that you put in Secure Server Variable #6 in your vars.dat file.
Put a META refresh tag in your sorry.html page like you see below and upload to CMS on the WorldPay website:
<META HTTP-EQUIV=REFRESH CONTENT=0;URL=http://www.YourName.com/cgi-bin/cart.pl?failure>
Bank of America eStores
The Dansie Shopping Cart will also work with Bank of America eStores Branded (a real-time credit card processor and secure server.) http://www.bankofamerica.com. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://cart.bamart.com/payment.mart
Put your User ID in Secure Server Variable #2. (A test login ID is: demo_settle_up_branded )
Log in to the eStores back office, select the "Manage Store" menu, then select the "Online Marketing Setup" menu and finally the "Authorized web Sites Menu". In that work area, enter the domain of the web site that posts the transaction to eStores, click the update button at the bottom of the screen and then publish the change using the "publish changes" link at the top of the page.
Inside your BofA account, set your acceptance URL to:
http://www.YourName.com/cgi-bin/cart.pl?SSV#6
This is the same URL you have set in Host Variable #1, followed by a "?", then the random string you set in SSV#6.
Set your rejection URL to:
http://www.YourName.com/cgi-bin/cart.pl?failure
Note: This processor's technique of redirecting shopper's browsers back to the Return URL may cause a browser to yield a security warning message. This can be prevented if your return URL begins with "https" or if the processor provides an alternative redirection technique. Making your return URL begin with "https" would require that you obtain a site security certificate which can be costly. A better, more practical solution for all merchants would be to encourage the processor to modify or at least provide alternative redirection techniques that wont cause browsers to yield this warning message.
eWAY
The Dansie Shopping Cart will also work with eWAY (a real-time credit card processor and secure server.) http://www.eway.com.au. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.eway.com.au/gateway/payment.asp
Put your login ID in Secure Server Variable #2.
PayPal
The Dansie Shopping Cart will also work with PayPal's "Web Accept" service when you have a Premier or Business account. http://www.paypal.com. Set Secure Server Variables #1,2,6,7,8,12 and 13. Please note that your customers may have more than one item in their basket. The cart will send the whole package with the grand total to PayPal. The Customer/Shopper ID number will appear on the PayPal website as the "item". This will appear in your PayPal receipts:
Item/Product Name: 17594
Just match that number with the Customer/Shopper ID number in the email receipt that the cart.pl script sends you. It's recommended that you put your email address in SSV#13.
Put this URL in Secure Server Variable #1:
https://www.paypal.com/xclick/
Put your PayPal ID in Secure Server Variable #2. Your PayPal ID is your email address that you use to login to your PayPal account.
If you already have your cart working with a real-time credit card processor, you could run the PayPal payment option from Personal Variable #71.
Also, make sure you insert something like this in #158 of your lang.dat file:
158 -->Various items in shopping cart with shopper ID number:
If you are using the security feature of PV#66 then, in addition to having your own domain in there, make sure you add "www.paypal.com". Example:
66 -->YourDomain.com,www.paypal.com
PSiGate
The Dansie Shopping Cart will also work with PSiGate (a real-time credit card processor and secure server.) http://www.psigate.com. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://order.psigate.com/psigate.asp
Put your PSiGate user ID in Secure Server Variable #2.
A test user ID is "teststore" and a test credit card number is: 4111111111111111. Be sure to enter a valid state and zip code when testing.
Put this URL in Secure Server Variable #1:
https://www.securepay.com/dansie/process.cfm
Put your SecurePay.com merchant ID in Secure Server Variable #2.
A test merchant ID to use is 99999.
Use these numbers for testing: 4111111111111111 or 5419840000000003
PayReady.net
The Dansie Shopping Cart will also work with PayReady.net (a real-time credit card processor and secure server.) http://www.PayReady.net. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.payready.net/DMTransaction.asp
Put your PayReady login ID in Secure Server Variable #2.
To run some test orders, set SSV#1 with: https://www.payready.net/DMtransaction.asp
Set SSV#2 with: PayReady.net Test Account
A test credit card number to use is: 4012000010000
arvicsecure.com
The Dansie Shopping Cart will also work with arvicsecure.com (a real-time credit card processor and secure server.) http://www.arvicsecure.com. Set Secure Server Variables #1,2,6,7,8,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.arvic.com/trexlive/TRLGet.asp (English)
https://www.arvic.com/trexlive/TRLGet_F.asp (French)
For testing, set it to:
http://www.arvic.com/trextest/TSTGet.asp
Put your Arvic login ID in Secure Server Variable #2.
A test ID is: 1
You can define ASC_term, ASC_Subject and ASC_ttype by placing them in SSV#9 like so:
-->ASC_term=99999999,ASC_Subject=Acme Company,ASC_ttype=Sale
NetBanx.com
The Dansie Shopping Cart will also work with NetBanx.com (a real-time credit card processor and secure server.) http://www.NetBanx.com. Set Secure Server Variables #1,2,6,7,8,9,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.netbanx.com/cgi-bin/payment/NETBANXID
Replace "NETBANXID" in the URL with your NetBanx ID.
For testing, set it to:
https://www.netbanx.com/cgi-bin/payment/dansietest
You can leave SSV#2 blank.
Set SSV#9 with your currency code like so:
-->USD
A test credit card number is: 4921123412341230
SecureHosting.com
The Dansie Shopping Cart will also work with SecureHosting.com (a real-time credit card processor and secure server.) http://www.SecureHosting.com. Set Secure Server Variables #1,2,6,7,8,9,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.secure-server-hosting.com/secutran/secuitems.php
Set SSV#2 with your SecureHosting.com ID
Set SSV#9 with your shreference, checkcode and filename like so:
-->shreference=abcd1234,checkcode=123456,filename=abcd1234/template.html
You will need SecureHosting.com's template.html file.
skipjack.com
The Dansie Shopping Cart will also work with skipjack.com (a real-time credit card processor and secure server.) http://www.skipjack.com. Set Secure Server Variables #1,2,6,7,8,9,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.skipjackic.com/secure/process.asp
Set SSV#2 with your Skipjack MerchantID/HTML Serialnumber
Login to your Skipjack account at http://www.skipjack.com
To log in you will need:
a) Login Serial Number / Vendor ID (This may be different from your MerchantID/HTML Serialnumber)
b) Username
c) Password
Click on the "Preferences" link at the top of the page.
Then click on the "Response Files" link under "VENDOR PREFERENCES".
Set the "Thank you for your order:" field with your cart's return URL. Like this:
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 SECURITYID is what you define in variable SSV#6 below.
Set the "Invalid credit card:" field with your cart's "failure" URL. Like this:
http://www.YourName.com/cgi-bin/cart.pl?failure
Click the "Submit" button.
You can use this credit card number for testing: 4445999922225
It is also recommended that you set your email address in SSV#13.
Note: This processor's technique of redirecting shopper's browsers back to the Return URL may cause a browser to yield a security warning message. This can be prevented if your return URL begins with "https" or if the processor provides an alternative redirection technique. Making your return URL begin with "https" would require that you obtain a site security certificate which can be costly. A better, more practical solution for all merchants would be to encourage the processor to modify or at least provide alternative redirection techniques that wont cause browsers to yield this warning message.
2checkout.com
The Dansie Shopping Cart will also work with 2checkout.com (a real-time credit card processor and secure server.) http://www.2checkout.com. Set Secure Server Variables #1,2,6,7,8,9,12 and 13.
Put this URL in Secure Server Variable #1:
https://www.2checkout.com/cgi-bin/Abuyers/purchase.2c
Set SSV#2 with your 2checkout.com ID.
Login to your 2checkout.com account at http://www.2checkout.com/login.htm
Select "Account Details" and "Return".
Scroll down to "cartpurchase.2c Shopping Cart Parameters"
Set "Return to a routine on your site after credit card processed?" to "Yes".
Set your Return URL in the TEXT field.
http://www.YourName.com/cgi-bin/cart.pl?SSV#6
This URL needs to be the exact URL you have in Host Variable #1 of your vars.dat file, followed by a "?", then the string of random alpha-numeric characters you set in Secure Server Variable #6. Example:
http://www.YourName.com/cgi-bin/cart.pl?1jf8j987h
Click the button "Save Passback Parameters"
Under "Overall Passback Parameters." set "Direct Return" to "No".
Again, click the button "Save Passback Parameters"
It is also recommended that you set your email address in SSV#13.
Note: This processor's technique of redirecting shopper's browsers back to the Return URL may cause a browser to yield a security warning message. This can be prevented if your return URL begins with "https" or if the processor provides an alternative redirection technique. Making your return URL begin with "https" would require that you obtain a site security certificate which can be costly. A better, more practical solution for all merchants would be to encourage the processor to modify or at least provide alternative redirection techniques that wont cause browsers to yield this warning message.
securetrading.com
The Dansie Shopping Cart will also work with securetrading.com (a real-time credit card processor and secure server.) http://www.securetrading.com. Set Secure Server Variables #1,2,6,7,8,9,12 and 13.
Put this URL in Secure Server Variable #1:
https://securetrading.net/authorize/form.cgi
Set SSV#2 with your securetrading.com ID.
Set your currency you want securetrading.com to use in SSV#9 like so:
-->currency=gbp
It is also recommended that you set your email address in SSV#13.
Collecting Credit Card Numbers Without a Real-Time Processor.
Already have a merchant account but don't wish to utilize a real-time credit card processor? The Dansie Shopping Cart can collect your customers credit card numbers for you. You may set all the Secure Server Variables except #2 wont be necessary. We have an SSL CGI script called "ssl.pl". It's designed to work specifically with the Dansie Shopping Cart. Visit this page on the web for instructions on how to install it:
http://www.dansie.net/creditcards.html
The ssl.pl script will work with or without a site security certificate. A security certificate allows you to access pages and scripts on your website via "https" (Secure Socket Layer) instead of "http". If you are interested in obtaining a security certificate, contact your host, they will be able to assist you with that.
Test credit card numbers for testing the ssl.pl script:
5419 8400 0000 0003
Visa
Exp. 1/2009
Trouble Shooting:
Details on all the Secure Server Variables:
1 URL to ssl.pl or real-time processor -->https://cambist.com/cgi-bin/icvtest.pl
Enter here the URL to your real-time credit card processor or the URL to your
ssl.pl script. If you are using the ssl.pl script and you would like to have the
URL start with "https" you will need to contact your web host about using a
security certificate.
2 Your credit card processor username/login ID -->0001
Place your merchant ID with your real-time credit card processor here. Test ID
with Cambist is 0001. Use the test ID until you get your real one. If you are
using the ssl.pl script, just ignore this variable.
Currency Exchange Rate Feature:
3 Font face -->Times New Roman
This variable only works with Cambist or the ssl.pl script.
What font face do you want to be used on the secure page.
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.
6 Unique, Random ID (1-12 characters, alpha/numeric, no
spaces) -->1212abc
Change this to a string that uses only letters and numbers and NO S P A C E S.
This will create a unique code so the cart.pl script will know when a credit
card transaction has occurred. This string could be anywhere from 1 to 12
characters in size. Be creative like "kd93DJE39" or "skDI39fC". Do NOT put
one of your passwords in here. This is just random sequence of letters and
numbers.
7 Post Transaction Message -->Your order will be shipped pending credit card
approval.
This will be printed at the top of the page immediately after a customer makes a
purchase via Secure Online Credit Card Transaction. If you are using a secure
server such as Cambist that not only encrypts the
numbers, but also transfers funds, you will want to say something like, "Your
credit card transaction was successful." If you are using your own
security certificate (not a real-time processor), and
funds are not transferred immediately, you may want to say something like, "Your
order will be shipped pending credit card approval."
8 System path to append orders to a data file? -->
If you would like the orders appended to a data file, then set this to the
system path and name of a data file you want them appended to. You can then
retrieve the orders with your FTP program. Example:
8 Email orders or append to a data file? -->/cart/host/path/to/orders.dat
If you are using the ssl.pl script and it's located on
a different host than your cart.pl script, then you will need to define this
like so:
8 Email orders or append to a data file? -->/ssl/secure/host/path/to/orders.dat|/cart/host/path/to/orders.dat
First put the system path on the secure server, followed by the "|" character,
then the path to a data file on the host where your cart.pl script is located. (ssl.pl
version 2.09+)
If you would like the ssl.pl script to record the credit card data to data
files, but you don't want the cart.pl script to record the order details to data
files, then set SSV#8 like so:
8 Email orders or append to a data file? -->/ssl/secure/host/path/to/orders.dat|off
Notice the "off" on the right side of the "|" pipe delimiter.
As an option, instead 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 shopper ID 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"
| Order details emailed to you. | Set Host Variable #6 to the sendmail path on your host. Order details will be emailed to the email address you set in Personal Variable #2. You can set as many email addresses as you wish in PV#2 separated by commas, space characters or both. They will get a Bcc (blind carbon copy) of the order details. |
| Order details appended to a data file on your host. | Set Secure Server Variable #8 |
| Customers credit card numbers emailed to you (If using the ssl.pl script). | Set Secure Server Variable #11. Set Secure Server Variable #10 also so that the ssl.pl script will work with PGP to encrypt the emails. |
| Customers credit card numbers emailed to you and appended to a data file too. | Set both SSV#8 and SSV#11. |
If you have SSV#8 and SSV#11 blank, yet you are using the ssl.pl script, 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.
9 ssl.pl accepts these card types -->visa,mastercard,amex,novus,dinersclub,carteblanche,delta,switch,solo,visadebit,
barclaysconnect
Tell your ssl.pl script which card types to accept and which not to accept.
Current card types it can accept are the ones you see listed above. Spell them
exactly as you see listed here. The ssl.pl script currently does some error
checking to make sure that the credit card number appears valid with the first
four card types listed here. However, with the last seven card types, there is
no error checking. If you would like the ssl.pl script to accept some rare
credit cards, near the top of the ssl.pl script you can set "lang" variable #18
and #19 to the card name and then put "dinersclub" or "carteblanche" in SSV#9 to
activate it. Flexible huh?
You may also find that this variable is sometimes utilized to pass special
information to some of the real-time processors
listed in section 11 of the ReadMe. In those cases, this variable will have
nothing to do with the card types that your real-time processor accepts. SSV#9
is used to pass special information to another script that collects credit card
info. Whether that script be a real-time processor or the ssl.pl script is not
important. This variable was first designed to pass special info to the ssl.pl
script. When other credit card processors required a few pieces of extra
information, we enabled this variable to be used to pass extra information to
credit card processors as well.
10 PGP PgpProg|PgpTempDir|PgpUserId|Version -->
The Dansie Shopping Cart now works with PGP 2.6.2, 2.6.3ia, 5.0, 6.5.2 and
gpg1.0 and gpg1.0.6 on both Unix and Windows NT hosts. Some PGP sites:
http://web.mit.edu/network/pgp.html
http://www.pgpi.org/
You may have the ssl.pl script work with PGP to encrypt the credit card numbers
before they are emailed to you.
NOTICE: It is NOT our responsibility to install and configure PGP on your
website. We provide the PGP test
script so you can isolate and confirm that PGP is working and properly
configured before attempting to get the ssl.pl script to work with PGP. If you
cannot get PGP to work with this small test script, then do not attempt to get
PGP to work with the ssl.pl script. We guarantee that the ssl.pl script will
work with the versions of PGP listed above only AFTER you have first confirmed
and demonstrated that PGP is properly installed and configured by the use of the
PGP test script. You may even download and utilize this PGP test script prior to
purchasing a Dansie Shopping Cart software license.
First, set the cart aside, download
and use this test script to confirm that PGP/GPG is working.
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 $ENV{'PGPPATH'} or $ENV{'GNUPGHOME'} 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", "gpg1.0" or "gpg1.0.6" (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:
sales@YourName.net, orders@YourName.net
Separated by either commas, spaces or both.
12 Remain in frames while in SSL -->0
When the cart.pl script passes the customer to the ssl.pl script or a real-time
credit card processor, it will remove all frames if your site is a framed
website. This is to effectuate the SSL lock at the top of the browser. If you
have a framed website and wish to remain in frames while collecting your
customers credit card info, then set this variable to 1. Otherwise set it to 0
or leave it blank.
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.
Never rely upon a receipt from the cart as proof that a customers credit card
has been approved. It's merely a list of items with a grand total and a shipping
address. Always check with your processor or merchant account to see if a
customers card has been approved.
14 "https" URL to company logo for ssl.pl script -->
You may set this variable to an "https" URL to your company logo if you are
using the ssl.pl script. If your ssl.pl script is being ran via "https" and you
set the URL in this variable with only "http" your browser may give you a
security warning message that not all information is secure. The information
it's referring to is your logo which is being called via "http". So make sure
this URL is "https" and that you have a site security certificate for the
website in which this logo is hosted. The cart.pl script will pass this URL to
the ssl.pl script so your "https" logo will appear on the ssl.pl script's page.
This feature works with cart.pl version 3.25+ and ssl.pl version 3.04+. To set
the URL to your company logo for appearance at the top of the cart.pl script's
pages, see Host Variable #4.
Back to top.
§12 DATABASE VARIABLES:
You only need to assign these if you are using
flat-file databases with the
Dansie Shopping Cart, or if you want to start using some flat-file databases.
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.
We have provided a sample, ready-to-go database so you can see how easy they are
to work with. Just upload the stuff.dat file that came in the zip package to the
same directory that your vars.dat file is in. Then point your browser here:
http://www.YourName.com/cgi-bin/cart.pl?db=stuff.dat
1 System path to location of database files -->
System path to the directory that keeps your database files. The default
location that the cart.pl script will look for your database files is in the
same directory that your vars.dat file is in. You will only need to set this
variable if you want to change it's default location. If you leave this variable
blank, it will default to the same system path that your vars.dat file is in.
This is the directory that you give the cart.pl script permission to read
database files from. So for security reasons it's suggested to set it to a
different directory that you don't have anything in except your database files.
Example:
-->/system/path/to/cgi-bin/databases
You could make a subdirectory inside your cgi-bin called "databases" and put all
your database files there like "stuff.dat". How do you know what your system
path is? Use the cart's ?path diagnostic feature.
2 Full URL of the image of the Dansie Shopping Cart -->http://www.YourName.net/cart.gif
Full URL of the "View Shopping Cart" or "Checkout" image in which your customer
will click in order to view their cart contents.
3 Flat-file database field delimiter -->|
This variable will hold the character that is used to separate the fields in
your database. If your database looks like this:
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|$10.00|1||
then set the separator like you see above. If your databases look like this:
Books:0002:The Boy Scout Handbook:Author, Bill Hillcourt:$10.00:1::
then set the separator like so:
3 Flat-file databases delimiter -->:
You may use the TAB character for your delimiter too like so:
3 Flat-file databases delimiter -->tab
4 Flat-file databases options delimiter -->^
This variable will hold the character that is used to separate the options in
the fields of the lines of your database. If your options fields look like this:
OPTIONS^Paperback $15.00^Hard Cover $20.00
then set the options separator like you see above. If your databases look like
this:
OPTIONS:Paperback $15.00:Hard Cover $20.00
then set the options separator like so:
4 Flat-file databases options delimiter -->:
Remember, the options separator and the field separator must be different from
each other, and these two characters must not be used anywhere else in your
database.
5 Alignment of four columns in database displays -->center|center|left|center
The Dansie Shopping Cart has up to four columns that you can activate in your
database displays. They are in order, Item, Image, Description and
Price. You can turn them on with DBV#8, 9, 10 and 12.
If you have all four columns turned on, then you can control the alignment of
text inside them like so:
-->center|center|left|right
If, for example, you aren't using the thumbnail column, then you will need to
set this variable like so:
-->center||left|center
Values you can define are left, right and center.
6 Position of category in your data files -->1
You need to tell the script what position your fields are in within your current
database files. If your category fields are positioned at the beginning of each
line, then set this to 1. If your databases do not use categories, then set this
to 0. In the stuff.dat file the categories are in field position #1 so we set
this variable with a 1.
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
7 Position of stock/item number -->2
If your stock/item numbers are located in the second position, then set this to
2. Set any Position variable to 0 for fields that your databases don't use. In
the stuff.dat file the stock/item numbers are in field position #2 so we set
this variable with a 2.
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
8 Position of the name of the item -->3
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
9 Position of description of the item -->4
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
10 Position of the price of the item -->5
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
11 Position of the shipping weight/value of the item -->6
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
12 Position of the name of the thumb-nail image of the
item -->7
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg
Or tell it where a larger image is to link to as well using the double colon
sub-delimiter "::":
||||||http://www.dansie.net/images/purse.jpg::purse_large.jpg|||||| When the
thumbnail image in the database display is clicked on, it will show the shopper
the larger image. See more details here.
13 Positions of additional fields of info -->8,9,10,11,12,13
Use this to designate in what fields positions your
OPTIONS (explained further below) are located. Also, use this if your
flat-file database contains any additional descriptive fields of information
that you would want carried over to the shopping cart. State their positions.
You may include as many as you need.
Books|0002|The Boy Scout Handbook|Author: Bill Hillcourt|10.00|1|boyscout_large.jpg|blah|blah|blah Clothing|1001|Purse|Black Leather purse with leather straps.|20.00|1|purse_large.jpg|blah|blah|blah
14 Optional no-image statement -->No image
Optional statement to make for items that do not yet have thumb-nail images
available for them. This will appear in the image column for an item if an item
lacks a thumbnail image when most other items do have a thumbnail. If you don't
want your pages to say anything, just leave this blank.
15 What do you want the order buttons to say --> Click To
Order
What do you want the order buttons to say inside database displays if someone
enters with no JavaScript on? Normally the price will be in the button, but if a
browser doesn't have JavaScripting on they will just see these words. (ORDER,
PURCHASE, BUY NOW, etc...). This also acts as the default button width for
Netscape browsers. So put some extra spaces on either side like you see above.
Also, you set this variable with a URL to a jpg or gif image, you will see that
image used as the submit button. Example:
-->http://www.YourName.com/images/order.gif
16 URL to jpg or gif of a "home" image -->home.gif
This is the name or full URL to an image that will show up at the bottom of your
flat-file database displays. If you don't specify the full URL, the cart will
use Host Variable #3 as the images location. This image
will be linked to your "home" page. (Host Variable #2). If
you leave this blank, the word "Home" will appear at the bottom of your database
displays instead.
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 display your images actual height and width. If you just define the width
and not the height, your images will maintain their proportion. Example:
-->100
If you define both, they may lose their proportion and appear stretched. This
variable controls both the thumbnails as they appear in database displays and in
the cart's contents page.
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".
22 Navigation Bar -->navigation.txt
You may insert some text and HTML along the left side, top or bottom of the
pages in database displays. Just put some text and HTML in a file, drop it in
your cgi-bin (same directory where your vars.dat file is in) and then put the
name of that file in Database Variable #22.
Example navigation.txt
files are here.
23 Optional return shopping URL -->
After you place an item into the shopping cart from a flat-file database
display, if you click the "Continue Shopping" button at the bottom of the cart,
it will take you back to the exact page you came from in the database. If you
would like to have the shopping cart take you to a different page instead, then
specify the URL to that page here. It may be the same as Host
Variable #2 if you like. Or you may also use the "return" variable in a
search form like so:
<INPUT TYPE=HIDDEN NAME=return VALUE="http://www.dansie.net/search_form_source.html">
The use of the return variable will override any URL you put in DBV#23.
24 Position of Navigation Bar (top, bottom or left) -->left
You may have your navigation bar in DB#22 appear on the
top, bottom or left side of your database displays. You may set this variable to
either "top", "bottom" or "left".
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".
27 Navigation Bar #2 -->navigation2.txt
This variable allows you to insert some more text and HTML at the bottom of your
database displays. It can work in conjunction with DBV#22.
If you have DBV#22 set to start a TABLE you will may need
this file to close that TABLE for it to render the database display properly.
This navigation2.txt file will always appear at the bottom of the database
displays. If you have DBV#24 set so that your first
navigation.txt file is displayed bottom, then it will appear right on top of
this one.
28 Database Purchase Button Location (top or bottom)
-->bottom
You can decide if you want the purchase button to appear near the top of the far
right column in the database displays, or near the bottom. If you are trying to
conserve space and make each row as short as possible, I would recommend setting
this to "top". If you have some custom "OPTIONS" in
your database, then setting this to "bottom" may work nicer.
29 Restrict keyword search to these field positions -->
By default, if you leave this variable blank, the Dansie Shopping Cart's
database search engine will automatically search all field positions of your
database for a keyword match. If info in the custom description fields of your
database (or other fields) are causing irrelevant search results, you can
restrict the field positions it will search. For example, if you want the search
engine to only look in the item name and first custom description fields, then
set this variable like so:
29 Restrict keyword search to these field positions -->3,4
That is, if DBV#8 and DBV#9 are set
to 3 and 4 respectively. If the search engine can't seem to find any items in
your database, it could be because you have this variable set with incorrect
field positions. Make this variable blank, then run another test search.
Back to top.
§13 ADVANCED DATABASE
FEATURES:
See Template.html section 4 for full instructions on how to access and search
your databases. An online demo of the database search engine is here also:
http://www.dansie.net/demo.html
Your databases may have "pull-down menus" or <SELECT> tags. This is very easy to set up with your flat-file databases. In a field of your database that is designated as one of the additional custom description fields (#13 above), you may create a pull-down menu by using the following syntax:
OPTIONS^Red^Blue^Green
The word "OPTIONS" will signal to the shopping cart that you want a <SELECT> pull-down menu with options. The following sub-fields (red, blue, green) will be the options in the pull-down menu. Make sure that OPTIONS is capitalized and that the separation caracter "^" (which is options separator, #4) is not the same as the main field separation character (#3).
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.
Do you 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.
Do you want to use text fields in your databases so your customers can give you some input?
TEXT^Name to be embroidered on shirt^10-20
The first field tells the cart that you want it to display a TEXT field. The second field is your statement to be printed on the page of the database display. The third field sets the SIZE and MAXLENGTH attributes of the text field.
Do you want to use TEXTAREA fields in your databases so your customers can give you some more input?
TEXTAREA^Name, address, city, state and zip:^30-4
The first field tells the cart to display a TEXTAREA. The second field is your statement to be printed on the page of the database display. The third field sets the COLS and ROWS attributes of the TEXTAREA box.
Do you want a QUANTITY text field 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:
Referral Tracking
Create a file named "passwords.dat" with Notepad or SimpleText.
Put information in the file like so:
The file must be named "passwords.dat".
The passwords.dat file must be uploaded to the same directory as your vars.dat file.
Notice that each example above has fields on each line separated by the "|" character.
Only one line break per item. (On the end of the line.)
Make sure that the left fields in your passwords.dat file matches exactly what you have in one of the custom description tags of your HTML form. It is case sensitive. Example:
<INPUT TYPE=HIDDEN NAME="custom3" VALUE="Super Software Download">
.htpasswd file then put the exact accurate system path to that .htpasswd file in the second field. Note: .htpasswd files only work in Unix hosted websites. Not on Windows NT hosts.If you want your customers email addresses and their random passwords appended to a
If you want their password access to automatically expire after a certain number of days, then put this in the third field like so:
Members Calendar of Events|/usr/local/htdocs/calendar/.htpasswd|Expires: 30|blah|blah
This will tell the cart to remove their email address and password from the .htpasswd file after 30 days. Make sure you use the word "Expires:" followed by any number. Put "30" for one month and "360" for one year. Note: Old expired passwords will be deleted from the .htpasswd file when the cart.pl script adds new passwords and not necessarily on their exact expiration date. If you open the .htpasswd file in a plain text editor, you will notice that it has a comment line just above each set of email address and password pair. Example:
# 20020320|20020420|John Smith|SuperWuper Widget john@JohnsDomain.net:aansZQFmBavGI
The key to the comments are:
Date ordered(yyyy/mm/dd)|date expires|customers name|product/service ordered
If you wish to manually delete a customers email address and password, be sure to delete the comments in the line above it as well.
You can put any text in the additional fields after the first "|" pipe delimiter as you desire. That additional text can be a system path to a .htpasswd file, days until expiration, or just general info that you want to give to your customers. If you insert the marker #random_password# the cart will generate an 8 digit alpha-numeric random password for the customer and insert it in the customers email receipt. You can use as many extra fields as you like, each pipe delimiter will indicate a line break in the email receipts.
If you set a system path to your .htpasswd file in the second field then the cart will automatically append your customers billing email address and crypted password to your .htpasswd file allowing them immediate access to the directory you choose.
Mall Version note: For security reasons, your hosted merchants will not be allowed to have their passwords.dat file tell the cart.pl script to write to any .htpasswd files. So this feature is disabled. However, if you are the only one that has access to their vars.dat and passwords.dat files, etc, let us know and we can disable the merchant security feature for you and this feature would then work with the Mall Version.
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(s) of the passwords.dat file. Example:
<INPUT TYPE=HIDDEN NAME="custom3" VALUE="Super Software Download">
If you had the above tag in one of your product forms, and your customer purchased the item via "Secure Online Credit Card Transaction" or "Online Check Draft" 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. If you are sending URLs it is recommended to leave PV#72 blank when using the Sell Passwords feature so as to avoid problems with the way the email receipts are formatted.
If you are using multi-item forms with the Sell Passwords feature, be sure to set the phrase that triggers the passwords.dat file in fields 5, 6 or 7. Example:
<INPUT TYPE=CHECKBOX NAME="multi-item1" VALUE="A Software Program|9.95|1|software.jpg|Super Software Download">
Then in your passwords.dat file you would put:
Super Software Download|Download now here: "http://www.YourName.com/special/" The password is: #random_password#
A .htpasswd toolkit can be found here:
http://www.dansie.net/htpasswd_toolkit.zip
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 can work with affiliate programs such as www.commission-junction.com, www.clicktrade.com, www.affiliatetracking.net and others that use IMG tag calls.
Put an IMG tag in Personal Variable #6 in your vars.dat file like so:
<IMG SRC="https://www.affiliate.com/cgi-bin/log.pl?
AMOUNT=#subtotal#&OID=#orderid#&NAME=#name#&EMAIL=#email#&ORDERTYPE=#ordertype#">
Replace "https://www.affiliate.com/cgi-bin/log.pl" with the URL to your affiliate script.
The cart will automatically replace #subtotal#, #orderid#, #name#, #email# and #ordertype# with the real subtotal, customer/shopper ID, customer's name, customer's email address and the purchase method they chose. You need not use all these, just the ones your affiliate needs.
Replace AMOUNT, OID, NAME, EMAIL and ORDERTYPE with the variable names that your affiliate uses.
After an order is placed, the Dansie Shopping Cart will display the guarantee statement in Personal Variable #6 on the receipt page which will call the affiliate script.
Order Tracking