Ship to Yourself, shipping overwrites billing

Hello -
We use multiship, however we have had a few instances where customers select ship to "Yourself/Me" as their delivery option when adding the product to the cart, but they intend to have it ship to someone else. The issue is that they enter their own information in Billing Address, then they enter their gift recipient's information in the Shipping address (ignoring the Ship to Me title) and this shipping address then overwrites the billing address when they complete the order. So, we are left not knowing the billing address information for the customer. It appears this happens with the customer-address-change.done call. Is there an easy way to prevent this from happening?

Thanks,
Jessica
Comments
  • fc_adamfc_adam FoxyCart Team
    @jingari,

    That sounds like a bug - even with multiship just to `Me`, if the customer enters both a billing and a shipping address separately, then the checkout should respect that.

    Could you let us know your store and some transactions where this occurred? We'll take a closer look.
  • I actually implemented a temporary fix already by not using "Me" for the ship to yourself, so you won't be able to see it live on our site, but I will whisper the store and affected transactions.
  • Even with switching the "Yourself" from "Me" to "Self", if someone leaves the Recipient Name blank when adding to cart, this will be put in with a ship_to value of "Me", and will have the billing address overwriting issue. It seems the way multiship works, with choosing a person to ship to without entering the entire address until checkout, is actually a confusing UX for many.
  • fc_adamfc_adam FoxyCart Team
    @jingari,

    Thanks for whispering those details. I believe the issue you're experiencing is due to the customisations you've applied to the checkout. You've set the billing and shipping addresses to always display - rather than the default of allowing customers to select to use a unique billing address. One part you've missed from what I can see though is the input that captures that the customer is wanting to specify a different billing address.

    Specifically, that input is for use_different_addresses, and you could add it as a hidden input like this:
    <input type="hidden" id="use_different_addresses" name="use_different_addresses" value="1" />
    That way, the server-side logic will know that the customer has specified the billing and shipping address. Without it, it's being set to "0" by default, which tells our server-side logic that they haven't specified a custom billing address, so the shipping address is used.
  • Great. Thank you.
Sign In or Register to comment.