Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseUse Managed Payments
Use Payment Links
Use a prebuilt checkout page
Build a custom integration with Elements
    Overview
    Compare Checkout Sessions and PaymentIntents
    Quickstart guides
    Design an advanced integration
    Customize look and feel
    Manage payment methods
      Accept a payment with the Express Checkout Element
      Add custom payment methods
      Customize payment methods
      Migrate payment methods to the Dashboard
    Collect additional information
    Build a subscriptions integration
    Dynamic updates
    Add discounts
    Collect taxes on your payments
    Redeem credits
    Let customers pay in their local currency
    Save and retrieve customer payment methods
    Send receipts and paid invoices
    Manually approve payments on your server
    Authorize and capture a payment separately
    Elements with Checkout Sessions API beta changelog
Build an in-app integration
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Payments
Payment scenarios
Handle multiple currencies
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Beyond payments
Incorporate your company
Crypto
Agentic commerce
Financial Connections
Climate
Understand fraud
Radar fraud protection
Manage disputes
Verify identities
HomePaymentsBuild a custom integration with ElementsManage payment methods

Customize payment methods

Choose how the Payment Element displays payment methods.

The Payment Element supports many payment methods. It displays the payment methods you enabled, hides any that won’t work for the current transaction, and sorts them dynamically for the best conversion rates.

You can customize its behavior in these ways:

  • Enable different payment methods.
  • Sort payment methods differently than the default.
  • Limit the number of payment methods displayed.

Enable different payment methods

You can specify Dynamic payment methods to enable different payment methods by selecting them in the Dashboard. Stripe enables this functionality by default in the latest version of the API.

This allows Stripe to pull your payment method preferences from the Dashboard to dynamically show the most relevant payment methods to your customers. Alternatively, you can list payment methods manually using payment method types.

There’s one situation where the Payment Element overrides your choice. It hides payment methods that don’t support the current payment. For instance, in a recurring payment for 10 JPY, the Payment Element hides methods that don’t support JPY or recurring payments.

Sort payment methods

By default, the Payment Element uses dynamic ordering to optimize which payment methods appear for each user. With the paymentMethodOrder parameter, you can override the default order for payment methods in the Payment Element, including Apple Pay and Google Pay.

Payment methods that you specify in paymentMethodOrder are shown first, followed by any additional payment methods. If you specify payment method types that Stripe wouldn’t show, they’re ignored.

elements.create('payment', { paymentMethodOrder: ['apple_pay', 'google_pay', 'card', 'klarna'] });

You can include Apple Pay (apple_pay) and Google Pay (google_pay) when setting the order for payment methods in addition to a full list of payment method types. When you specify sorting, Stripe applies dynamic ordering to any remaining available payment methods.

Regional considerations
Finland
Sweden

Regulations in Finland and Sweden require that debit payment methods must be presented before credit payment methods at checkout in those countries.

Limit the number of payment methods

When you use the accordion layout, the Payment Element displays up to five payment methods by default and hides the rest behind a More button.

To adjust the number of payment methods you want to display, set the layout.visibleAccordionItemsCount property.

elements.create('payment', { layout: { type: 'accordion', // Set a different default, or set to 0 to disable the // "More" button and render all available Payment Methods visibleAccordionItemsCount: 3 } });
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access program.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc