Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'Billing Address required' option not supported by PayPal - required for Subscriptions #537

Closed
NickGreen opened this issue Mar 4, 2019 · 14 comments

Comments

@NickGreen
Copy link

Synopsis

Billing Address is required to be collected for WooCommerce Subscriptions, however a merchant has reported that PayPal is no longer allowing Require Billing Address to be enabled in PayPal.

Details

If a customer checks out with the PayPal Checkout plugin buttons, it is possible to create a subscription which has no address associated with it. If there is no billing address associated with a subscription, renewals through PayPal Checkout will fail with this error: [L_SHORTMESSAGE0] => Request for billing address failed [L_LONGMESSAGE0] => Billing address request is not enabled for merchant

The fix for this, as far as I understand, has been to enable 'Require billing address' as detailed here: https://docs.woocommerce.com/document/paypal-express-checkout/#section-17

Now, we are getting a merchant report with an email from PayPal support:

Merchant Technical Support
Fri, Mar 1, 2:02 PM (1 day ago)
to [redacted], me

Hello,

It has changed. We are unable to turn on that option in the PayPal account. You will have to have the "Require Billing Address" turned off.

Sincerely,

[redacted]
Global Technical Support
PayPal, Inc.

ref:_00D30LaY._5002E1IHMLX:ref

We have a large number of support tickets in our queue recently regarding subscriptions created without addresses, and this report from PayPal is particularly worrying.

@thenbrent
Copy link
Contributor

Nick and I had a bit of back-and-forth discussion on this issue, and I want to post my understanding of it here (for reference and my own memory):

  1. PayPal requires renewal payments initiated by the PayPal Checkout plugin to include a billing address. If a shopper manages to purchase a subscription product without getting a billing address back from PayPal at the time of sign-up, then future renewals will fail. This is because the address data is blank on the subscription itself, so when it tries to send a renewal payment charge request to PayPal, it fails with a "no address" error.
  2. The solution for that was previously to enable the Require Billing Address setting. This makes it so PayPal sends a billing address back to populate the subscription after sign-up.
  3. The checkbox for that setting will not stay checked unless that requirement is also enabled in the PayPal account.
  4. The docs say "This feature must be enabled on your Merchant/Business account after contacting PayPal".
  5. The email above from a PayPal representative says PayPal no longer able to turn on that option.

@NickGreen
Copy link
Author

Here's an example error of what happens during a renewal, if a subscription is created without addresses:

[L_SHORTMESSAGE0] => Shipping Address1 Empty
[L_SHORTMESSAGE1] => Shipping Address City Empty
[L_SHORTMESSAGE2] => Shipping Address State Empty
[L_SHORTMESSAGE3] => Shipping Address Postal Code Empty
[L_SHORTMESSAGE4] => Invalid Data
[L_LONGMESSAGE0] => The field Shipping Address1 is required
[L_LONGMESSAGE1] => The field Shipping Address City is required
[L_LONGMESSAGE2] => The field Shipping Address State is required
[L_LONGMESSAGE3] => The field Shipping Address Postal Code is required
[L_LONGMESSAGE4] => This transaction cannot be processed. 

We want to avoid subscription purchases if Billing Address is not required.

Which brings me to the next part of this: even if the customer doesn't have billing address required, the plugin claims to support automatic recurring payments.

That should not show that it supports automatic recurring payments if billing address isn't required (and if Reference Transactions is not enabled, though that could be a separate ticket).

@NickGreen
Copy link
Author

Since the question about showing that recurring payments could be considered a separate issue, I didn't want to muddy the waters, so made a separate issue here: #545

@marcinbot
Copy link
Contributor

CC @EktaPayPal - could you please advise? Is PayPal no longer supporting the "Require Billing Address" option?

@marcinbot
Copy link
Contributor

Update: looks like PayPal still supports this option and it has been enabled for the user mentioned here. I'll close this issue and we can look at #545 separately.

@EtiennePoolman
Copy link

@marcinbot I had another user in 2047406-zen that experience the same. PayPal told them that they (PayPal) are not able to enable the "Require Billing Address" option for their account as it is no longer supported. Could you clarify what was done for the original user in this issue to have that enabled?

@EktaPayPal
Copy link

EktaPayPal commented May 21, 2019 via email

@NickGreen
Copy link
Author

NickGreen commented May 22, 2019

@EktaPayPal

Can you share with me, why the merchant needs this enabled?

The problem comes when the customer checks out using the PayPal Checkout buttons.

If they go through the process and don't provide any address information, then no address will be returned back to the WooCommerce store. This means a subscription will be created in WooCommerce that doesn't have an address associated with it.

When a renewal order is created based on that subscription, payments fail, because an address is required for requesting a charge through PayPal.

@EktaPayPal
Copy link

EktaPayPal commented May 22, 2019 via email

@NickGreen
Copy link
Author

It looks like the discussion has shifted to the question as to why the PayPal Checkout plugin isn't requesting a call for the address when getting the successful initial payment and creating the subscription:

Are we not making a getExpress Checkout call to get shipping address being used for the transaction please? That way the address field would get populated and you would not need to get this enabled via PP.

@marcinbot Can we reopen this issue?

@marcinbot
Copy link
Contributor

There seems to be some confusion regarding the new problem. The original issue has been fixed, and this gateway no longer reports itself as supporting digital subscriptions unless it's set up properly. I also don't think an issue needs to be opened for this.

Generally the use case supported is for merchants doing digital goods, and if the need for billing address for tax calculation purposes.

@EktaPayPal That is exactly the use case here. The merchants getting in touch are selling digital goods (subscriptions), but are unable to have this option enabled on PayPal side. The PayPal support is refusing to do that, claiming this option is no longer supported.

@EktaPayPal
Copy link

EktaPayPal commented May 22, 2019 via email

@NickGreen
Copy link
Author

Did the merchant make it clear that they were doing digital goods when they were denied?

I'm not sure I totally understand the question. It is possible to duplicate the issue using a Virtual and Downloadable product on a test site. It could be made clear to the customer that they are purchasing a Virtual and Downloadable product, but I'm not sure what difference that makes, since it would also be reasonable for the customer to assume that their recurring payments will not fail, whether they were physical products or not.

Are you saying that there is a setting in PayPal that allows payments to process even if there's no address provided?

@NickGreen
Copy link
Author

I've had a long phone chat with @EktaPayPal and Raúl Uriarte, jr. from PayPal today, and we believe that it is a potential solution to this issue to change the way the PayPal Checkout plugin is requesting payment on renewals for virtual products. I've laid out this possible solution here: #576

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants