Upgrading

Please view the upgrade notes in the wiki.

Features

Cart

  • Multiship (Multiple Ship-To Addresses) added as a shipto cart option.
  • Added cart=updateinfo option to allow your customers to load the checkout page directly and update their information (such as their credit card number). This is really useful for subscriptions with soon-to-expire credit cards.
  • Added the fc_json javascript object to the cart page. You can use this in a variety of ways including checking that the quantity is “1” for unique items before allowing the customer to checkout.
  • Added shipto item to the fc_json cart object.
  • Added the h: prefix option for “hidden fields” to pass information to the cart (which will be included in the json) and in the datafeed as a custom field. These values will also be included in the admin email.
  • Replacing “_” with ” ” when displaying product options.

Checkout

  • Multiship (Multiple Ship-To Addresses) added.
  • Pre-populate checkout fields with your own data by sending any of the following values to the cart page:
    customer_first_name
    customer_last_name
    customer_email
    customer_address1
    customer_address2
    customer_city
    customer_state
    customer_postal_code
    customer_country
    customer_phone
    shipping_first_name
    shipping_last_name
    shipping_address1
    shipping_address2
    shipping_city
    shipping_state
    shipping_postal_code
    shipping_country
    shipping_phone
  • Checkout without password. Using the “pre-populate” option described above, you can load the checkout without requiring a customer password. Just set any one of the fields above in your form or your cart link with a space like this: customer_phone=%20. Please note, this will create a new customer record which may cause problems if you’re using subscriptions. We’ll improve this functionality in the future to differentiate between guest customers and regular customers.
  • Error checking for all inputs, textareas and checkboxes with the class fc_required. This includes custom fields.

Admin

  • Added ip-to-country lookup on the signup page which should fix the problem with states being required (and set to US states) for non US countries.
  • Added Multiship (Multiple Ship-To Addresses) option in the store settings. Note, this feature is an additional $10 a month and only works with versions >= 0.3.0.
  • Added “Free Ground Shipping” as a Custom Shipping option.

Improvements & Bug Fixes

