Announcement
The new cart purchase parameter descriptions have been integrated into the parameter set articles they are required for. Please review the “Product Identification parameters” section of the 3rd party cart parameter article or the Authorize.net parameter article to find information on these parameters. The information below is provided for historical reference only.
It has become necessary for 2CO to know the specific product that is being sold at the time of sale and for that product’s description to be stored in our database for reference. This change is required both by 2CO and by our banking partners to better mitigate risk and to monitor items being sold. Because of this requirement, we are asking cart makers and/or users to make changes to their cart or programs so that additional information about the items being sold is passed to 2CO.It is very important to note that:
- All previous parameters remain supported and should continue to be passed in (2CO, Authorize.net),
- The parameter total (or the authorize.net parameter : x_amount) passed in for the order will continue to be the amount billed for the sale,
- The paramaters cart_order_id and sid (or the authorize.net parameters: x_invoice_num and x_login) are still manditory with this parameter set.
REQUIRED PARAMETERS
These parameters are required to identify cart products being purchased and should be supplied ASAP.
For some clients it may make sense to create 1 or multiple generic products in the 2CO db, like “Premium Hosting”, “Super Saver Hosting” and pass in a total for the sale as generated on their site. If this option works for you please make the product name reasonably descriptive, (i.e. “website design services” would be a good description, “web services” a poor one for the same item ).
- c_prod or c_prod_[:digit] : This parameter will contain either the assigned_product_id given to the product upon creation in the 2CO system or a vendor specified id. It may, optionally, also contain the id followed by a ‘,’ (ASCII comma) followed by an integer which will represent the quantity. This parameter should not be autogenerated with each individual sale but should be tied to a specific product. The c_prod value should match whatever external vendor id is recorded in the 2CO system. The external vendor id may be a cart assigned product id or the vendors own internal product id as long as the value matches the value stored in the 2Co system. Examples of valid values:
- 1
- my_product_17
- product_5,3
- id_type This parameter will contain an integer value representing the type
or classification of the ids used in the c_prod parameter(s). This value will
apply universally per transaction. That is to say c_prod parameters must contain
only assigned_product_id values or only vendor_product_id values. Current
valid values for this parameter are defined as follows.- 1 is defined as vendor_product_id
- 2 is defined as assigned_product_id
- 3 - 0 are reserved for future use.
OPTIONAL PARAMETERS
These parameters are intended for carts that retain no product database or as a transition method of populating the 2CO database. Although it is desirable to receive as many parameters as possible with the purchase the option of creating products on the fly should only be used when no other options exist.
- sh_cost (optional) : This parameter will contain shipping and handling cost, if any. The sh_cost parameter is completely optional. This parameter has the same format rules as the parameter containing the total (total or x_amount) that you are currently using. This value received is assumed to be in the selected currency of your 2CO account.
Examples of valid values: 0.50, 5.00, 10 - c_name or c_name_[:digit] : This parameter is required for product information to be displayed at checkout. The value of this parameter should contain the name of the product to be created. It is limited to 128 characters including spaces and punctuation. If the value is too long it will be cut off at 128 characters.
- c_description or c_description_[:digit] : This parameter is required for product information to be displayed at checkout. The value of this parameter should contain a short description of the product to be sold. It is limited to 255 characters including spaces and punctuation. If the value is too long this value will be stored as the long description instead. The long description will not show on the checkout pages but it will be saved in the 2Co product database.
- c_price or c_price_[:digit] : This parameter is required for product information to be displayed at checkout. This value should reflect the price of the product in your 2CO account selected currency. This parameter has the follow format restrictions
- Numbers and decimal point only.
- Max value: 999999.99
- c_tangible or c_tangible_[:digit] (optional) : This parameter is optional. If you do not provide a value for it a default value of Y will be used. This field indicates if the product is a physical product or an e-good/service.
This parameter has the following format restrictions: Valid values: y Y n N
NEW PARAMETERS IN PRACTICE
Below you will find an example form that shows how these new parameters might be implemented:
<form action="https://www.2checkout.com/checkout/purchase” method=”post”>
<input type=”hidden” name=”id_type” value=”1″>
<input type=”hidden” name=”c_prod_1″ value=”QAWSZX0678,3″>
<input type=”hidden” name=”c_name_1″ value=”Sample Product”>
<input type=”hidden” name=”c_description_1″ value=”Sample Product Description”>
<input type=”hidden” name=”c_price_1″ value=”5.00″>
<input type=”hidden” name=”c_tangible_1″ value=”N”>
<input type=”hidden” name=”c_prod_2″ value=”CABLE0029,1″>
<input type=”hidden” name=”c_name_2″ value=”A Second Sample Product”>
<input type=”hidden” name=”c_description_2″ value=”This Products Description”>
<input type=”hidden” name=”c_price_2″ value=”10.00″>
<input type=”hidden” name=”c_tangible_2″ value=”N”>
<input type=”hidden” name=”sid” value=”XXXXXX”>
<input type=”hidden” name=”cart_order_id” value=”050304-102658-3874″>
<input type=”hidden” name=”total” value=”25.00″>
<input type=”submit”>
</form>
Please note that you will need to replace the sample values with your own.