Support » Plugin: PayPal for WooCommerce » Shipping address sent to PayPal instead of Billing address

  • Resolved Jon Fergus


    When using PayPal Express at the end of the checkout page (i.e. after the customer has entered their billing and shipping addresses on the website), and when there is a different billing and shipping address, the address that is sent to PayPal and displayed there as the “Billing Address” is actually the Shipping address from the website (fyi: in settings, I have the landing page set to “Billing”). How do I make it so the Billing Address is what is sent to PayPal?

    Also, when testing I’ve noticed that sometimes when it goes to PayPal this route there’s a “Ship to my billing address” checkbox shown on the PayPal page (which is pre-checked) and sometimes there isn’t any mention of a shipping address. I can’t figure out what the variable is that changes this.

    Anyway, what I’d ideally want is:

    1. the billing address sent to PayPal and displayed there as the billing address, and
    2. no mention at all of shipping address on the paypal page (since the customer has already entered it on the website and can confirm it on the final review page).

    Any way to make this happen?

    As it is right now, it could be both confusing and annoying for the customer to have to enter addresses twice or to have billing and shipping getting mixed up on PayPal.

    Thanks for the help.

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Contributor Oliver


    Sorry for delay in response, We are looking into that and will get back to you asap.

    Thanks Oliver.

    Plugin Contributor angelleye


    Hi Jon,

    I’m sorry for the delayed response. This situation is something that comes up quite a bit, but unfortunately there isn’t any perfect solution. I would appreciate your thoughts after I outline the details here.

    One of the primary benefits of using PayPal for buyers is that they don’t actually share billing information with sellers they buy from. As such, the PayPal system is designed to focus on a shipping address, and does not provide specific parameters for a billing address in Express Checkout.

    So, the initial API call (SetExpressCheckout) to PayPal that sets up the checkout allows you to pass a shipping address, but not a specific billing address. Whatever address we pass in that request is what would get used in the PayPal system.

    In the case of Guest Checkout, though, this gets confusing because the buyer sees their shipping address was added to the Guest Checkout billing address form.

    Now, if we were to switch that, and use the WooCommerce checkout page billing address fields in the SetExpressCheckout request to PayPal, this would fill out the Guest Checkout form with the billing address as expected, but then if the shipping address on the WooCommerce checkout page was different that would be incorrect at PayPal and would have to be re-entered.

    The only way to have no mention at all of shipping at PayPal is to set “No shipping required” at the product level for your products. This is not recommended, though, because then you wouldn’t get the same seller protection that you would get when you ship to the address on the seller protected order.

    So it’s a bit of a quirky situation and it’s tough to come up with a solution for all. We’ve thought about adding some more options into the settings for this, but we really don’t have very many people asking about this, and it just adds more options and potential confusion to our settings panel.

    All of that said, if you’re using Express Checkout it’s typically best to skip the WooCommerce checkout altogether. That’s really the point of “Express” checkout…they don’t have to fill out forms. If they are using Guest Checkout then they can just fill those out (for the first time) at PayPal, and would not have to repeat anything anywhere. Is there a specific reason you’re forcing people through the Woo checkout page when using Express Checkout?

    Thanks for the explanation. Makes sense now.

    I think I’ll just restructure the way we intend to use express checkout to do as you recommend and skip the checkout page. Seems like that’ll be the best setup.

    Plugin Contributor Oliver


    I’m glad to hear things are working well for you now! If you have a moment to [leave a review|] it would be greatly appreciated.

    Seems to me that the actual issue is a PayPal one, not specific to this plugin (which is by far the best PayPal plugin out there imo). It’s PayPal who is limiting it to only one address that can be sent/received from the Express Checkout form to/from woo. As long as that’s the case, I see no option but to force the use of shipping address rather than billing address, because it’s far more important to get the shipping address correct.

    Until PayPal decides to set it up on their side to allow for both billing and shipping addresses to be communicated between it and woo, I’d say we’re all stuck with the way it’s currently setup in this plugin.

    Plugin Contributor angelleye


    I’m going to bring it up on my next call with PayPal. There’s a slim chance it would be added any time soon, but at least I can let it be known there’s an issue here that is affecting merchants.

    We could add the option to switch it around, too, so at least you would be able to set it the way that works best for you. Is it work adding that to our next Sprint?

    I still personally feel the best overall solution is to use Express Checkout as a way to skip filling out checkout forms (hence the name “Express”) and use direct CC gateways or any other payment method you might want to add through the WC checkout page. If there is some specific reasons you are unable to do that right now I would appreciate feedback on that, and we’d be happy to see if we can address that in our next Sprint.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Shipping address sent to PayPal instead of Billing address’ is closed to new replies.