woocommerce / woocommerce-gateway-paypal-express-checkout

59 stars 64 forks source link

Hiding PayPal Credit or Debit/Credit Cards as a Funding Method also hides Venmo button #759

Closed fhaps closed 3 years ago

fhaps commented 4 years ago

Describe the bug

If you chose to hide either PayPal Credit or Debit/Credit Cards as a Funding Method available to customers, the Venmo button also disappears.

When none of these two funding methods is hidden, the Venmo button is displayed correctly.

To reproduce

  1. Go to WooCommerce > Settings > Payments > PayPal Checkout
  2. Under Hide Funding Methods, select PayPal Credit.
  3. Go to the frontend of the site, add a product to the cart.
  4. On the cart page, the smart payment buttons will have hidden the PayPal Credit button, but ALSO the Venmo button.

Screenshots

Without hiding any funding methods:

Image Link: https://d.pr/i/nZJLLg

After hiding PayPal Credit:

Image Link: https://d.pr/i/H0fdVY

Expected behavior

For Venmo to appear as a funding method when it hasn't been hidden.

AashikP commented 4 years ago

Setting priority so that this gets triaged. Also set to Critical for now since this disables a core feature offered by the extension.

We have a separate option to hide Venmo, so hiding PayPal Credit should not cause this behavior:

https://d.pr/i/Q9sWF0+

jorgeatorres commented 4 years ago

Hey @fhaps @AashikP!

Thanks for the report. Are you using some kind of publicly available sandbox/test site to test this? We've been having trouble reproducing this problem, even when testing on a US mobile or using a US VPN. If this is on a test site you control, would it be possible for us to take a look?

Alternatively, could you repeat the test but keeping both PayPal Credit and Debit/Credit Cards enabled (that is, not in the "Hide Funding Method(s)" list) but instead hiding a different funding method (say, "ELV")?

That last test, in particular, can give us a lot of insight: while most of the time the logic used by PayPal to determine which buttons get displayed is outside of our control, I don't believe it is a coincidence that hiding a method (any method) always ends up hiding Venmo. If we're able to confirm this, then the issue can probably be explained by a layout problem, one that I'm trying to address with this PR: #774.

AashikP commented 4 years ago

Hi @jorgeatorres 👋

I could not test the feature myself as I believe Venmo cannot be used from India (please do correct me if wrong)?

I can still see the standalone Hide option for Venmowithin the extenison, which is why I updated the priority.

cc @fhaps

jorgeatorres commented 4 years ago

Hi @AashikP!

I could not test the feature myself as I believe Venmo cannot be used from India (please do correct me if wrong)?

No, you're right. Venmo is only available in the US and when on a mobile device. That's in part why it has been so difficult for us to replicate this issue.

I can still see the standalone Hide option for Venmo within the extenison, which is why I updated the priority.

Yes, there's nothing in our code to hide Venmo when PayPal Credit or credit/debit cards are hidden, so this isn't really intended. Having said that, we don't fully control which PayPal buttons appear in the end, as PayPal considers a range of factors (such as country, device type, etc.) and then presents the buyer with a "unique combination of buttons".

With that in mind, it is still odd that hiding a particular method would result in Venmo disappearing. Sometimes the logic behind hiding/showing certain buttons takes into account the layout, and that's why I was thinking this was related to certain layout problems we fixed with this PR. If any of you is able to replicate this (@fhaps perhaps?) performing the test I suggested above would be very useful to us: does Venmo appear when you don't have any methods hidden (and the PayPal Credit checkbox is checked)? does it disappear as soon as you hide a method other than PayPal Credit or credit/debit cards, such as "ELV"?

jorgeatorres commented 4 years ago

@fhaps @AashikP: We've just released a version with a fix that might help with this issue. If any of you is able to test and confirm, that would be awesome.

fhaps commented 4 years ago

@jorgeatorres This has been really difficult to test do to the Venmo setup and location restrictions. I will continue testing and report back. But thank you for keeping us informed!

AashikP commented 4 years ago

Another report in 3146118-zen

Since a lot of us are having trouble testing this, I've created a request in pb0GrA-Pg-p2

AashikP commented 4 years ago

@jorgeatorres

If any of you is able to test and confirm, that would be awesome.

It looks like hiding PayPal Credit is still causing the Venmo payment option to be hidden in the front end. User in 3146118-zen previously granted us permission to remove PayPal Credit from the hidden funding methods and PayPal Devs confirmed that they could only see the payment option when I removed PayPal Credit from the hidden funding method field.

Slack discussion: p1596767229064300-slack-woo-paypal-external

Here's the screenshot of the store with no payment options hidden:

https://d.pr/i/blIEgR+

jorgeatorres commented 4 years ago

Hi @AashikP!

This is good information. Thank you! That said, I still think the problem is on PayPal's side, but not being able to consistently test makes this whole thing very difficult. I'm still wondering whether PayPal Credit is the problem or not. Now that we have access to a site, would it be possible to try by hiding a different method instead of PayPal Credit? I mean, keep PayPal Credit enabled but hide "Debit/Credit cards" (or other method) and see whether Venmo is also gone.

I'm asking because we don't have anything that ties Venmo to PayPal Credit in any way, so this shouldn't be coming from that particular interaction. What we do have in our code is different codepaths depending on whether a method is hidden or not (regardless of that method being Credit). I'm adding to the Slack thread, but if you're able to confirm whether the problem presents itself with other methods (not PayPal Credit) that would give us some additional clues.

flantascience commented 4 years ago

Just introducing myself as that screenshot is from my site (jim-flannery.com). To me, it feels really rude to require "PayPal Credit" as a checkout option... maybe this is an intentional move from PayPal to push their Credit product on people?

jorgeatorres commented 4 years ago

Hi @flantascience!

Just introducing myself as that screenshot is from my site (jim-flannery.com). To me, it feels really rude to require "PayPal Credit" as a checkout option... maybe this is an intentional move from PayPal to push their Credit product on people?

Thanks for reaching out and for letting us confirm this issue on your site. I just wanted to clarify that the issue with Venmo seems to be a bug of some sort and not deliberate. We're still investigating, and we will let you know when we have a better understanding of the situation.

flantascience commented 4 years ago

Thank you!

billrobbins commented 4 years ago

Just passing along some new information from PayPal over Slack. They are reporting that Venmo has disabled standalone buttons due to changes Apple has made with third-party cookies. They don't have an ETA for when this will be changed just yet.

So for the time being it doesn't look like Venmo will be available for use.

p1597329543006700-slack-C100MSW86

jorgeatorres commented 3 years ago

Closing given the information above. When/if this gets addressed on PayPal's side, the extension should automatically pick that up.