Documentation You are here: start » v » 2.0 » receipt

The Receipt...

...And All the Wonderful Things You Can Do With It

The FoxyCart receipt is much like the checkout in terms of how it can be customized, but obviously the function of the receipt is to display the information about the successful transaction that just took place on the checkout. While it might sound rather dull, the receipt is actually quite an exciting place to be, for a few reasons:

  • It means your store just made money!
  • Analytics and goal funnel tracking happens here.
  • Affiliate sales tracking happens here.
  • Advertising and campaign tracking happens here.
  • Downloadable products are linked to from the receipt.

While you may not need to ever touch the receipt, it is important to understand how it functions so that you can be prepared if you do need to track marketing activities in the future.

What's Included on the Receipt

The receipt will generally contain nearly all the information about a transaction, with a few exceptions. The information displayed is grouped into a few containers on the receipt.

  • Downloadables
  • General
    • Payment gateway or processor response
    • Your store's name (as configured in your store settings)
    • The date and time
  • Order
    • Order ID
    • Payment method, if paying by plastic (credit/debit/charge card), including the last 4 digits and the card type (ie. Visa, MasterCard, American Express, etc.)
    • Subtotal
    • Shipping total
    • Tax total
    • Order total
  • Billing Address
    • First name, last name, address, country
    • Email
    • Phone
  • Shipping Address (if different from the billing address)
    • First name, last name, address, country
    • Email
    • Phone
  • Shipping method (ie. “FedEx Home Delivery”)
  • Custom Fields included on the checkout

What's Not Included on the Receipt

Where the Receipt Fits Into the Order Flow

The receipt happens after the checkout, but it's worth noting that the datafeed happens before the receipt is loaded. So by the time the receipt is loaded, the datafeed has already been sent to your endpoint (if configured).

  1. Your site
  2. The cart
  3. The transaction datafeed (if configured)
  4. The receipt
  5. Back to your site.

Also worth noting is that you can configure the “continue” link that's displayed on the receipt in your store's “settings” page. If the continue link is not explicitly set in your store's settings it will use the most recent referring page (ie. the last page that the customer visited before the cart or checkout). Or you can set the ''href'' of that link dynamically

Specifying a custom transaction ID for your store

By default, FoxyCart store transactions are assigned a unique numerical global transaction ID, which means that transaction ID's will most probably not be sequential within your store. You can enable custom ID's though that will be sequential and can be customised to a specific start number, length and prefix/suffix.

To enable custom ID's for your store, navigate to the Advanced settings page, and check the enable a custom receipt display id option. This will provide a few options to customise the ID:

Start Value
Description: The starting number for the custom ID of the next transaction for your store. Setting this as 1 will cause the next transaction to have a custom display ID of 1. Once you start using a custom display ID, you can only change the start value to a higher number than the last custom display ID number used for a transaction on your store.
Default: 1
Minimum Length
Description: Used to set the minimum total length of the auto-incrementing part of the display ID you'd like to have. The display ID will be padded with leading zeros as needed. For example, if you'd like your first display ID to be “00000001” enter a length of 8.
Default: 1
Prefix
Description: A value to be appended to the start of the custom ID. For example, if you set the prefix to inv-, your custom ID could look like inv-1
Suffix
Description: A value to be appended to the end of the custom ID. For example, if you set the prefix to _2017, your custom ID could look like 1_2017


Note that enabling the custom display ID's will only apply to new transactions placed after it's enabled. Any transactions placed while this setting was not enabled will simply have the default global transaction ID.

Filtering by Custom ID in the Admin or API

To look for transactions when using a custom display ID, you can use the “Display Id” filter in the admin's transactions report, or filter using display_id in the API.

Revisiting the Receipt

The receipt can be revisited by your customers (or by store admins for viewing or printing orders) using the receipt's unique URL. Here's a quick example, showing a downloadable product in addition to non-downloadable products.

The URL to the receipt is available via {{ receipt_url }} twig variable in your email receipts, and in the responses you'll get from the API and the datafeed. You can also get the URL from the “view” link in your FoxyCart admin's transaction history view, which may be the easiest way if you just want to view a past transaction.

A quick note about privacy: In order to prevent accidental exposure of personally identifiable information held on a receipt, FoxyCart will transparently convert the receipt URLs to simply /receipt. This ensures that a receipt on a public computer couldn't be revisited simply by hitting the browser's back button.

That can make testing receipt customizations difficult during development, so we've added a flag to prevent this behavior. If you append &privacy_redirect=false to the original receipt URL, the URL will remain in the address bar. This can be helpful if you're testing template changes, as you'll simply be able to reload the page. (To get the URL, right-click on the “view” link in the admin's transactions view. Paste that into the browser's location bar, and paste the &privacy_redirect=false to the end. Then hit enter.)

Display Conditional Content

Using the sample code below, you can display custom html, javascript, etc. based on any criteria. For example, set parameter as false if specific product category is found:

{% if context == 'receipt' %}

    {% set hasWholesale = false %}
    {% for item in items %}
        {% if item.category == 'WHOLESALE' %}
            {% set hasWholesale = true %}
        {% endif %}
    {% endfor %}

    {% if hasWholesale %}
        <h1>Success!</h1>
    {% endif %}

{% endif %}{# context == receipt #}

Using Custom Tracking Code

To include a custom tracking code in your receipt, enclose the tracking code between the {% if first_receipt_display %} and its subsequent close tag, then paste it in your store admin's custom footer (Configuration > check Add custom header and footer code to your templates):

{% if first_receipt_display %}
<!-- Insert Tracking Code Here -->
{% endif %}

Receipt Placeholders

FoxyCart uses twig and twig.js as a template language so you can completely customize everything about your checkout experience. Listed below is all the data which is exposed to the templates and also available in JavaScript in the FC.json variable.

When outputting in the template, you would utilise Twig, like {{ variablename }}. Note that if you're looking to access data that is within arrays (such as items, or item options), then you need to access those within a for loop in the Twig, like:

{% for item in items %}
  {{ item.name }}
{% endfor %}

Note that the data is broken into different sections by the page scope it's available on. The cart is available on all pages (as it is present on all pages), but there are some strings that are specific to just other pages like the checkout and receipt.

Cart

cart_cancel_and_continue_link
Description: URL for continuing back to the store from the cart.
cart_config_hash
Description: Used to validate the locale storage version of FC.json.config is up to date.
cart_is_fullpage
Description: true or false depending if the cart is the full page cart or not
context
Description: Either cart, checkout or receipt. Used for configuring various display and functionality concerns. cart represents both Sidecart and full page cart versions.
coupons
coupons.{coupon_code}
coupons.{coupon_code}.amount
coupons.{coupon_code}.id
coupons.{coupon_code}.is_applied
coupons.{coupon_code}.is_taxable
coupons.{coupon_code}.name
Description: Coupons associated with this cart. The {coupon_code} is the code value used by the customer to add the coupon.
Note: If the cart features codes that are shared between multiple coupons (for coupons that have the “Shared Codes Allowed?” checkbox checked), these coupons will become a nested array of coupons, with the {coupon_code} still as the key. The attributes within each array item will still be the same amount, id, is_applied, is_taxable and name.
"coupons": {
    "code1a": {
        "amount": -1,
        "id": "4704984",
        "is_applied": true,
        "is_taxable": false,
        "name": "Coupon 2"
    },
    "code2a": [
        {
            "amount": -1,
            "id": "4704985",
            "is_applied": true,
            "is_taxable": false,
            "name": "Coupon 1"
        },
        {
            "amount": -1,
            "id": "4704988",
            "is_applied": true,
            "is_taxable": false,
            "name": "Coupon 2"
        }
    ]
}
custom_fields
custom_fields.{name}
custom_fields.{name}.is_hidden
custom_fields.{name}.value
Description: The custom fields associated with this transaction. The is_hidden bit will be true if the custom fields were passed in via the h: prefix. The {name} is the value of the name assigned to this custom field.
expires_in
Description: The time in seconds until the first product in the cart expires
future_coupons
future_coupons.{coupon_code}
future_coupons.{coupon_code}.amount
future_coupons.{coupon_code}.id
future_coupons.{coupon_code}.is_applied
future_coupons.{coupon_code}.name
Description: Same as coupons above, but for products with a start date or next transaction date in the future.
future_subscription_totals_by_date
future_subscription_totals_by_date.total
future_subscription_totals_by_date.total_item_price
future_subscription_totals_by_date.total_shipping
future_subscription_totals_by_date.total_tax
future_subscription_totals_by_date.total_weight
Description: The totals for subscription products with a start date or next transaction date in the are grouped together here for the cart display.
gift_cards
gift_cards.{gift_card_code}
gift_cards.{gift_card_code}.amount
gift_cards.{gift_card_code}.id
gift_cards.{gift_card_code}.code_id
gift_cards.{gift_card_code}.is_applied
gift_cards.{gift_card_code}.name
gift_cards.{gift_card_code}.current_balance
Description: Gift cards associated with this cart. The {gift_card_code} is the code value used by the customer to add the gift card.
Note: The current_balance attribute will not factor in the discount that could apply from the cart or checkout. On the web receipt, current_balance will take into account the discount from that transaction, and any other uses of the gift card since then (if the receipt is being revisited). The email receipt will be the current balance of the gift card at the time the transaction was completed.
has_eligible_coupons
Description: If the cart contains products which can have a coupon applied to them.
has_future_products
Description: If the cart contains products with a start date or a next transaction in the future (a “future product”).
has_future_shipping
Description: If the cart contains future products from categories which support shipping.
has_live_rate_shippable_products
Description: If the cart contains products from categories which support live shipping rates.
has_location_dependant_taxes
Description: If the cart contains products from categories which have taxes based on the customer's location. This is used for handling third party payment options such as PayPal Express and Amazon FPS.
has_multiship
Description: If the store has multiship turned on.
has_product_images
Description: If any of the products in the cart took advantage of the image option.
has_shippable_products
Description: If the cart contains products from categories which support shipping.
has_subscriptions
Description: If the cart contains subscription products.
has_taxes
Description: If the cart contains products from categories which have taxes applied to them.
is_future_shipping_only
Description: If all of the products in the cart are future products, this tells the system the shipping calculations will only be for future products.
is_new_subscription
Description: If the cart contains a new subscription
is_subscription_cancel
Description: If this transaction is for canceling an existing active subscription.
is_subscription_modification
Description: If this transaction is currently modifying an existing active subscription. This will usually mean there are products in the cart which will charge in the future.
is_updateinfo
Description: If cart=updateinfo.
item_count
Description: The sum total of all the product quantities in the cart.
items[]
Description: An array of all the products in the cart.
items[].alt_name
Used in the alt attribute of the product link.
items[].base_price
Product price before product option modifiers.
items[].category
Product category code.
items[].code
Product code or sku.
items[].parent_code
Parent product code or sku.
items[].delivery_type
The delivery type of this product.
items[].downloadable_id
If this product is a downloadable, this is the downloadable id for it.
items[].expires
The timestamp for when this product expires.
items[].height
Reserved for future use.
items[].id
Unique internal id for this product.
items[].image
The image url for this product.
items[].is_parent
If this product is a parent product or not
items[].item_number
Used for organizing item display and managing the product update process.
items[].length
Reserved for future use.
items[].multiship
The multiship group number used for organizing products into shipments.
items[].name
The product name.
items[].options[]
Description: Array or product options for this product.
items[].options[].class
The option name stripped of anything but letters, numbers, dashes and underscores so it can be used as a html class attribute.
items[].options[].name
The product option name.
items[].options[].value
The product option value.
items[].price
The price extension of these products (price_each * quantity)
items[].price_each
The actual price of an individual product after product option modifiers.
items[].quantity
The quantity of this product in the cart.
items[].quantity_max
The maximum quantity allowed in the cart for this product.
items[].quantity_min
The minimum quantity allowed in the cart for this product.
items[].shipto
The shipto name of this product used for multiship.
items[].sub_enddate
The end date of this subscription product.
items[].sub_frequency
The frequency of this subscription product.
items[].sub_nextdate
The next date this subscription product will process.
items[].sub_startdate
The start date of this subscription product.
items[].url
The url of this product.
items[].weight
The weight extension of the this product (weight_each * quantity)
items[].weight_each
The weight of an individual product.
items[].width
Reserved for future use.
language
Description: The English name for the language of the cart as set by the template set (like english, french, german etc). Can be blank if using the default template set.
language_iso_code
Description: The 2 character ISO code for the language of the cart as set by the template set (like en, fr, de etc). Can be blank if using the default template set.
loading_coupons
loading_quantity
loading_shipping_results
loading_taxes
Description: Used for determining if a loading animation should currently be displayed.
locale_code
Description: The locale code for this cart such as en_US
locale_info
Description: This includes all of the data output by PHP's localeconv() including currency symbols, decimal point character, and thousands separator.
messages
Description: Used for displaying error, warning, and information messages in the cart.
messages.errors[]
Description: An array of error messages.
messages.errors[].context
The context of this error message which often relates to a form input.
messages.errors[].message
The content of the error message. Often times this will be blank as the error message is directly part of the template as a language string.
messages.info[]
Description: An array of informational messages.
messages.info[].context
The context of this informational message.
messages.info[].message
The content of the informational message.
messages.warnings[]
Description: An array of warning messages.
messages.warnings[].context
The context of this warning message.
messages.warnings[].message
The content of this warning message.
multiship_data
Description: (Currently empty for the cart, may be added in the future)
payment_info_required
Description: True if payment information is required for this transaction (order total > 0 for an order and not doing a subscription cancel).
session_id
Description: The session id of this cart.
session_name
Description: The name of the FoxyCart session.
shipping_address
Description: Container for the shipping address information.
shipping_address.address1
Address 1
shipping_address.address2
Address 2
shipping_address.address_name
The address name of this address (used mainly for multiship)
shipping_address.city
City
shipping_address.city_option_selected
The city, region put togther as a string used in the select option.
shipping_address.city_options
Description: Array of options returned from the postal code lookup.
shipping_address.city_options.city
City
shipping_address.city_options.region
Region (such as state or province)
shipping_address.company
Company
shipping_address.country
Two character country code
shipping_address.country_name
Country name
shipping_address.first_name
First Name
shipping_address.last_name
Last Name
shipping_address.phone
Phone
shipping_address.postal_code
Postal code
shipping_address.prefix
Prefix (used for multiship)
shipping_address.region
State or Province code
shipping_address.region_label
Label for this region (such as state or province)
shipping_address.region_name
State or province name.
shipping_address.shipping_results[]
Description: A result of calculating live shipping rates.
shipping_address.shipping_results[].method
This shipping method (USPS, UPS, FedEx, etc).
shipping_address.shipping_results[].price
The quoted price for this shipping service.
shipping_address.shipping_results[].service_id
The service id used by this shipping method for this service.
shipping_address.shipping_results[].service_name
The name of this shipping service.
shipping_address.shipping_service_description
The description of this shipping service.
shipping_address.shipping_service_id
The shipping service id the service the customer selected.
shipping_address.taxes[]
Description: An array of taxes associated with this shipping address.
shipping_address.taxes[].amount
Amount of this tax.
shipping_address.taxes[].applies_to_handling
Whether or not this tax applies to handling fees.
shipping_address.taxes[].applies_to_shipping
Whether or not this tax applies to shipping costs.
shipping_address.taxes[].default_amount
The default amount before being applied to a specific location.
shipping_address.taxes[].is_error
If this tax has an error.
shipping_address.taxes[].is_live
If this tax is live.
shipping_address.taxes[].name
The name of this tax.
shipping_address.taxes[].rate
The tax rate.
shipping_address.taxes[].tax_id
The internal id of this tax.
shipping_address.total_future_shipping
The total amount of future shipping costs for the products being sent to this address.
shipping_address.total_shipping
The total shipping costs for the products being sent to this address.
shipping_address.total_tax
The total tax for the products being sent to this address.
shipping_address.type
The type for this address (either billing or shipping)
shipping_and_handling_label
Description: The label describing the shipping applied to this order.
show_address_entry
Description: Used to determine if the cart address entry form should be displayed.
show_amazon_fps_payment_option
Description: Used for determining if the amazon payment button should be shown. It will not be shown if there are subscriptions in the cart.
show_coupon_input_button
Description: Used for determining if the coupon input button should be shown.
show_multiship_details
Description: Used to toggle the multiship details.
show_paypal_express_payment_option
Description: Used for determining if the Paypal payment button should be shown.
show_shipping_tbd
Description: Used for determining if live shipping rates haven't yet been calculated so a “TBD” indicator is displayed instead.
store_id
Description: The FoxyCart store id for this store.
template_set
Description: The code for the cart's current template set
total_discount
Description: The total coupon discount applied to this transaction.
total_future_item_price
Description: The total price of the future items in the cart.
total_future_shipping
Description: The total amount of the shipping costs assigned to future products in the cart.
total_future_weight_shippable
Description: The total weight of the future shipable products in the cart.
total_item_price
Description: The total price of the items in the cart.
total_order
Description: The order total
total_shipping
Description: The shipping total
total_tax
Description: The tax total
total_weight
Description: The total product weight.
total_weight_shippable
Description: The total weight of the shippable products in the cart.
transaction_id
Description: The FoxyCart transaction id for the contents of the cart.

Cart Config (FC.json.config)

cache_path
Description: Path used for caching images in the FoxyCart system.
cart_config_hash
Description: Used to validate the locale storage version of FC.json.config is up to date.
cdn_base_path
Description: The base path of your store's files served via the CDN.
cdn_static_path
Description: The base path of static files served via the CDN.
css_file
Description: The full path to the versioned store-specific stylesheet served by the CDN.
currency_format
Description: The currency format configured for your store and use for twig money formatting.
lang
Description: All language strings in FoxyCart are completely customizable. We start with a base language configuration and then you can customize them individually from there.
lang.{code}
lang.{code}…
Description: You can view all language strings used on the cart by viewing FC.json.config.lang in your browser's web console.
locations
Description: A complete listing of all valid country codes and state/provinces within those countries used by our find-as-you type auto complete (FoxyComplete) country and region lookup system.
locations.{country_code}
locations.{country_code}…
Description: Locations are grouped by their 2 character ISO country code.
locations.{country_code}.active
If this country is actively being used by the FoxyComplete system.
locations.{country_code}.alt
Alternative spellings or local spellings of this location name.
locations.{country_code}.boost
Used to give certain spellings a boost over others.
locations.{country_code}.cc2
ISO 3166-1 alpha-2 code for this country.
locations.{country_code}.cc3
ISO 3166-1 alpha-3 code for this country.
locations.{country_code}.ccnum
ISO 3166-1 numeric code for this country.
locations.{country_code}.cn
Country name (currently in english).
locations.{country_code}.pc
Description: Postal Code format details.
locations.{country_code}.pc.int
If the postal code is numeric only.
locations.{country_code}.pc.lang
The language key string for the description of this postal code.
locations.{country_code}.pc.regex
The regex pattern this postal code fits in for validation purposes.
locations.{country_code}.pc.req
Whether or not the postal code is required.
locations.{country_code}.pc.search
Whether or not this country supports a postal-code based search.
locations.{country_code}.r
Description: Region details for this country.
locations.{country_code}.r.lang
The language key string for name of this country's regions such as “state.”
locations.{country_code}.r.options.{region code}
Description: Region information organized by two character ISO code.
locations.{country_code}.r.options.{region code}.active
If this region is actively being used by the FoxyComplete system.
locations.{country_code}.r.options.{region code}.alt
Alternative spellings or local spellings of this region name.
locations.{country_code}.r.options.{region code}.boost
Used to give certain spellings a boost over others.
locations.{country_code}.r.options.{region code}.c
ISO 3166-1 alpha-2 code for this country.
locations.{country_code}.r.options.{region code}.n
Region name (currently in english).
locations.{country_code}.r.options.{region code}.req
If regions are required for this country.
locations_billing
Description: Locations used for billing address information only (see locations)
locations_shipping
Description: Locations used for shipping address information only (see locations)
paypal_checkout_button_url
Description: Locale specific PayPal payment button URL.
post_url
Description: URL for posting cart and checkout forms.
store_domain
Description: This FoxyCart stores FoxyCart store domain (the example part of example.foxycart.com).
store_logo_url
Description: Your store logo url as configured in the FoxyCart admin.
store_name
Description: Your FoxyCart store name as configured in the FoxyCart admin.
store_url
Description: Your store's website URL as configured in the FoxyCart admin.
template_config
Description: All of the settings configured in the FoxyCart admin under the configuration menu will be available here for you to use within your twig template customizations.
template_config.analytics_config
Description: (UNDER CONSTRUCTION): A place to automatically configure your analytics tools.
template_config.analytics_config.google_analytics
Description: Configuration settings for your Google Analytics account.
template_config.analytics_config.google_analytics.account_id
Your Google Analytics acccount id
template_config.analytics_config.google_analytics.account_key
Your Google Analytics acccount key
template_config.analytics_config.google_analytics.usage
Configuration for how this setting is being used.
template_config.analytics_config.segment_io
Description: Configuration settings for your Segment.io account.
template_config.analytics_config.segment_io.account_key
Your Segment.io acccount key
template_config.analytics_config.segment_io.usage
Configuration for how this setting is being used.
template_config.analytics_config.usage
Configuration for how this setting is being used.
template_config.cart_display_config
Description: Settings for controlling the display details of your cart.
template_config.cart_display_config.show_product_category
Whether or not to show the product category code in the line item details.
template_config.cart_display_config.show_product_code
Whether or not to show the product code in the line item details.
template_config.cart_display_config.show_product_options
Whether or not to show the product options in the line item details.
template_config.cart_display_config.show_product_weight
Whether or not to show the product weight in the line item details.
template_config.cart_display_config.usage
Whether or not the cart display config has been set or if defaults are in use.
template_config.checkout_type
Description: Either default_account, default_guest, guest_only, or account_only for determing if your checkout will accept guest checkouts or required named accounts and which one will be the default action.
template_config.colors
Description: This configuration allows you to specify the main colors of your website and our system will adjust the CSS using SASS as needed to incorporate your colors into our template designs.
template_config.colors.primary
colors.secondary
colors.tertiary
The primary, secondary, and tertiary colors for your website.
template_config.colors.usage
Whether or not this configuration setting is being used.
template_config.csc_requirements
Description: Settings for how you'd like to require the Card Security Code (CSC) for your website. Values include all_cards, sso_only (Single Sign On only), new_cards_only (do not require for saved cards).
template_config.custom_checkout_field_requirements
Description: Configuration for displaying and requiring various checkout fields and features.
template_config.custom_checkout_field_requirements.billing_address1
template_config.custom_checkout_field_requirements.billing_address2
template_config.custom_checkout_field_requirements.billing_city
template_config.custom_checkout_field_requirements.billing_company
template_config.custom_checkout_field_requirements.billing_country
template_config.custom_checkout_field_requirements.billing_first_name
template_config.custom_checkout_field_requirements.billing_last_name
template_config.custom_checkout_field_requirements.billing_phone
template_config.custom_checkout_field_requirements.billing_postal_code
template_config.custom_checkout_field_requirements.billing_region
These can be set to either hidden, required, optional, or default (in the case of billing_region)
template_config.custom_checkout_field_requirements.cart_controls
Whether or not to allow cart controls on the checkout page.
template_config.custom_checkout_field_requirements.coupon_entry
Whether or not to allow the coupon entry form on the checkout page.
template_config.custom_config
Description: This is where you can put your own custom configuration values for your twig templates. This might be helpful if you want to hard code your templates with some logic and change the display outcome by just adjusting the values here.
template_config.custom_script_values
Description: Used for setting custom JavaScript or CSS elements to be used in the default template.
template_config.custom_script_values.footer
If you have custom JavaScript you'd like to add above the </body> tag for your cart, checkout and receipt templates, put that here. You can use it for conversion tracking scripts by checking the first_receipt_display variable. Full twig syntax is supported here.
template_config.custom_script_values.header
If you have custom CSS (or JavaScript, though the footer is a better place for that) you'd like to add to the <head> tag for your cart, checkout and receipt templates, put that here. Full twig syntax is supported here.
template_config.custom_script_values.checkout_fields
If you to add custom fields to your store's checkout template, add HTML here. These will be inside the <form> tag on the checkout page and will submit with the rest of the checkout form and be recorded as custom fields on the transaction. Full twig syntax is supported here.
template_config.debug
Description: Turn this on to see debugging output in your web browser's console log.
template_config.debug.usage
How this setting is currently being used.
template_config.foxycomplete
Description: Our country and region auto completion system which lets users find locations as they type instead of having to select from a huge list of options.
template_config.foxycomplete.combobox_close
The icon used for closing the location combo box.
template_config.foxycomplete.combobox_open
The icon used for opening the location combo box.
template_config.foxycomplete.show_combobox
Whether or not to show the location combo box.
template_config.foxycomplete.show_flags
Whether or not to show the country flags.
template_config.foxycomplete.usage
Configure how this feature is being used.
template_config.newsletter_subscribe
Description: This allows you to easily add a “Subscribe Me” checkbox to your checkout template so you can use that value as a custom field in the transaction datafeed later.
template_config.newsletter_subscribe.usage
How this setting is configured.
template_config.ssl_receipt
Description: If you require the receipt page to be loaded over HTTPS, turn this feature on.
template_config.supported_payment_cards
Description: An array of the accepted payment cards by your store such as Visa, MasterCard, etc. This will control which card logos are shown on the checkout page.
template_config.tos_checkbox_settings
Description: Use this setting to easily add a terms of service checkbox to your checkout page.
template_config.tos_checkbox_settings.initial_state
Whether or not the terms of service checkbox is checked by default.
template_config.tos_checkbox_settings.url
The URL to your terms of service document.
template_config.tos_checkbox_settings.usage
How this setting is configured (none, required or optional).
template_config.use_checkout_confirmation_window
Description: (UNDER CONSTRUCTION) A popup window for customers to confirm their order before submitting it.
template_config.use_checkout_confirmation_window.usage
Configure how this feature is being used.
weight_uom
Description: The unit of measure used for calculating shipping weights.
with_controls
Description: Whether or not the current display output includes cart controls such as quantity and coupon entry fields.

Checkout

The checkout view data in FC.json includes everything in the cart including the following values:

anonymous_checkout_selected
Description: Used for determing if a customer opted to check out anonymously.
auth_token_is_valid
Description: Used for determining if the Single Sign On (SSO) authorization token is valid.
authentication_is_in_progress
Description: If the customer is currently authenticating.
authentication_is_not_successful
Description: If customer authentication failed.
authentication_is_successful
Description: If customer authentication is successful.
billing_address
Description: (See cart shipping_address)
cc_cvv2
Description: Credit card Card Security Code for new cards.
cc_cvv2_saved
Description: Credit card Card Security Code for existing cards.
cc_exp_month
Description: Credit card expiration date month.
cc_exp_year
Description: Credit card expiration date year.
cc_number
Description: Credit card number.
cc_number_masked
Description: Masked credit card number.
cc_type
Description: Credit card type (Visa, MasterCard, Amex, etc)
change_password
Description: If the customer as opted to change their password.
checkout_date
Description: The date this checkout took place.
checkout_type
Description: The type of checkout taking place which can be either default_account, default_guest, guest_only, account_only
continue_url
Description: The URL used on the receipt to continue back to your store's website.
create_account
Description: Whether or not the customer chose to create an account during checkout.
customer_email
Description: The customer email address.
customer_id_encoded
Description: Used for determining which customer just logged in.
customer_is_authenticated
Description: Used for determining if the current customer is authenticated via Single Sign On (SSO).
customer_password
Description: The customer password entered by the user.
email_is_checking
Description: If the checkout is currently checking to see if the email address given belongs to an existing customer.
email_is_found
Description: Indicates if the email address given belongs to an existing customer.
email_is_valid
Description: Indicates if the email address given is valid.
fc_auth_token
Description: The Single Sign On (SSO) authentication token.
fc_customer_id
Description: The Single Sign On (SSO) passed in customer id.
first_receipt_display
Description: If the receipt is being displayed for the very first time which can be helpful for displaying specific conversion tracking code.
force_password_reset
Description: If the customer requires a password reset because they logged in with a temporary password.
force_saved_account
Description: If the cart contains subscriptions, the customer will be forced to checkout as a named account.
geoip
Description: Used in the emails sent to store administrators to display the GEO IP lookup details for the country based on the ip address of the customer checking out. This will not be available for the checkout or receipt context.
has_discounts
Description: If the cart contains coupon discounts.
has_downloadables
Description: If the cart contains downloadable products.
has_saved_cc
Description: If the customer has a saved credit card.
has_visible_custom_fields
Description: If the checkout has custom fields which are not hidden custom fields.
hosted_payment_gateways
Description: Array of hosted payment gateways available for this checkout.
hosted_payment_gateways.lang_pay_with
Language and logo used on the checkout page to tell the customer they can pay with this method.
hosted_payment_gateways.lang_payment_method
Additional information for the customer indicating what happens next, such as if they will be redirected to another site to confirm payment.
hosted_payment_gateways.supports_subscriptions
Wehther or not this hosted payment method supports subscriptions.
hosted_payment_gateways.type
The type of this hosted solution such as bitpay, dwolla, etc.
html_downloadable_links
Description: The links for downloading products purchased as FoxyCart downloadables.
ip_address
Description: The ip address of the customer.
is_anonymous
Description: If the customer checked out as an anonymous user.
is_uoe
Description: If the customer is currently logged in using Unified Order Entry.
loading_submit
Description: Used for determining if an animation should be displayed near the submit button.
multiship_data
Description: Array of shipments for each multiship customer shipment (in additiona to address data found in shipping_address)
multiship_data.address_name
The name given to this shipto address. This will be the same as the “shipto” value in the cart.
multiship_data.checkout_total_tax
The tax total for this shipment used during checkout.
multiship_data.custom_fields
Custom fields for this shipment.
multiship_data.has_live_rate_shippable_products
Whether or not this shipment has products from a category which uses live shipping rates.
multiship_data.has_shipping_or_handling_cost
Whether or not this shipment has products from a category which has any shipping or handling costs.
multiship_data.has_visible_custom_fields
Whether or not any of the custom fields in this shipment are visable.
multiship_data.number
The shipto number used for visual organization.
multiship_data.total_future_shipping
The total future shipping amount in this shipment
multiship_data.total_item_price
The total amount of all the items in this shipment
multiship_data.total_price
The total price in this shipment
multiship_data.total_shipping
The total shipping amount in this shipment
multiship_data.total_tax
The total tax amount in this shipment
new_customer_password
Description: When creating a new customer or changing an existing password, this will contain the new password entered by the customer.
order_id
Description: The transaction id of this order.
password_expired
Description: True if the password this customer used has expired, such as when using a temporary password.
payer_id
Description: Used by 3D Secure systems.
payment_is_pending
Description: If the customer checked out with a hosted gateway which first marks the payment as pending, this boolean can be used for special messaging to the customer on the receipt.
payment_method_type
Description: Either plastic_saved, plastic_new, or the type of the hosted payment gateway being used.
payment_type
Description: The payment type usually being plastic, hosted (as in a hosted payment gateway), purchase_order, paypal or other.
processor_response
Description: The payment gateway response value used on the receipt.
purchase_order
Description: The purchase order value submitted by the customer.
receipt_url
Description: The connonical url of the transaction receipt.
required_fields
Description: Array of required field names as configured in the FoxyCart admin template configuration page.
shipping_and_handling_label
Description: The default label for the shipping and/or handling fees charged for this order.
show_message_for_testing
Description: Used to indicate if a testing informational message is to be displayed. This can be useful for styling purposes and can be triggered by passing in a fc_show_info custom field.
status
Description: Used in some situations such as with hosted gateways to specify the status of the current transaction. Values include approved, authorized, declined, pending, or rejected.
subscriptions
Description: Array of subscription data for this transaction.
subscriptions.description
The textual description of this subscription including the frequency.
subscriptions.sub_token_url
The subscription token url which can be used by the customer to modify or cancel this subscription or by the store to adjust the subscription via the API.
subscriptions.html_links
The links needed by the customer to modify or cancel this subscription in html format.
subscriptions.text_links
The links needed by the customer to modify or cancel this subscription in text format.
temporary_password_sent
Description: Indicating of the temporary password has been sent to the customer.
text_downloadable_links
Description: Text links for downloading the products purchased.
timestamp
Description: Used by the Single Sign On (SSO) feature to ensure the token is only valid for a specific amount of time.
token
Description: Used by 3D Secure systems.
tos_agreement
Description: The state of the terms of service checkbox, if being used by the checkout.
use_alternate_shipping_address
Description: A boolean state of the checkbox for using an alternate shipping address other than the billing address.
use_different_addresses
Description: The state of the checkbox for using an alternate shipping address other than the billing address.
utils
Description: Custom twig macros we've added which we've also ported to twig.js
utils.get_error_string
Get a specific error string from the array of errors by context key.
utils.get_info_string
Get a specific info string from the array of informational strings by context key.
utils.shipping_results
Macro for formatting shipping rate results into radio buttons.
utils.use_different_addresses
Macro for displaying the use alternate address checkbox.

Checkout Config (FC.json.config)

The checkout config view data in FC.json.config includes everything in the cart including the following values:

alert_test_gateway
Description: Used for FoxyCart test stores.
base_directory
Description: Used for determing the correct base directory for this store version.
cc_expiration_months
Description: An array of months for displaying the credit card expiration month select box.
cc_expiration_years
Description: An array of years for displaying the credit card expiration year select box.
has_multiple_payment_options
Description: A boolean used for display logic when there are more than one payment options enabled by the store for the checkout page.
lang
Description: Includes language strings from cart config lang as well as additional strings for checkout, email and receipt contexts.
supports_pay_with_plastic
Description: A boolean used for display logic on the checkout page for if the store supports paying with a debit or credit card.
supports_purchase_order
Description: A boolean used for dispaly logic on the checkout page for if the store supports paying by purchase order.

Email

The email view data in FC.json.config includes everything in the cart and checkout including the following values:

days_since_first_failed_transaction
Description: The number of days since the subscription in this email first failed, used for dunning reminder emails.
is_order
Description: If this email is for a normal transaction
is_expiring_payment_reminder
Description: If this email is for an expiring payment methods reminder email triggered by the dunning functionality
is_subscription_dunning_cancellation
Description: If this email is for a subscription that has just been cancelled through the dunning functionality
is_subscription_dunning_reminder
Description: If this email is for a subscription past due reminder email triggered by the dunning functionality

Site Tools