4

Short version: One of our members attempted to pay a membership fee with Google Pay using our online form and it failed with an "invalid request" error.

I hope I'm just missing something obvious.

Is there anything I need to do to specifically enable Google Pay? Or is it not supported, in which case, how can I prevent the Chrome browser from displaying the GooglePay ("G Pay") button and instead give the usual credit card interface on our contribution form(s)?

Thanks in advance for any ideas!

Our install: CiviCRM: 5.52.3 Stripe Payment Processor: 6.7.10 WordPress: 6.0.2 PHP: 7.4.29 Host: CiviHosting

The issue: We're a small non-profit membership-based organization of 235 members. We've been running CiviCRM just over a year and taken many payments for membership and event fees by credit card online.

We had a first-time problem this week: a member attempted to renew his membership and pay the annual dues with Google Pay and got an "invalid request" error. This is the first time someone's tried Google Pay on our site, as far as I know.

He was using a Chrome Browser and the browser presented them the G Pay button, presumably because they setup the Google Pay browser extension. The button replaces the usual credit card field on the form.

Findings/Effort to this point:

Our president did a quick test and replicated the problem with Chrome/GooglePay on his own machine. Perhaps obviously, this seems specific to (Google's) Chrome browser.

Our Stripe control panel shows no payment attempt correlating with this user's transaction. This supports my thinking that the the error occurred on the form before submission even attempted.

I have searched CiviCRM System Admin and Stripe Extension documentation for settings/setup to specifically enable Google Pay through CiviCRM with no joy. I found no mention of Google Pay at all.

I did find that Stripe (the service) supports Google Pay.

I've been through each of the Contribution admin settings looking for an option to enable Google Pay. Again, no mention.

I've found no similar questions or discussion here on the CiviCRM StackExchange.

I have not looked at/traced errors on the server, but will gladly try, if that will help.


Update 30 November 2022

Thanks to everyone who looked-in, and to Guillaume Sorel for the response. Main takeaway lesson for me: the payment/credit card form on a CiviCRM Contribution page is simply a passthrough from Stripe, and is not controlled by any CiviCRM code. Therefore not selectable/editable by a basic user like myself.

TLDR; We haven't actually learned how to make GooglePay work with our Contribution forms, but we turned off GooglePay in Stripe, and hope that is why we have not had a recurrence of the error.

In our case, GooglePay was indeed turned on in the Stripe backend, but the the affected user still got the error. He said he had the error using the Chrome browser but not in a different (unknown) browser. I could not independently confirm that behavior.

We turned-off GooglePay using our Stripe account interface with hopes that the form on our Contribution pages will no longer offer it. Only a tiny fraction of our users (1) have even tried GooglePay, so we feel we'll be OK with the standard credit card interface.

We have not had a user with this problem again.


We had a new, perhaps similar, problem earlier today. I mention it here in the event anyone else experiences it.

Stripe apparently turned on the "Link" feature on our account, though we did not ask for it. Link is a service that will save your credit card information to allow one-click payment. It requires users register for a link account.

I have no such Link account, but saw the Link bar/button on all of our Contribution pages instead of the standard credit card entry form. There was no other choice - no way around it - and clicking the bar/button yielded an "Invalid Request" error window. Screen captures:

enter image description here

enter image description here

I confirmed this behavior with another user, who saw the same things. It occurred in both Chrome and Safari browsers. Neither browser had a Link app/extension or similar installed. Neither user had a Link account.

So we turned that feature off in Stripe, using the account owner's online admin interface.

It took at least 8 hours (to propagate the change?), but the button did finally go away and the usual credit card form returned. Whew.


For reference, our current configuration is: CiviCRM: 5.52.3; Stripe Payment Processor: 6.7.13 (updated); WordPress: 6.1.1 (updated), PHP: 7.4.29; Host: CiviHosting

2 Answers 2

2

is Google Pay set as active in the Stripe backend? IMO I would more look at Stripe's side rather than at CiviCRM's one as the means of payment are managed directly by Stripe. The Stripe extension is a payment gateway, what happens behind "shouldn't" perturb CiviCRM. Have you submitted your issue on chat.civicrm.org? There's a Stripe dedicated channel.

enter image description here

2
  • So sorry to be slow seeing this. I will work the back end with Stripe to see if we can enable Google Pay that way and report back on how it goes. Thank you for the reply! Oct 25, 2022 at 15:57
  • Follow up: GooglePay was indeed turned on in the Stripe backed, but error still occurred. One user noted the error from the Chrome browser but not in another (Safari, I think). Nov 30, 2022 at 17:15
0

Just in case others are seeing this behaviour, we had to remove the "Currency" value in Stripe Settings: /civicrm/admin/setting/stripe in order for Google Pay to stop showing for logged in users.

Turns out that even if the Payment Methods are disabled in Stripe dashboard, the client code can still enable them. It's a feature, apparently(!)

Solution from: https://lab.civicrm.org/extensions/stripe/-/issues/362

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.