HoloStore - Instant Stores - NEW

Overview

HoloStore Instant Stores allow you to place a purchase button or URL in your HTML pages that when clicked will ask the user for their credit card information. It will then perform any combination of the following steps:

Mock Instant Stores example:

LIVE Instant Stores :

Rates

HoloStore Instant Stores are available to regular and demo HoloWWW sites. There are no additional setup fees or usage charges for HoloStore Instant Stores. Credit Card Network does charge for credit card processing. HoloNet charges a setup fee for secure service. VeriSign charges for certificates for secure service.


Consultants for Instant Stores

Instead of learning how to make a HoloStore, you can work with a consultant:


Creating An Instant Stores Page

To create a HoloStore, you must end the name of your file ".holostore" or ".hst".

Because HoloStore replaces your commands with HTML, your viewers will be unable to view your commands. Your viewers will only see the the resulting buttons or forms.

Similiarly, to see your source page, you need to FTP your source file to your computers. In particular, the view source option of your Web browser will not be able to display your source page, only the resulting HTML.


Command Syntax

HoloStore commands begin with a "{", followed by a series of space seperated options, and ending with a "}". For example:
{command arg1 arg2 arg3}

If you wish to use a "{" in your HTML page, you must place a "\" before the "{" to tell HoloStore to skip the "{".

If you need to place a space in an argument, you must place a "\" before the space:

{command arg1a\ arg1b arg2}
Or, you can place quotes around the spaces:
{command "arg1a arg1b" arg2a" "arg2b arg3}

If you need to place a quote in an argument, you must place a "\" before the quote.

A Basic HoloStore Command

Currently, only one command is supported: "holostore". All your commands will look similar to:
{holostore ... }
Using HoloStore you can place buttons or links that invoke the purchase sequence. Each page can have multiple purchase buttons or links. Each different item that can be purchased is given a unique name, or ID.

For example:

{holostore -i shoes ... }
{holostore -i carrots ... }
If you have multiple places a person can click to purchase an item, each place would utilize the same ID. For example, a person might be able to purchase an item by clicking on the picture of the item or on a purchase button. In this case both the picture and button would utilize the same ID.

The first time you mention an ID, you must specify a simple description and price for the item:

{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95 ... }

Finally, you must specify at least one of the following three behavoirs: charge the card, allow access to a protected area, and/or send e-mail.

To send e-mail we specify a comma seperated list of e-mail addresses:

{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-e ,}

Note that there should be no spaces between comma seperated email addresses, because that would make them different arguments!

The default behavior of the holostore command is to create a purchase button:


Changing The Button Name

The -b option can be used to specify the name for the button:
{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-e , -b "Buy Me"}


Verbose Purchase Form

Instead of displaying just a button, we can display a bordered form by specifing the style as verbose using the '-s' option:
{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-e , -s verbose}
Description: Garden Clogs From Germany

Generating A Link

Instead of using a button or a form, we can generate a link to for purchasing by specifying the style as url, again using the '-s' option:
<A HREF="{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-e , -s url}">Buy Some Clogs</A>


Charging Credit Cards

To charge the transaction via Anacom, you must specify your Merchant id and password with the "-anacom" option:
{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-anacom merchant password}

To charge the transaction via Credit Card Network, you must specify your Merchant id and password with the "-ccn" option:

{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-ccn merchant password}
You must obtain and use a password for "transparent" transactions from Credit Card Network. This password is not necessarily the same password you use for manual transactions.


Additional Fields

The standard holostore item when clicked on prompts the user for their credit card information and address. If you wish to prompt for additional information, you may use the '-f' or the -F' option.

Both options will add an additional input field to the bottom of the credit card form that will be presented to the user. For example:

{holostore -i shoes -d "Garden Clogs From Germany" -p 29.95
-e
-f E-mail}
This command requests that the user enter in their email address. However, with the '-f' flag, the field is optional. That is, if the user does not fill out the field, they will not be prevented from purchasing the item.

To require that the field be filled out, use the '-F' option instead. However, even with the '-F' option, no checking is done on the field, so the user may enter any value they wish and it will be accepted without further prompting as long as they don't leave it blank.

You may add multiple -f or -F fields if you wish For example, '-F email -f Age -f Weight' would prompt the user for their email address, age, and weight. Because of the -F option, the email address would be required.


Password Protection

To provide access to a password protected area the following must be true:


Template Pages

When the purchase dialogs are displayed, you can specify a template page to use. The template page is an HTML document that marks where to place HoloStore purchase forms. You can use this feature to customize the look of the order form by specifing a background, header, and footer to place arround the HoloStore purchase forms.

{holostore -i pictures -d "Pictures From Germany" -p 29.95
-a /control/passwords/germany 60 http://www.custom.com/protect/pictures/
-t template.holostore}
To construct a template page, construct a HoloStore document as normal, escaping any "{" as needed. Place the following command where you would like template forms to appear:
{holostore -t}
The following is a complete sample template:
<HTML>
<HEAD>
<TITLE>Page Title For Browsers To Display</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H2>Sample Template Header</H2>

The purchase forms will appear below this line.
<P>

{holostore -t}

The purchase forms will appear above this line.
<P>

<HR><A HREF="mailto:></A>
</BODY>
</HTML>


Persistent Options

If you wish to avoid repeating options that are the same for multiple holostore commands, you can use the '-persisent' option.

If '-persistent' is specified, no button or URL is output for that command. However, any option specified in the command is inherited by any holostore commands that follows it.

For example, suppose you wanted all your buttons to say 'Buy Me' instead of the default 'Purchase'. You could do this by adding the option '-b "Buy Me"' to all of your holostore commands, but this would be tedious.

With the persistent option, you could specify the following:

{holostore -persistent -b "Buy Me"}

All holostore commands that followed this command in your file would inherit the button name "Buy Me".

You can place as many flags as you wish with the '-persistent' option. For example, the following command would allow the button name, style, and price to be inherited:

{holostore -persistent -b "Buy Me" -s verbose -p 9.95}

Persistent commands have the following qualities:

Any command between these two commands would inherit the button name "Buy Me" and the price 9.95.

Any commands after the second command would inherit the price 20.00, and also the button name "Buy Me".


Debugging

If you make an error in your holostore command, instead of a button or URL you will be shown a table displying all the possible holostore options and their values.

Any invalid entries in this table also include an error row which will tell you what is wrong with the entry. For example, the following incomplete holostore command produces the following output:

{holostore -a bad_file}

HoloStore Item
Field Value Error
id: No id specified
price: Missing price (Example: 5.30)
desc: Missing description
merchant|vendor:
merchant|id: -HIDDEN-
merchant|passwd: -HIDDEN-
remote|remoteURL:
remote|errorURL:
remote|errorEmail:
regNumF:
nocardB:
email:
accountB: 1
account|passwd: bad_file File '/www/sites/holonet/http/support/holowww/holostore/bad_file' does not exist. Create a zero length file to initialize.
account|minutes:
account|url: Invalid URL
groups:
groups|required:
template:
buttonText: Purchase
logTabbed:
style: button
nocnpB:
title:
holosslB:
receiptB:
receiptF:
dontEmailCC:

Each field that has an error is easily spotted. Notice that some options are required, like the price option. Other fields may have other problems. In the above example, the file 'bad_file' does not exist, and so must be remedied by creating the file.

NOTE: If you are using the '-s url' option, and have imbeded the holostore command in a HREF command, if the command needs to display errors in a table they will not look correct. This is because placing a table in a HREF is not supported HTML. However, while this is not aethetically appealing, you should still be able to determine the error and correct the problem.

If you prefer you can temporarily move the holostore command out of the HREF until you have fixed the problem.


Reference

{holostore -i item_id [-s[tyle] [button|url|verbose|debug]] [-b text]
	[-d item_description -p item_price]
	[-[eE] e-mail[,email]*]
	[-(ccn|anacom) merchant_id merchant password [subaccount]]
	[-a password_file minutes url]
	[-persistent]
	[-[fF] field]
	[-[cC] field text]
	[-t template]
	[-lt file]
	[-T title]
	[-nocard]
	[-nocnp]
	[-holossl]
	[-r] [file]
	[-regnum] file
	[-remoteNotify remoteURL errorURL errorEmail]
	[-l[ogin]]
}