Skip to content

Google Pay not showing in Stripe Payment Sheet on Android despite isPlatformPaySupported returning true #2198

@ashwinpinetco

Description

@ashwinpinetco

I am trying to integrate Google Pay using flutter_stripe in my Flutter app on Android. I am using the PaymentSheet flow, and everything else works fine, except that Google Pay option does not appear in the sheet, even though:

Google Pay is installed on my device

A valid test card is added

Stripe.instance.isPlatformPaySupported() returns true

The device is a physical Android phone

Here’s a simplified version of my implementation:
Stripe Initialization:

Future stripeInit() async {
Stripe.publishableKey = "";
Stripe.merchantIdentifier = "merchant.com.example.app"; // REPLACED
Stripe.urlScheme = "example";
await Stripe.instance.applySettings();
}

Google Pay Availability Check:

Future checkGPayAvailability() async {
final isAvailable = await Stripe.instance.isPlatformPaySupported(
googlePay: const IsGooglePaySupportedParams(
testEnv: true,
supportsTapToPay: true,
),
);
debugPrint("Is Google Pay available: $isAvailable"); // always returns true
}

Payment Intent Creation:

final response = await http.post(
Uri.parse('https://api.stripe.com/v1/payment_intents'),
headers: {
'Authorization': 'Bearer ',
'Content-Type': 'application/x-www-form-urlencoded',
},
body: {
'amount': '1000',
'currency': 'EUR',
'payment_method_types[]': 'card', // Google Pay is included under 'card'
},
);

Payment Sheet Initialization:

await Stripe.instance.initPaymentSheet(
paymentSheetParameters: SetupPaymentSheetParameters(
merchantDisplayName: "Example App",
paymentIntentClientSecret: clientSecret,
returnURL: 'example://stripe-redirect',
googlePay: PaymentSheetGooglePay(
merchantCountryCode: "US",
currencyCode: "EUR",
testEnv: true,
buttonType: PlatformButtonType.buy,
),
applePay: PaymentSheetApplePay(merchantCountryCode: "US"),
),
);

✅ Expected Behavior:
Google Pay should be shown as a payment option on Android in the PaymentSheet.

❌ Actual Behavior:
The PaymentSheet opens but does not display Google Pay as a payment option.
isPlatformPaySupported() returns true.
No errors or logs indicate any failure.

Device Info:

Device: Physical Android device

Google Pay: Installed, with test card set up

Stripe SDK: flutter_stripe: ^x.y.z (I’m using latest as of writing)

Flutter: [Paste output of flutter doctor -v here if needed]

Additional Notes:

I've ensured the country and currency values match for GPay.

The merchant ID is configured properly in the GPay console.

GPay is available in the region.

❓Question:

Is there anything missing in the initPaymentSheet or in the Stripe dashboard / GPay config that may cause Google Pay to be silently ignored?

Let me know if you need a full reproducible sample repo — happy to provide one.

Thanks in advance for the support!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions