I have a Stripe custom payment flow on a website. This is based on the quickstart code, with the JavaScript SDK, HTML, and Python. This creates a PaymentElement
, and mounts it.
This all works (in test mode, anyway) for card payments. However, whatever I do, I can't get the payment form to display a Google Pay option. I've enabled Google Pay and Link in the dashboard (also in test mode). I'm testing on my Android mobile, and I've installed Google Wallet. I've attached a card and my bank has texted me that the card has been registered for Android Pay. I can also confirm at pay.google.com that I have a payment method.
When I try to make a payment on the mobile, the Stripe dashboard shows this payment intent:
"automatic_payment_methods": {
"enabled": true
},
"capture_method": "automatic",
"payment_method_types": [
"card",
"link"
],
but the payment form just shows a card number entry field, with no Google Pay or Link selection. Any ideas what's going wrong? One problem is that the Stripe docs for Google and Apple Pay almost exclusively reference PaymentRequest
and the payment request button, but these aren't used in the current Stripe example code, which is just based on a PaymentElement
.
More info: the page at https://stripe.com/docs/payments/payment-element does, I think, do a live demo of a payment form, with a note that "This demo only displays Google Pay or Apple Pay if you have an active card with either wallet". This doesn't show Google Pay on my mobile, or on Chrome on a desktop, even with all the Chrome payment settings turned on, and a saved payment method which the Pay logo.
If you don't see Google Pay at the top of this page, then I would recommend double checking a few things on your end:
allow sites to check if you have payment methods saved
is turned on.Once you do see Google Pay on the link first link I shared, you should also see it in your own Payment Element, assuming you are using httpS.