External Product Purchase
Copyright © 2000, William Weiland
Overview
The purpose of external.mv is to allow a customer to purchase items which are not in your Merchant database. This is particularly suited for auction winnings, printed catalog items, and classified ad items. It could also be used for sale of services or negotiated price items.
Initial Setup
1) In admin, click Add Modules link (fig 2)
2) Click the file upload button
3) Browse to find the external.mvc file on your hard drive and upload (fig 3)
4) Click Add to add it to the domain
5) Then in admin click on the plus to the left of Stores
6) Click the plus to the left of your store name
7) Click on the word Utilities under your store (fig 9)
8) Check the box next to External Product Purchase
9) Click Update
10) Click on System Extension Configuration link
11) Check the box next to External Product Purchase
12) Click Update
13) The CIM Activity Log (cim_log.mvc) may already be in your store as it is used by many of our modules. Check under the Modules link to see if it is already there. If it is there, skip to 22. If not, then go to 14.

Install cim_log.mvc
14) Again, click Add Modules link
15) Click the file upload button
16) Browse to find the cim_log.mvc file on your hard drive and upload
17) Click Add to add it to the domain
18) Click on the Logging Configuration Link
19) Check the box next to the CIM Activity Log
20) Click Update
21) Proceed to "The External Product"

Update cim_log.mvc
22) Click Modules link
23) Scroll down to CIM Activity Log and click the link
24) Click the file upload button
25) Browse to find the cim_log.mvc file on your hard drive and upload
26) Click Update to update the module
27) Proceed to "The External Product"

Editing Option
If you want to hide the starting price of an external product, which is zero, you can modify the product page template. You will edit the template by wrapping the price display with a conditional statement to check for the product code "EXTERNAL" and clicking the Update (fig 7).

On page 'prod' (product display), click the tab at the top labeled Product Display Layout. Scroll down and locate the line:
Price: <b>&mvt:product:formatted_price;</b>
Change it to read:
<mvt:if expr="l.settings:product:code NE 'EXTERNAL'">
Price: <b>&mvt:product:formatted_price;</b>
</mvt:if>

Note in the fig 7 below that you can also nest the if statements. The example shows checking for the EXTERNAL product code and then further checking to see if the volume pricing module is installed and if this product has volume pricing setup for it.

The External Product
When installed to the store, the module will add a wildcard product to your products database. Search for keyword EXTERNAL to find it and modify characteristics. The product code for this wildcard product is EXTERNAL. You MUST not change that. The default name of the product is Catalog Item. You can edit the product name, like any other product in your store. For example, you could change it to Auction Item or Classifed Ad, etc. You can also change the code for the attributes, NAME and CODE. But you MUST not change the codes for PRICE or WEIGHT. You can remove the WEIGHT attribute if you do not need it. You can change the prompt that is used in all four attributes. The price of the item will be zero ($0.00). You should also verify the taxable status for items or services that will be sold through this external product. You can even add text to the narrative field which would be displayed if they displayed the record in individual product view.

When the user selects the EXTERNAL item, they enter the item name, code, price, and optionally weight. When Merchant process the transaction, if it sees a product code with the name EXTERNAL and an attribute code of PRICE, it uses the customer entered price to override the zero.


Usage
Most likely you are going to use this External Product Purchase from a link on a static web page, an email, in a classified ad, or in your auction ad. The href link would have the form of:
http://www.emporiumplus.com/mm5/merchant.mvc?Action=ADPR&Attributes=Yes&Product_Code=EXTERNAL&Quantity=1&Screen=BASK&Store_Code=wcw
If you are using the eBay seller manager you can create email templates that will automatically go to the winning bidder. An example of the url that you would use in the template is:
http://www.emporiumplus.com/mm5/merchant.mvc?Screen=BASK&Action=ADPR&Store_Code=wcw&Product_Code=EXTERNAL&AttributeCode1=ITEM&AttributeValue1={TITLE}&AttributeCode2=CODE&AttributeValue2={ITEM#}&AttributeCode3=PRICE&AttributeValue3={CLOSING$}&Product_Attribute_Count=3&Quantity=1&Attributes=&Order=
For your site, change the name of the domain at the beginning and the store code at the end of this link. If you are using a cgi-bin URL, you will need to reformat the link accordingly. Note: There may be a problem using ebay.com's TITLE token as it could leave spaces in the URL. If ebay.com has not developed a token for a URL friendly product name, you might want to use the ITEM# for the name also.
eBay Tips
You can use the .htaccess re-write (if you have that capability on your domain) to shorten the url. Check with your host about the capability, how to do it, and how to upload the file. We do not provide support for these particular tips as they are specific to your web host.

Example shortened url:
http://www.emporiumplus.com/winner/wcw/Fantasia/2340238423/510.75
Try the link above in your browser and you will see what it does at my store.

Example of an .htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/winner/(.*)/(.*)/(.*)/(.*) [NC]
RewriteRule (.*) /mm5/merchant.mvc?Screen=BASK&Store_Code=%1&Action=ADPR&Product_Code=EXTERNAL&AttributeCode1=ITEM&AttributeValue1=%2&AttributeCode2=CODE&AttributeValue2=%3&AttributeCode3=PRICE&AttributeValue3=%4&AttributeCount=3&Quantity=1&Attributes=&Order= [R,L]

If you are sending html formatted notification emails, you can use a button to hide the link and it won't matter how long it is.
Pay Now

You can automate the notification of the winning bidder and use the .htaccess re-write to provide your winners an easy way to add the item to their basket. eBay has an winning bidder notification (Autotext) template in the Seller Manager that you can modify to contain the shortened url as above. Within the template you can include a link like:
http://www.emporiumplus.com/winner/wcw/{TITLE}/{ITEM#}/{CLOSING$}
In this url, you can see: domain url, directory to match the one you are using in the .htaccess to identify the condition, your store code, the name of the item, the eBay item ID, and the winning bid.
For more info on Autotext, you can go to http://pages.ebay.com/help/sell/autotext.html
Frequently Asked Questions
Q: The customer can add the product to the basket but the customer inputted price does not show up in the basket. The price remains as 0.00.
A: There are two modules which must be installed for the customer modified price to occur. Make sure that the CIM Activity Log in the Logging Configuration have been "Assigned" to the store. Also make sure the External Product Purchase module is assigned under the Utility AND System Extension Configuration screens. If these are not "assigned", the basket price will remain as 0.00.
A: Some 3rd party modules may override the action of this module. If you have a module installed which effects attribute prices or the product price that is computed for the basket, it may override this module. So if the External Product Purchase module worked in your store and now it does not, consider new module additions. If you add a new module which overrides the basket price, you should check the functioning of the External Product Purchase module right before and after adding that type of module.
Still have a question?
Fig 1: Main admin screen

Fig 2: Add a new module

Fig 3: Upload the module to the server

Fig 4: Template page selection

Fig 5: Items list

Fig 6: Add a new item

Fig 7: Editing a template page

Fig 8: Assign a page item to the template

Fig 9: Assigning a module to the store