File Formats - Order File/Shopping Cart in WebDNA
numero = 272H tab Version tab Date tab Time tab Email tab PayMethod tab AccountNum tab ExpMonth tab ExpYear tab Name tab Company tab Address1 tab Address2 tab City tab State tab Zip tab Phone tab TaxRate tab ShipVia tab ShipCost tab Header1 tab Header2 tab Header3 tab Header4 tab Header5 tab country tab ShipToEmail tab ShipToNameFollowed by multiple line items (one per sku, tab-delimited, return at end):tab ShipToCompany tab ShipToAddress1 tab ShipToAddress2 tab ShipToCity tab ShipToState tab ShipToZip tab ShipToCountry tab ShipToPhone tab Header6 tab ... tab Header40 tab NonTaxableTotal tab TaxableTotal tab TaxTotal tab ShippingTotal tab CartIPAddress tab CartUsername tab CartPassword tab Precision tab TaxableShipping tab AuthNumber tab ResponseText tab Status tab BatchNumber tab ReferenceNumber tab SequenceNumber tab ItemNumber tab bankRoutingNumber tab bankAccountNumber tab bankAccountType tab bankName tab bankAccountName tab CCID tab currencyCode tab recurringBillingCode tab fax tab ShipTofax tab customerID tab invoiceNumber tab poNumber tab description tab customerType tab customerTaxID tab driversLicenseNumber tab driversLicenseState tab driversLicenseDOB tab lastName tab ShipTolastname tab Comment tab SameAsShipping tab AVS tab MD5Hash tab taxExempt tab resellerNumber tab transactionIndex tab relatedTransaction return
L tab sku tab quantity tab price tab taxable tab canEmail tab unitshipCost tab textA tab ... tab textZ returnWebDNA saves Shopping Cart files in a folder you specify via preferences. If the ShoppingCartFolder preference is "ShoppingCarts/" then WebDNA looks for a folder called "ShoppingCarts" in the same folder as the displayed template. If the preference is "../ShoppingCarts/" then WebDNA looks for the folder one level up from the template. You can, however, specify any location and folder name for your carts when you write to the cart. See the relevant [addlineitem], etc. tags for more information.)Shopping Cart files stay in the ShoppingCarts folder until they expire (24 hours of inactivity), or until the visitor completes the sale, and the file is moved to the Orders folder defined in preferences. In a typical setting, the WebMerchant templates will pick up the orders appearing in the Orders folder and process them accordingly. (Note that this automated process only applies to the folders specified in preferences. If you steer WebDNA to a custom folder via the [addlineitems] tag, then abandoned carts will pile up over time. You can, however create your own trigger to weed them out. You will also need to write a simple [movefile] context to move the cart into your custom order folder.)
WebDNA never clears out the files saved in the Orders folder. If you have a huge volume of orders, you will occasionally need to erase (or archive) older files so you do not fill up your hard disk. We purposely never touch these files because they can provide a valuable "electronic paper trail" for you. The files are named the same as the cart at the time of purchase.
Header fields, in the order in which they are used. Maximum characters shown in parentheses. The first field is an internal identifier, whose value is H (for Header). It is not listed in the table.Fieldname | Description |
---|---|
Version | Version of WebMerchant |
Date | Date the order was placed |
Time | Time the order was placed |
Customer's email address (99) | |
PayMethod | CC - Credit Card (WebDNA performs a checksum to make sure the number is reasonable)AC - ACcount number (purchase order) (WebDNA performs no validation, but WebMerchant AccountAuthorizer later does custom authorization)BK - Book this order (verify funds, but do not deposit money). Handled by WebMerchantSH - Ship this order (only from a previous BK order. Deposits money that was verified earlier). Handled by WebMerchant(If your cart system is not handled by WebMerchant, you can put anything or nothing in this field.) |
AccountNum | Credit card number |
ExpMonth | Credit card expiration month |
ExpYear | Credit card expiration year |
Name | Customer's name (99) |
Company | Company name (99) |
Address1 | Customer's address line 1 (99) |
Address2 | Customer's address line 2 (99) |
City | Customer's city (49) |
State | Customer's state (49) |
Zip | Customer's zip code (19) |
Phone | Customer's phone (24) |
TaxRate | Tax rate (do not include "%") |
ShipVia | email, web, USPS, UPS, etc. (63) |
ShipCost | Shipping cost per order (see line items for unit ship cost) |
Header1 | Anything you want it to be (255) |
Header2 | Same as Header 1 |
Header3 | Same as Header 1 |
Header4 | Same as Header 1 |
Header5 | Same as Header 1 |
Country | Customer's country (49) |
ShipToEmail | Use ShipTo fields if billing differs from shipping (99) |
ShipToName | (99) |
ShipToCompany | (99) |
ShipToAddress1 | (99) |
ShipToAddress2 | (99) |
ShipToCity | (49) |
ShipToState | (19) |
ShipToZip | (19) |
ShipToCountry | (49) |
ShipToPhone | (24) |
Header6 | Same as Header 1 |
Header7 ... Header40 | Same as Header 1 |
NonTaxableTotal | Automatically derived from non-taxable line items, but can be over-ridden in a context (must include password). |
TaxableTotal | Automatically derived from taxable line items, but can be over-ridden in a context (must include password). |
TaxTotal | Automatically calculated, but can be over-ridden in a context (must include password). |
ShippingTotal | Automatically calculated from unit ship costs and order ship costs, but can be over-ridden in a context (must include password). |
CartIPAddress | Not automatically set, but available for use (15) |
CartUsername | Not automatically set, but available for use (63) |
CartPassword | Not automatically set, but available for use (63) |
Precision | International support: number of digits after the decimal that are considered important for tax, subtotal, grandtotal calculations. In the U.S., 2 digits is the normal precision. For Japan, 0 causes all calculations to round off at integer values. You can change this on a cart-by-cart basis with [SetHeader] |
TaxableShipping | If set to T, causes shipping to be taxed. The tax and grand total are increased by [taxRate]*[shippingTotal]. Default value is F. Varies by location. |
AuthNumber | WebMerchant: Authorization # returned from bank network. With custom carts, match this field to the authorization number returned. (63) |
ResponseText | WebMerchant: Response text returned from bank network. With custom carts, match this field to the Response text returned. (149) |
Status | WebMerchant: Status returned from bank network (approved, declined, etc). With custom carts, match this field to the status returned. (63) |
BatchNumber | WebMerchant: batch # from bank network (approved, declined, etc). With custom carts, match this field to the batch # returned. (63) |
ReferenceNumber | As above, bank network field you may or may not choose to use (63) |
SequenceNumber | As above, bank network field you may or may not choose to use (63) |
ItemNumber | As above, bank network field you may or may not choose to use (63) |
bankRoutingNumber | Typically required with e-Check transactions. (63) |
bankAccountNumber | Typically required with e-Check transactions. (63) |
bankAccountType | Typically required with e-Check transactions. (31) |
bankName | Typically required with e-Check transactions. (99) |
bankAccountName | Typically required with e-Check transactions. (99) |
CCID | Security code on back of credit card (15) |
currencyCode | (15) |
recurringBillingCode | Can be used to designate a weekly, monthly, yearly, etc... billing cycle. (15) |
fax | 'Bill To' fax number. (15) |
ShipTofax | 'Ship To' fax number. (15) |
customerID | (31) |
invoiceNumber | (63) |
poNumber | (63) |
description | (255) |
customerType | (15) |
customerTaxID | (31) |
driversLicenseNumber | (31) |
driversLicenseState | (49) |
driversLicenseDOB | (15) |
lastName | 'Bill To' last name. (99) |
ShipTolastname | 'Ship To' last name. (99) |
Comment | (255) |
SameAsShipping | 'T' or 'F'. 'T' if billing information is the same as the shipping information. |
AVS | Address Verification Code' (31) |
MD5Hash | Used to store the Hash code returned by some Payment Processors. (127) |
taxExempt | T' or 'F'. 'T' if order is exempt from taxing. |
resellerNumber | (127) |
transactionIndex | Can be used to store the 'rank' in a related set of orders. (63) |
relatedTransaction | Can be used to store a 'related' order id. (63) |
Fieldname | Description |
---|---|
sku | unique identifier for product. Should match up with |
quantity | How many of this SKU should be added to the cart. This quantity is used when calculating totals, unitShipCost, etc. |
price | This value comes from the product database, or from a formula in Formulas.db. To prevent "hacking" this value cannot be set via the form submission. |
taxable | T or F, derived the same as the price field. |
canEmail | T or F. Whether the product is deliverable via email, derived the same as the price field. |
unitshipCost | Ship cost per unit, derived the same as the price field. ShipTotal and GrandTotal use this number (multiplied by quantity) to determine the total shipping and grand total. |
textA | Anything you want it to be (255) |
textB ... textZ | Same as textA |
H tab Version tab Date tab Time tab Email tab PayMethod tab AccountNum tab ExpMonth tab ExpYear tab Name tab Company tab Address1 tab Address2 tab City tab State tab Zip tab Phone tab TaxRate tab ShipVia tab ShipCost tab Header1 tab Header2 tab Header3 tab Header4 tab Header5 tab country tab ShipToEmail tab ShipToNametab ShipToCompany tab ShipToAddress1 tab ShipToAddress2 tab ShipToCity tab ShipToState tab ShipToZip tab ShipToCountry tab ShipToPhone tab Header6 tab ... tab Header40 tab NonTaxableTotal tab TaxableTotal tab TaxTotal tab ShippingTotal tab CartIPAddress tab CartUsername tab CartPassword tab Precision tab TaxableShipping tab AuthNumber tab ResponseText tab Status tab BatchNumber tab ReferenceNumber tab SequenceNumber tab ItemNumber tab bankRoutingNumber tab bankAccountNumber tab bankAccountType tab bankName tab bankAccountName tab CCID tab currencyCode tab recurringBillingCode tab fax tab ShipTofax tab customerID tab invoiceNumber tab poNumber tab description tab customerType tab customerTaxID tab driversLicenseNumber tab driversLicenseState tab driversLicenseDOB tab lastName tab ShipTolastname tab Comment tab SameAsShipping tab AVS tab MD5Hash tab taxExempt tab resellerNumber tab transactionIndex tab relatedTransaction return
L tab sku tab quantity tab price tab taxable tab canEmail tab unitshipCost tab textA tab ... tab textZ return
WebDNA never clears out the files saved in the Orders folder. If you have a huge volume of orders, you will occasionally need to erase (or archive) older files so you do not fill up your hard disk. We purposely never touch these files because they can provide a valuable "electronic paper trail" for you. The files are named the same as the cart at the time of purchase.
Fieldname | Description |
---|---|
Version | Version of WebMerchant |
Date | Date the order was placed |
Time | Time the order was placed |
Customer's email address (99) | |
PayMethod | CC - Credit Card (WebDNA performs a checksum to make sure the number is reasonable) AC - ACcount number (purchase order) (WebDNA performs no validation, but WebMerchant AccountAuthorizer later does custom authorization) BK - Book this order (verify funds, but do not deposit money). Handled by WebMerchant SH - Ship this order (only from a previous BK order. Deposits money that was verified earlier). Handled by WebMerchant (If your cart system is not handled by WebMerchant, you can put anything or nothing in this field.) |
AccountNum | Credit card number |
ExpMonth | Credit card expiration month |
ExpYear | Credit card expiration year |
Name | Customer's name (99) |
Company | Company name (99) |
Address1 | Customer's address line 1 (99) |
Address2 | Customer's address line 2 (99) |
City | Customer's city (49) |
State | Customer's state (49) |
Zip | Customer's zip code (19) |
Phone | Customer's phone (24) |
TaxRate | Tax rate (do not include "%") |
ShipVia | email, web, USPS, UPS, etc. (63) |
ShipCost | Shipping cost per order (see line items for unit ship cost) |
Header1 | Anything you want it to be (255) |
Header2 | Same as Header 1 |
Header3 | Same as Header 1 |
Header4 | Same as Header 1 |
Header5 | Same as Header 1 |
Country | Customer's country (49) |
ShipToEmail | Use ShipTo fields if billing differs from shipping (99) |
ShipToName | (99) |
ShipToCompany | (99) |
ShipToAddress1 | (99) |
ShipToAddress2 | (99) |
ShipToCity | (49) |
ShipToState | (19) |
ShipToZip | (19) |
ShipToCountry | (49) |
ShipToPhone | (24) |
Header6 | Same as Header 1 |
Header7 ... Header40 | Same as Header 1 |
NonTaxableTotal | Automatically derived from non-taxable line items, but can be over-ridden in a context (must include password). |
TaxableTotal | Automatically derived from taxable line items, but can be over-ridden in a context (must include password). |
TaxTotal | Automatically calculated, but can be over-ridden in a context (must include password). |
ShippingTotal | Automatically calculated from unit ship costs and order ship costs, but can be over-ridden in a context (must include password). |
CartIPAddress | Not automatically set, but available for use (15) |
CartUsername | Not automatically set, but available for use (63) |
CartPassword | Not automatically set, but available for use (63) |
Precision | International support: number of digits after the decimal that are considered important for tax, subtotal, grandtotal calculations. In the U.S., 2 digits is the normal precision. For Japan, 0 causes all calculations to round off at integer values. You can change this on a cart-by-cart basis with [setheader] |
TaxableShipping | If set to T, causes shipping to be taxed. The tax and grand total are increased by [taxRate]*[shippingTotal]. Default value is F. Varies by location. |
AuthNumber | WebMerchant: Authorization # returned from bank network. With custom carts, match this field to the authorization number returned. (63) |
ResponseText | WebMerchant: Response text returned from bank network. With custom carts, match this field to the Response text returned. (149) |
Status | WebMerchant: Status returned from bank network (approved, declined, etc). With custom carts, match this field to the status returned. (63) |
BatchNumber | WebMerchant: batch # from bank network (approved, declined, etc). With custom carts, match this field to the batch # returned. (63) |
ReferenceNumber | As above, bank network field you may or may not choose to use (63) |
SequenceNumber | As above, bank network field you may or may not choose to use (63) |
ItemNumber | As above, bank network field you may or may not choose to use (63) |
bankRoutingNumber | Typically required with e-Check transactions. (63) |
bankAccountNumber | Typically required with e-Check transactions. (63) |
bankAccountType | Typically required with e-Check transactions. (31) |
bankName | Typically required with e-Check transactions. (99) |
bankAccountName | Typically required with e-Check transactions. (99) |
CCID | Security code on back of credit card (15) |
currencyCode | (15) |
recurringBillingCode | Can be used to designate a weekly, monthly, yearly, etc... billing cycle. (15) |
fax | 'Bill To' fax number. (15) |
ShipTofax | 'Ship To' fax number. (15) |
customerID | (31) |
invoiceNumber | (63) |
poNumber | (63) |
description | (255) |
customerType | (15) |
customerTaxID | (31) |
driversLicenseNumber | (31) |
driversLicenseState | (49) |
driversLicenseDOB | (15) |
lastName | 'Bill To' last name. (99) |
ShipTolastname | 'Ship To' last name. (99) |
Comment | (255) |
SameAsShipping | 'T' or 'F'. 'T' if billing information is the same as the shipping information. |
AVS | Address Verification Code' (31) |
MD5Hash | Used to store the Hash code returned by some Payment Processors. (127) |
taxExempt | T' or 'F'. 'T' if order is exempt from taxing. |
resellerNumber | (127) |
transactionIndex | Can be used to store the 'rank' in a related set of orders. (63) |
relatedTransaction | Can be used to store a 'related' order id. (63) |
Fieldname | Description |
---|---|
sku | unique identifier for product. Should match up with |
quantity | How many of this SKU should be added to the cart. This quantity is used when calculating totals, unitShipCost, etc. |
price | This value comes from the product database, or from a formula in formulas.db. To prevent "hacking" this value cannot be set via the form submission. |
taxable | T or F, derived the same as the price field. |
canEmail | T or F. Whether the product is deliverable via email, derived the same as the price field. |
unitshipCost | Ship cost per unit, derived the same as the price field. ShipTotal and GrandTotal use this number (multiplied by quantity) to determine the total shipping and grand total. |
textA | Anything you want it to be (255) |
textB ... textZ | Same as textA |
DOWNLOAD WEBDNA NOW!
WebDNA applications...
WebDNA LibrariesA list of available libraries for WebDNA...
Tips and TricksA list of user-submitted tips ...
AWS Raw WebDNA LAMP-Plus WebServerAmazon Web Services (AWS) README for Machine Image ID...
WebDNA ModulesA list of the currently available modules...
Technical Change HistoryThis Technical Change History provides a reverse chronological list of WebDNA changes...
[store] is a simple context that stores variables permanently...
[shell][shell] is a way to use the command line with your webserver...
[input][url]...
Web Hosting Control Panels and WebDNAWeb Hosting Control Panels are becoming prevelant in the industry...
[listfiles]When listing files...
triggersTriggers provide a mechanism for doing something on a regular timed basis...