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.

Customer incorrectly charged shipping Fee

dedanodedano Member
in Help edited April 2013
Hi Foxycart Tech Support,

I have a user which got charged by shipping fee which is not supposed to happen. I'm not sure if it happened because they updated their billing information.

May you Please tell me what's wrong? and how to prevent it from happening in the future?

The Order ID is 54657529

  • fc_adamfc_adam FoxyCart Team

    I replied to your helpdesk email about this a few days ago - did you not receive the last reply after you sent through the order ID there?
  • The client wanted to check it as a forum thread. May you Please attach your reply to this thread?

    I will appreciate that so much.
  • fc_adamfc_adam FoxyCart Team

    This is what I emailed to you:
    Your custom shipping logic says that it should have $4.99 shipping, see below:
    //Illuminations package w/ payments
          for (i=0;i<fc_json.products.length;i++) {
            if( fc_json.products[i].code == 'ILLUMDVD-01' ) {
              if( current_country == 'United States' ) {
                shipping_cost = 4.99;
                international_shipping = 0;
              } else if ( current_country == 'Canada' ) {
                shipping_cost = 0;
                international_shipping = 9.99;
              } else {
                shipping_cost = 0;
                international_shipping = 15;            

    Is it meant to be that only products that have flat rate shipping set in the category settings get those custom shipping costs? So as your donation category is set to no shipping, you don't want your custom shipping logic taking effect? If so, I'd suggest editing your myCustomShipping function to check if the cart has shippable products, like this:
    var myCustomShipping = function() {
      if (FC.checkout.config.hasShippableProducts) {
        .. YOUR EXISTING CODE ..

    That way, your custom logic will only run if the cart has products that are set to ship.
  • Hey Adam,

    The main question is:
    1) Why this transaction occurred at all? It is supposed to be a recurring transaction that recurs on the 19th. Here's the original order id 49914445.

    There is supposed to be shipping on this order. But the first order already occurred.

    Why did this transaction take place?
    And why did it have a negative Future Subscriptions?
    How do we keep this from happening in the future?

    What happened here to make this transaction occur? It shouldn't have.
  • fc_adamfc_adam FoxyCart Team
    edited April 2013

    Ah ok - I see what's going on now.

    So it looks like the customer has loaded their subscription using the subtoken link included in their receipt email to modify an aspect of their transaction - possibly trying to update their payment information. When they do that, it loads up the subscription, but as it's not due until the 19th as you noted, the cost is taken out as a future subscription so they won't pay for it now.

    Your custom shipping doesn't take that into account though - so you'll need to edit that to allow for people doing so - so they're not charged for shipping when they're not meant to. If you add something like this to the end of your custom shipping logic, that should correct this issue for the future:
    if (fc_json.total_item_price == FC.checkout.config.futureActualTotalPrice) {
    FC.checkout.config.orderFutureShipping = FC.checkout.config.orderShipping;
    FC.checkout.config.futureShippingOnly = true;

    Add that right before this line of your custom code:

    What that code does is check if the future total price is the same as the cart subtotal - which would mean that someone is just editing a subscription. If that is the case, then it assigns the shipping total as a future shipping total to match so it's taken out of the total price.
Sign In or Register to comment.