Order going through with no shipping cost

dustystringsdustystrings Member
in Help edited January 2015
We have been using 2.0 for several months now and it's been working great. But just now we had an order go through with no shipping cost charged. It looks like the correct method was selected (Standard Shipping, which is the only choice for orders within the U.S.) but the shipping cost was $0, when it should have been $47.95. In trying to replicate the order (using the same items and the customer's address and everything) I cannot get a zero dollar shipping cost to happen. I can't even deselect the shipping method. It looks like it's all working as normal. I also checked the error log and there are no errors from today.

We talked to the customer, who said that there was a shipping cost showing "on the screen before," which could mean in the cart before going to checkout, or on the checkout page before submitting the order. Sorry she couldn't be more specific than that...

We do have some fairly complicated custom shipping logic, which I could share if that would be helpful. (It's quite long.)

Any ideas would be great!
Comments
  • fc_adamfc_adam FoxyCart Team
    @dustystrings,

    I've tried to replicate it on my side as well - and I've been unable to. Looking at the transaction you mentioned, it was assigned the correct shipping rate based on the rate ID - but for some reason it ended up as $0 through the custom shipping rates.

    Did the customer note what browser they were using when completing the purchase? That might be part of what is needed to replicate the issue.

    One thing you could try as well is updating your live rates snippet to the most recent version. I don't think you ran into any of the issues that has been corrected in the newer versions, but can't hurt to try it. You can get the latest version from the wiki page here: https://wiki.foxycart.com/v/2.0/snippets/live_rate_shipping_modification
  • I wish I didn't have to dredge this up again, but I've found another loophole. It seems related to this thread (https://forum.foxycart.com/discussion/9131/v2-0-multi-flat-rate-shipping-allows-customers-to-proceed-through-checkout-without-shipping#latest) in that it allows me to check out without selecting a shipping method, which results in no shipping charges being charged. In this case, it is something I can replicate myself in Firefox 37.0 and Chrome 41.0.2272.118.

    I'm using the live rate shipping modification snippet (version 2.0.8, which I believe is the most current version), and for the U.S. only, I am replacing the live rates with tiered flat rates. I also have the automatic postal code lookup disabled, so customers have to type in a city, state, postal code and country to show the shipping options. I have FC.customLIveShipping.config = {autoSelect: true}; so that the top rate is automatically selected, and this works under normal checkout circumstances.

    How the loophole works is this:
    1. I enter an international address (Leopold, Victoria, Australia 3224). It pulls up two USPS shipping options, with the top one selected. This is all good.
    2. I change the address to the United States (Seattle, WA 98119). It pulls up the correct tiered rate ("Standard Shipping"), but it does not automatically select it. Instead of TBD, the shipping and handling cost says $0.
    3. If I do not manually select the shipping option, I can still complete the transaction, but no shipping costs are charged.

    If I change back to an international address (with live rates) it does correctly select the top one. Then if I go back to the U.S. (tiered flat rates), it's unselected.

    I did set up a javascript warning for people with old versions of IE and Safari, which seemed to be the problem browsers before. This is definitely helping, so it's not as urgent of an issue as it was before. But if you have any ideas about what might be going wrong, I would love to get this fixed!
  • fc_adamfc_adam FoxyCart Team
    @dustystrings,

    Thanks for the detailed information - I was able to replicate what you were seeing and believe I have a fix for it with the new version of the snippet here: https://wiki.foxycart.com/v/2.0/snippets/live_rate_shipping_modification
  • Thanks for the fix! (Sorry I lost track of this one for a while.) It works, as far as I can tell!
  • cgkirkcgkirk Member
    I have recently updated my cart to 2.0.

    We are using Live UPS shipping rates (nothing else) and we recently had an order come in where shipping wasn't charged even though it shows UPS ground was selected.

    I'm not doing much that's fancy with the checkout code - I'm limiting purchases to people in the continental US and Canada (https://wiki.foxycart.com/snippets/shipping/restricting_countries_and_states_on_the_checkout) so I don't see why I would need to install the live_rate_shipping_modification snippet as I'm not modifying the shipping rate, I'm just limiting where we will ship to.

    Any ideas as to why shipping might not be charged?

    Validation appears to be working too forcing selection of one of the UPS shipping rates.

    Thanks,

    Charity
  • fc_adamfc_adam FoxyCart Team
    @cgkirk,

    I'm sorry to hear you experienced an order come through with no shipping. Could I confirm with you the store this is for? Feel free to whisper it to me directly if you'd prefer to keep it private - you can do that by checking the "whisper" checkbox when replying, or by emailing our helpdesk.
  • fc_adamfc_adam FoxyCart Team
    @cgkirk,

    Thanks for whispering those details. Reviewing the logs, the customer should have been charged $13.50 for their shipping costs, but for some reason it wasn't correctly saved as it should be. Unfortunately I'm not sure why that was - I wasn't able to replicate that kind of experience on my side.

    That said - we do have a feature you can enable for your store that should prevent this kind of issue from happening again in the future. Specifically it's our shipping rate signing functionality - which creates a unique signature of each shipping rate from the data that was used to get the rates, and also the data of the returned rate. This allows our servers to validate that the rate received with the transaction matches exactly as it was displayed to the customer. It's primarily designed to prevent any possibility of a customer trying to alter a rate, but it would also prevent any potential edge cases like this.

    To enable our shipping rate signing functionality, you can find a checkbox to enable it at the bottom of the "shipping" page of your store's FoxyCart administration. You can simply check that box and save the shipping page to enable it - you won't need to make other changes to your store.
  • cgkirkcgkirk Member
    Thank you!
Sign In or Register to comment.