I’m using latest versions of Woocommerce (6.1.1) and WooCommerce PayPal Payments (1.6.5).
Why does WooCommerce PayPal Payments require an address on the Checkout page? The whole point of PayPal is ease of use and not having to fill out a form so this seems like a step backwards.
On the cart page it’s not required and is fetched from PayPal.
I can go ahead and programmatically hide the address on the Checkout page and rearrange layout somewhat with hooks if PayPal is selected as a payment method but from an interface point of view it doesn’t make a lot of sense, mainly because the WooCommerce hook to move the payment options also includes the PayPal button to actually go to PayPal.
That would require a customer to select PayPal as a payment method to hide the address, fill out the non-address form details and then scroll up again to go to click the PayPal button to launch the PayPal pop-up.
I can’t seem to find any hooks to actually separate the payment options and paypal or place order button. Are there any?
I am running into exactly the same issue. Actually, it’s slightly worse.
I generally send users to my cart page to checkout, rather than the checkout page. On the Cart page, they click “Pay with PayPal” and authenticate and authorize the amount of their cart. With the new WooCommerce PayPal Payments plugin, they are then returned to the checkout page where all of the shipping and billing address fields are blank.
The whole point of PayPal is that all of the billing and shipping values come from PayPal, so making users enter it *after* they’ve already authenticated to PayPal is ridiculous.
The old PayPal Payment Gateway plugin for WooCommerce worked correctly in this regard (and still does). Once the user authenticates and authorizes the transaction at PayPal, the Ship To address is pre-filled (and not editable) upon returning to my site.
Is there an option in the new plugin to “Use PayPal shipping address” that will resolve this? Right now, it is a disaster.
@turbodb It would be great to get an official response.
I’m not too optimistic. With the amount of reviews/comments stating the plug-in is just not working at all I’m thinking the devs will prioritize those issues as opposed to fixing the absolutely nonsensical address handling.
I have no idea who made the decision to basically remove from the checkout page the one ease of use feature that makes PayPal still a preferred and relevant payment option.
It’s frustrating because the functionality is there and available (and works with other buttons) but for whatever reason they’ve made some really questionable choices on the actual checkout page.
Apologies for the late response as we may have missed this one.
What @turbodb described is a bug that will be fixed with the next update 1.7.0 and is not directly related to what you have reported in this thread.
Regarding the requirement for an address on the checkout page:
The checkout flow with PayPal Payments is still the same as with all other WooCommerce payment methods.
The user first needs to provide the address information in the WooCommerce checkout fields before an order can be placed with the “Place order” button. PayPal Payments replaces the regular “Place order” button with the PayPal smart buttons, but the requirement to enter an address before confirming the order remains.
Since version 1.6.2, the checkout form field validation happens after confirming the PayPal order which may further contribute to this misunderstanding because it’s possible to click the button without entering an address. But in a future update, there will be an error immediately when the user clicks the button when not providing an address.
In any case, the previous PayPal Checkout plugin behaved the same way (for the most part). None of the popular plugins I’m aware of provides an express button on the checkout page, so we’d appreciate it a lot if you could elaborate on how you think it’s a step back and provide examples of other integrations that do it differently.
The smart buttons on the non-checkout pages (single product, cart, mini cart) work differently compared to the ones on the checkout page as the user gets the opportunity to select a PayPal address which will then be transmitted to the checkout page. As mentioned above, this currently may not work due to a bug but will be fixed in the next update.
Once we implement support for the new WooCommerce Blocks, I see the possibility for us to add an express checkout block at the top of the checkout page as well, which would then work the same way the buttons on the non-checkout pages do. This likely won’t happen before sometime in Q2 as we are quite early in the development of that particular functionality.
Thank you so much for the response.
To elaborate on what I’m trying to accomplish.
I have nothing but digital products. I am only using the PayPal Payments plug-in to accept payments.
The billing address may be required if a user selects the Credit Cards option.
How do I selectively display and require the billing address only if Credit Cards is the selected payment method?
@iceninexp – Doesn’t PayPal collect the billing info for you even when users use credit cards? I thought the whole point of using PP for cards was that they took care of all that for you. Then, the flow I use might work for you as well – skip the checkout page entirely and send users directly to the cart, where they can pay with PayPal (account or CC) and you get your billing address that way.
Just a thought, in case you can’t get the Plugin to act the way you’re hoping.
Cheers and good luck!
Thanks, I read your other thread in the WooCommerce support forums as well. Though I’m not sure I understand what you mean with “The billing address may be required if a user selects the Credit Cards option.“. Is this a requirement for your particular workflow? Further clarification would be appreciated.
PayPal requires only an email address to process a PayPal, or an advanced card payment.
With standard card payments (with the black credit card button), PayPal indeed sometimes requests additional details in the smart card field section. The next update will streamline the behavior of the smart card fields to not request address details anymore when the details were already provided in the WooCommerce checkout fields.
Anyway, if you are operating from a supported region for advanced card payments, then from a PayPal point of view only asking for an email address in the checkout should be good enough for a seamless checkout experience with the PayPal Card Processing. If you instead provide basic credit card payments, then there is no way around PayPal requesting additional details for some customers.
With a filter like the one below, the non-relevant fields can be hidden for all virtual products:
But if you actually need a condition that displays the checkout fields based on the selected gateway, then I’m afraid you will need the assistance of a developer to help with this WooCommerce customization as it may not be the easiest thing to do.
Unsetting the checkout fields like the example above usually is not an issue, at least as long as you keep the email address field enabled. In any case, I hope this helps.
@turbodb That completely led me in the right direction to solve this. Thank you so much. PayPal Credit Card processing does not require a billing address and I did not know that.
I do need a checkout page because I need to have the customer supply a password to access their products I just don’t need an address.
I had asked the exact same question in WooCommerce core support and they sent me to this forum. The issue was solved just by unsetting all billing fields. PayPal Payments does indeed allow an order to process if those fields are just not required.
Thanks so much for sharing information that led me to solve this!
@iceninexp – awesome!
I can see how the checkout page would be necessary for account creation. I just send physical product, so I don’t do any account creation to keep things simple.
Have a good one, and best of luck with your store!
Again, thanks so much the response.
PayPal not requiring an address for Credit Cards was something I was (ashamedly) unaware of.
I added a very similar filter to the one you provided and everything is working as intended on the development server. No address is required and PayPal completes the transaction regardless of payment method and sends the customer to their dashboard which is absolutely the behavior I was looking to achieve.
I am going to mark this as resolved and I thank you so much for your patience and assistance.
Thanks for the feedback. If, at all, we would need to thank you for your patience.
PayPal Payments is a fairly complex integration with many aspects that may not be so obvious, so there’s no reason to be ashamed 🙂
There will be more and improved documentation around frequently asked questions soon, so stay tuned and keep an eye on these forums.
If any other questions come up or when you had the chance to use the plugin for a while and have any suggestions or feedback to share, don’t hesitate to let us know. Thanks!
- The topic ‘WooCommerce PayPal Payments Requiring Address’ is closed to new replies.