The Foxy forums are on the move!

We're in the process of moving our forums over to a new system, and so these forums are now read-only.
If you have a question about your store in the meantime, please don't hesitate to reach out to us via email.

Large quantities produce a live shipping error

  • lukeluke FoxyCart Team
    @oskay: Here's how you could do that:
    jQuery("#fc_shipping_methods_inner").ajaxComplete(function(event, request, settings) {
    if (settings.url.indexOf('GetShippingCost') != -1) {
    if (request.responseText.indexOf('Error') != -1) {
    But do whatever you want in there such as injecting your own shipping method.

    One option might be to show the "free ground shipping" or "customer pickup" custom options instead. Just rename one of those to whatever you want and then try adding something like this to your checkout:
    var customFlatRate = 100;
    jQuery("#fc_shipping_methods_inner").ajaxComplete(function(event, request, settings) {
    if (settings.url.indexOf('GetShippingCost') != -1) {
    if (jQuery("#fc_shipping_methods_inner").length == 1) {
    jQuery("#fc_shipping_methods_inner .fc_shipping_cost").html('<span class="fc_shipping_cost"><span class="fc_currency_symbol">$</span>'+customFlatRate+'</span>');
    } else {

    So if only one entry shows up, we configure it how we want it, otherwise we hide that option. Will that work?
  • Thank you Luke, that's excellent!
  • Hey guys. Bumping this up to share the solution we went with (temporarily) and to ask about where it falls on your priority list for the future. My client sells safety equipment and often exceeds the 150 lb limit - so we ran into this issue on the production site pretty fast. The only solution we could think of was to :

    1 - set foxycart to hold the charge on the gateway/merchant side (not automatically reconcile the orders)
    2 - use some of the example JS to output a message to our customer
    3 - let them place the order w/no shipping charges
    4 - and contact them with the amount it would cost before adding it via virtual terminal.

    All in all, pretty kludgy. But it'll hold for now.

    Code we used to show the message:
    jQuery("#fc_shipping_methods_inner").ajaxComplete(function(event, request, settings){
            if (fc_json.total_weight > 70)
              jQuery(this).html(" ... message here about them contacting the customer ... ");

    Lastly, the question of what the roadmap might be for a more elegant solution to this. I know you guys *just* got done rolling out the new version of the store, and will probably be tied up with that for a little while, but I'd be remiss if I didn't ask on behalf of my client(s).

    Thanks for a great product overall though, guys. I love Foxycart!
  • brettbrett FoxyCart Team
    It's a good and valid question. We usually _really_ don't get into details about what's coming up, because we hate saying one thing then having it change, but in this case we believe we have the priorities fairly set. We're already fairly deep into our next version, v0.7.1, which will introduce 3dsecure and cart thumbnail images.

    After that we plan tackle tax and shipping with custom endpoints, which would allow you to use your own tables or tie into a 3rd party tax service. We don't have an eta, but they're both very high priorities. We also don't know which will come first, or if they'll arrive together, but they're both the next things on the list. So at that point you could at least do a better interim solution even if you have to do a little custom endpoint processor to handle things.
  • I've been struggling with FoxyCart customization on account of shipping a heavy product in dimensional-weight-rated packaging, and have encountered this problem intermittently over the last year. I just customized the error message to say "We're sorry but our cart can't correctly compute your shipping cost. Please call or email us at xxx to place your order". Aside, I found it helpful to change or rewrite most of the text labels in the cart/checkout page, it's great that it's so easy to do that. thanks.
Sign In or Register to comment.