FloPayFloPay
GatewaysStripe

Stripe Payment Methods

How the Stripe gateway resolves payment methods at runtime — and how to add new ones without changing SDK code.

Stripe Payment Methods

The Stripe gateway in FloPay is dynamic. The SDK does not maintain its own list of supported methods. Instead, it asks Stripe to render every payment method that is enabled on the connected Stripe account and eligible for the current buyer. Enabling a new method (Cash App, Klarna, iDEAL, etc.) is a Stripe Dashboard change — there is no SDK upgrade, no extra prop, and no code change in your app.

The Mental Model

FloPayCheckout (showStripe={true})


Stripe gateway panel


Stripe decides which methods to paint based on:
  • Methods enabled on the connected Stripe account
  • Buyer's device, browser, locale, and currency
  • Domain registration (Apple Pay / Google Pay)

showStripe is the only SDK-level switch for the entire Stripe gateway. It does not pick which methods render inside the panel — that is decided by Stripe at runtime against your dashboard configuration.

The showStripe Prop

ValueBehavior
true (default)The Stripe gateway renders. Card fields plus every Stripe-enabled method available to the buyer paint inside the panel.
falseThe entire Stripe gateway is hidden. No card fields, no wallets, no Stripe-enabled APMs. PayPal (controlled separately by showPayPal) is not affected.
// Default — Stripe gateway renders dynamically
<FloPayCheckout sessionId={sessionId} onComplete={handleSuccess} />

// Hide the Stripe gateway entirely
<FloPayCheckout sessionId={sessionId} showStripe={false} onComplete={handleSuccess} />

showStripe is available on both FloPayCheckout and SplitCardForm.

showStripe and showPayPal are the only SDK-level payment-method toggles. There are no per-wallet props — Apple Pay and Google Pay are surfaced through the Stripe gateway and are governed by the same dashboard configuration as every other Stripe-enabled method.

Methods You Can Enable in Stripe

The Stripe gateway can surface any method Stripe supports for the connected account, including:

CategoryExamples
CardsVisa, Mastercard, American Express, Discover, JCB, UnionPay
WalletsApple Pay, Google Pay, Link
Buy now, pay laterKlarna, Afterpay / Clearpay, Affirm
Bank redirectsiDEAL, Bancontact, Sofort, Giropay, EPS, Przelewy24
Bank debitsSEPA Direct Debit, ACH Direct Debit, BACS Direct Debit
Vouchers / cashCash App Pay, OXXO, Konbini, Boleto

Stripe's catalog changes over time and is the source of truth. See Stripe's payment methods reference for the current list, eligibility rules per method, and which currencies and countries each one supports.

FloPay does not maintain its own list. Whatever Stripe makes available on the account, FloPay renders. Enabling a new method on the Stripe Dashboard makes it appear on the next checkout load — no SDK upgrade required.

How a Method Becomes Visible to a Buyer

For a Stripe-enabled method to render in the Stripe gateway, four conditions must all be true:

  1. Enabled in the Stripe Dashboard on the connected account (Settings → Payments → Payment methods).
  2. Eligible for the buyer's locale, currency, and amount per Stripe's method-by-method rules. Local methods only paint when the buyer matches their region/currency requirements.
  3. Supported by the buyer's browser/device. Wallets in particular only paint on capable hardware — Apple Pay needs Safari on Apple devices with a card in Wallet, Google Pay needs a Chromium browser with a Google Pay-enabled profile, etc.
  4. Domain-registered with Stripe for any method that requires it. Apple Pay needs the /.well-known/apple-developer-merchantid-domain-association file plus Stripe domain registration; Google Pay needs the Stripe Payment method domains entry.

If any of those fail for a given buyer, Stripe silently drops the method from the rendered panel — the rest of the gateway keeps working.

Adding a New Payment Method

The full workflow for adding a new Stripe-enabled method to a live FloPay integration:

  1. In the Stripe Dashboard for the connected account, open Settings → Payments → Payment methods and enable the method.
  2. If the method requires extra setup in Stripe (e.g. business verification for BNPL, billing descriptor for direct debits), complete it in the dashboard.
  3. For Apple Pay / Google Pay, confirm the checkout domain is registered (see the Apple Pay and Google Pay setup guides).
  4. Reload a checkout in your app. The method appears for any buyer eligible for it.

No pnpm upgrade, no prop change, no redeploy of your frontend. The method is live as soon as Stripe accepts the dashboard change.

Hiding a Single Method

There is no SDK prop that hides one Stripe method while keeping the rest. The two ways to remove a method from the checkout are:

  • Turn it off in the Stripe Dashboard. Disabling a method on the connected account removes it from every checkout that uses that account. The card form and the remaining methods keep rendering.
  • Hide the entire Stripe gateway with showStripe={false}. Use this when you want to suppress the whole Stripe panel — for example, when offering an alternative gateway path or a non-Stripe checkout for a specific page.

This is intentional. Per-method SDK toggles drift out of sync with the dashboard, and Stripe's eligibility rules already handle most "hide this for these buyers" cases.

Diagnosing What Rendered

When debug is enabled on FloPayCheckout, the diagnostic panel lists which payment methods resolved for the current session and which gateway each one was routed through. Use it during local development to confirm that a newly enabled Stripe method is actually being offered to the buyer profile you're testing with.

<FloPayCheckout sessionId={sessionId} debug onComplete={handleSuccess} />

See Debug mode for what the panel surfaces.

On this page