Cart

  • Replaced " with \" in the json cart object to avoid javascript errors.
  • Fixed some warning messages that show up if the session gets lost during the checkout process.
  • </code> tag <strong>REQUIRED</strong> on cart templates, due to changes in where the FoxyCart javascript is inserted.</li> </ul> <h3>Checkout</h3> <ul> <li class="changelog changelog_action_possible">Removed some unnecessary <code>ID</code>s from <code>li</code> elements in the shipping address fieldsets.</li> <li class="changelog changelog_action_possible">If you’re using javascript to require the <code>customer_phone</code> field, you’ll need to update it. <a title="faqs [FoxyCart! Wiki]" href="http://wiki.foxycart.com/faqs#can_i_make_customer_phone_a_required_field">Instructions on the wiki</a>.</li> <li class="changelog changelog_bug_remove">Fixed an issue with Safari and IE7 that would focus on the browser’s address bar when tabbing off the email field. (Safari still doesn’t correctly focus on the password field, but it’s better than it was.)</li> <li>Added some error checking to ensure that the “save cc” checkbox is checked for offline processing.</li> </ul> <h3>Admin</h3> <ul> <li>Improved transaction history display.</li> </ul> <div class="post__tags"> </div> </div> <div class="article__share text-center" style="display: none;"> </div> </article><!--end item--> </div> </div><!--end of row--> </div><!--end of container--> </section> <section class="bg--secondary" style="border-bottom: 1px solid #eaeaea;"> <div class="container"> <div class="row text-block loop-related"> <div class="col-sm-12"> <h3>Related Posts</h3> </div> </div><!--end of row--> <div class="row"> <div class="col-sm-12"> <div class="masonry"> <div class="row"> <div class="masonry__container"> <div class="masonry__item col-md-4 col-sm-6"></div> <div id="post-1317" class="masonry__item col-sm-6 col-md-4 post-1317 post type-post status-publish format-standard hentry category-changelogs"> <article class="feature feature-1 "> <a href="https://www.foxy.io/blog/changes-for-the-week-ending-2011-05-15/" class="block" title="Read more."> <div class="block"> </div> <div class="feature__body"> <h2>Changes for the week ending 2011-05-15</h2> <span class="type--uppercase">Changelogs</span> <p>Changes for the week ending 2011-05-15: v0.7.1: Fix to PayPoint Gateway double charging in certain...</p> </div> </a> </article> </div> <div id="post-1248" class="masonry__item col-sm-6 col-md-4 post-1248 post type-post status-publish format-standard hentry category-changelogs"> <article class="feature feature-1 "> <a href="https://www.foxy.io/blog/changes-for-the-week-ending-2015-10-18/" class="block" title="Read more."> <div class="block"> </div> <div class="feature__body"> <h2>Changes for the week ending 2015-10-18</h2> <span class="type--uppercase">Changelogs</span> <p>Changes for the week ending 2015-10-18 v2.0: Fix for Amazon Subscription Payments not receiving emails...</p> </div> </a> </article> </div> <div id="post-2982" class="masonry__item col-sm-6 col-md-4 post-2982 post type-post status-publish format-standard hentry category-changelogs"> <article class="feature feature-1 "> <a href="https://www.foxy.io/blog/changes-for-the-week-2019-06-16/" class="block" title="Read more."> <div class="block"> </div> <div class="feature__body"> <h2>Changes for the week 2019-06-16</h2> <span class="type--uppercase">Changelogs</span> <p>v2.0: Adding auth/verify/capture/refund/void functionality to Payflow Pro. v2.0: Add a title value to the Webflow...</p> </div> </a> </article> </div> </div><!--end of masonry container--> </div><!--end row--> </div><!--end masonry--> </div> </div> </div><!--end of container--> </section> </div><!-- /main-container --> <a class="back-to-top inner-link" title="Back to top" href="#start" data-scroll-class="100vh:active"> <i class="stack-interface stack-up-open-big"></i> </a> <!-- font handler --> <script type="text/javascript" id="forms-for-campaign-monitor-ajax-script-public-js-extra"> /* <![CDATA[ */ var ajax_request = {"ajax_url":"https:\/\/www.foxy.io\/blog\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-content/plugins/forms-for-campaign-monitor/forms/views/public/js/app.js?ver=6.4.2" id="forms-for-campaign-monitor-ajax-script-public-js"></script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-content/themes/stack/style/js/parallax.js?ver=6.4.2" id="ebor-parallax-js"></script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-content/themes/stack/style/js/plugins.js?ver=6.4.2" id="ebor-plugins-js"></script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-content/themes/stack/style/js/scripts_wp.js?ver=6.4.2" id="ebor-scripts-wp-js"></script> <script type="text/javascript" id="ebor-scripts-js-extra"> /* <![CDATA[ */ var stack_data = {"access_token":"replaceWithYourOwn","client_id":"replaceWithYourOwn","typed_speed":"100","map_marker":"https:\/\/www.foxy.io\/blog\/wp-content\/themes\/stack\/style\/img\/mapmarker.png"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-content/themes/stack/style/js/scripts.js?ver=6.4.2" id="ebor-scripts-js"></script> <script type="text/javascript" src="https://www.foxy.io/blog/wp-includes/js/comment-reply.min.js?ver=6.4.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <footer class="text-center space--sm footer-5"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div class="heading-block"> <ul class="list-inline list--hover"> <li> <a href="/about-us"><span>What's Foxy?</span></a> </li> <li> <a href="/contact"><span>Contact</span></a> </li> <li> <a href="https://admin.foxycart.com/signup/">Try Foxy Free</a> </li> </ul> </div> <div> <ul class="social-list list-inline list--hover"> <li> <a href="https://www.facebook.com/foxycart" target="_blank"><i class="socicon socicon-facebook icon icon--xs"></i></a> </li> <li> <a href="https://twitter.com/foxycart" target="_blank"><i class="socicon socicon-twitter icon icon--xs"></i></a> </li> <li> <a href="https://www.youtube.com/foxycart" target="_blank"><i class="socicon socicon-youtube icon icon--xs"></i></a> </li> </ul> </div> <div> <span class="type--fine-print">Copyright ©2022 Foxy.io</span> <a class="type--fine-print hide" href="/privacy-policy">Privacy Policy</a> <a class="type--fine-print" href="/terms-of-service">Terms of Service</a> </div> </div> </div><!--end of row--> </div><!--end of container--> </footer> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-1484535-6', 'auto'); ga('send', 'pageview'); </script> </body> </html>