Upgrading

Please view the upgrade notes in the wiki. If you have any issues with v0.7.0 please let us know.

Features

FoxyCart JavaScript

  • The “includes” files necessary for FoxyCart to function on your site have been moved to our CDN (Content Delivery Network). This provides a 2-5x speed increase around the world, but in order to make it happen the paths for the “includes” CSS and JavaScript files have been changed. You will need to change any and all references on your site that look like this:
    
    
    
    
    

    Please check your FoxyCart Admin’s “sample code” section for the new code to use.

  • FoxyCart’s foxycart_includes.js and foxycart.js have been rewritten to provide increased flexibility and a more robust handling of dynamically created add-to-cart elements. Please see the new documentation on foxycart.js for details. If your site is using any of the following, you’ll need to rewrite some of your javascript to take advantage of the new functionality and maintain compatibility with FoxyCart’s javascript.
    • fc_PreProcess()
    • fc_BuildFoxyCart()
    • fc_json
    • fc_tb_init()
    • Any custom cart display using a non-default modal window or JSONP functionality
    • Hack or override to get the fcsid cookie set at a subdomain or third-level domain (like example.co.uk)
    • Self-hosted foxycart_includes.js
    • Anything else that’s using any code from foxycart_includes.js
  • “FoxyBox” has been replaced by Colorbox as the default modal window. More details in the upgrade notes.
  • The version of jQuery required by FoxyCart, and loaded automatically in the cart, checkout, and receipt pages, has been upgraded from 1.3.2 to 1.4.2.

Receipt Emails

  • Added new receipt email place holders ^^order_begin^^^^order_end^^^^updateinfo_begin^^^^updateinfo_end^^^^subscription_cancel_begin^^^^subscription_cancel_end^^ for customizing emails based on the interaction with the customer.
  • Removed the cart from all updateinfo emails.
  • Removed the receipt information from all subscription cancel emails.

System Wide

  • Past Due amounts on subscriptions are now automatically charged the next time a subscription runs.
  • Coupon codes used in a transaction are now included in the admin transaction export.
  • The admin transaction export now optionally includes transaction details.
  • Added store_version to the subscriptions datafeed.
  • Tax line item details are now sent to PayPal gateways.
  • All values are now rounded to the correct number of decimal points for the given currency before being sent to the payment gateway.

Checkout

  • Added PayJunction as a payment gateway (patched back to 0.6.0).
  • Subscription cancellations no longer require payment information. The checkout interface has been simplified to just a login screen and a cancel button.

Cart

  • Added a new “y” product attribute modifier to specifying a product category.
  • Modified the javascript insertion point in the cart to prevent the “flash of unstyled content”. Rather than inserting FoxyCart’s javascript after the title tag, it now inserts after the last titlestyle, or link element.

API

  • transaction_list
    • filter options
      • transaction_date_filter
      • is_test_filter
      • hide_transaction_filter
      • data_is_fed_filter
      • id_filter
      • order_total_filter
      • coupon_code_filter
      • customer_id_filter
      • customer_email_filter
      • customer_first_name_filter
      • customer_last_name_filter
      • customer_state_filter
      • shipping_state_filter
      • customer_ip_filter
      • product_code_filter
      • product_name_filter
      • product_option_name_filter
      • product_option_value_filter
  • customer_list
    • filter options
      • customer_id_filter
      • customer_email_filter
      • customer_first_name_filter
      • customer_last_name_filter
      • customer_state_filter
  • subscription_list
    • filter options
      • is_active_filter
      • frequency_filter
      • past_due_amount_filter
      • start_date_filter
      • next_transaction_date_filter
      • end_date_filter
      • third_party_id_filter
      • last_transaction_id
      • customer_id_filter
      • customer_email_filter
      • customer_first_name_filter
      • customer_last_name_filter
      • product_code_filter
      • product_name_filter
      • product_option_name_filter
      • product_option_value_filter
  • subscription_modify
    • start_date
    • end_date
    • next_transaction_date
    • frequency
    • past_due_amount
    • is_active
    • transaction_template
  • transaction_modify
    • data_is_fed

XML Datafeed: Removed Fields

    • next_transaction_date
    • subscription_end_date
    • sub_token_url

XML Datafeed: New Fields

        • subscription
          • sub_token
          • start_date
          • third_party_id
          • transaction_template
            • custom_fields
              • custom_field
                • custom_field_name
                • custom_field_value
                • custom_field_is_hidden
            • transaction_details
              • transaction_detail
                • product_name
                • product_price
                • product_quantity
                • product_weight
                • product_code
                • shipto
                • category_code
                • transaction_detail_options
                  • transaction_detail_option
                    • product_option_name
                    • product_option_valule
                    • price_mod
                    • weight_mod
        • transaction
          • transaction_details
            • transaction_detail
              • sub_token_url
              • subscription_nextdate
              • subscription_enddate
              • is_future_line_item
          • discounts
            • discount
              • valid_categories
                • category_code
          • custom_fields
            • custom_field
              • custom_field_is_hidden

Improvements, Notes, & Bug Fixes

Cart

        • Fix for no checkout button showing up for $0 orders with PayPal express as the only payment method selected (patched back to 0.6.0).
        • Added total_discount to cart JSON.
        • Added total_item_price to cart JSON.
        • Updated total_price in cart JSON to exclude discounts and future subscription amounts.
        • Updated coupons in the cart JSON to be identified by the coupon code and we’ve also included the coupon id.
        • Gateway error messages with line feeds were breaking the cart JSON error messages because of an unterminated string.
        • Coupon codes are now inclusive so if the end date is set to 1/1/2010, you will still be able to use the coupon on January 1st.
        • Fix for javascript currency formatter not displaying negative numbers correctly.

Checkout

        • Added class .fc_updatinfo to #fc_complete_order_button for when the customer is updating their billing information.
        • Added class .fc_subscription_cancel to #fc_complete_order_button for when the customer is canceling a subscription.
        • Fix for Authorize.net payment gateway to handle apostrophes.
        • Fix for “send me my password” not using the correct store from address (patched back to 0.6.0).
        • Fix for future subscriptions and $0 transactions not showing up as “live” transactions regardless of the gateway settings (patched back to 0.6.0).
        • Fix for customer pickup and free ground shipping service options applying handling fees to the order even though they don’t show up on the checkout screen but are part of the receipt (patched back to 0.6.0).
        • Fix for jQuery not being included if you’re on the checkout as part of a “transaction id not found” error (patched back to 0.6.0).
        • Fix for is_test bit in the XML Datafeed not being set correctly on the initial feed immediately following a checkout (patched back to 0.6.0).
        • Fix for PayPal Express used in conjunction with Offline payments caused the PayPal transaction to be processed as an Offline transaction without requesting any of the payment information (patched back to 0.6.0).
        • Improved RealEx Payment Gateway integration to include sub accounts, auth-only and product details in the comments field.
        • Fix for FedEx shipping rate requests having trouble with special characters not setup as UTF-8 (patched back to 0.6.0)
        • Fix for the checkout_error_subscription_permission message not showing up correctly after receiving an error response from a payment gateway.
        • Taxes and Shipping in the cart display now show a TBD line item instead of $0.00 if there are taxes or live shipping rates that still need to be calculated.
        • All taxes that can be applied given the existing information (such as global taxes and country taxes based on GEOIP) are now displayed before the full address information is entered.
        • Fix for offline payments not showing the correct payment card info in the admin if a purchase order value was used on the checkout page even though the pay with a payment card option was selected (patched back to 0.6.0).
        • If a customer updates their payment card, the old masked payment card may show up in the XML datafeed instead of the new masked payment card.
        • Fix for shipping address validation interfering with billing address validation because the regions array wasn’t unique to each shipping address block. The FC.checkout.updateRegions method has been updated so that the specific region array you want to update has to be passed in.
        • The fc_checkout_container id was added along with the current fc_error_session class for checkout errors with no transaction ids.

System Wide

        • .fc_minicart.fc_quantity, and .fc_total_price now will be updated on pageload, in addition to elements with those IDs.
        • Updated our system to recognize all payment cards starting with 6304 as Laser payment cards.
        • Fix for MIME boundary issues when sending emails (patched back to 0.6.0).
        • Moved subscriptions to line item details.
        • Removed $0 tax line items from receipt emails.
        • Admin fix for the Offline payment option always showing up as live regardless of the setting saved to the database (patched back to 0.6.0).
        • Fix for html emails not rendering tfoot, thead and tbody correctly, so they are now removed for email cart displays.
        • Improved the way all gateways handle bad connections to the processor. Instead of a “gateway not supported” error they will get this customizable language string instead: “There was an unknown gateway error. Due to the nature of this error, you may want to contact us to ensure your card wasn't already charged and/or to process your order manually.
        • eWay now returns the auth code in the processorResponseDetails XML.
        • Fix for PayPal Express not returning any address information if a non-shippable product is in the cart.
        • Fix for viewing transactions in the admin with different locale settings. Each transaction is now displayed as it was purchased, not based on the store settings.
        • Fix for customer_save API call when passing in a customer_id you would get a success message even if the customer id was incorrect and the customer was not updated. (patched back to 0.5.0)
        • The admin transaction history display now properly shows the company field (patched back to 0.6.0).
        • The company field is now being passed to authorize.net (patched back to 0.6.0).
        • Fix for historical transactions changing their tax values after the transaction is completed because they are using the existing tax settings for the given categories instead of the completed tax total.
        • Removed error logging of the transaction id not found message since it’s not a very useful to the store owner.
        • Removed the transaction history link in the error logs if the transaction was not completed successfully.
        • Added the User ID, Password, and Access Key to the UPS shipping section in the admin because UPS changed their security policies to require each company to have their own settings if they want to use their negotiated rates (patched back to 060).
        • Fix for an issue with specific gateway responses that were available only in English even though they were translated to other languages.

Language Additions

      • Note: All language fields with a “checkout_javascript” prefix were renamed to just a “checkout” prefix. We recommend you copy any of these customized values before upgrading. Also, All language strings have been alphabetized per section.
      • New language fields:
        • cart_empty
        • cart_validation_error
        • gateway_error_status_code
        • checkout_subscription_cancel_completed
        • checkout_subscription_cancel_message
        • checkout_subscription_cancelling
        • checkout_updateinfo_completed
      • Modified default language strings:
        • ‘sub_startdate’ replaced with ‘date’ in cart_error_subscription_start_date_day, cart_error_subscription_start_date_month, cart_error_subscription_start_date_past, cart_error_subscription_start_date_year,
        • checkout_error_session