Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
Multiparty payments
After the payment
Add payment methods
    Overview
    Payment method integration options
    Bank debits
    Bank redirects
    Bank transfers
    Buy now, pay later
    Credit transfers (Sources)
    Real-time payments
    Vouchers
    Wallets
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
HomePayments

Payment method integration options

Learn about the different ways to integrate payment methods.

The payment methods you offer depend on the currency, country, and Stripe products you integrate with. Use this guide to make sure your chosen payment methods work for your business and to determine how you want to add payment methods.

Choose your integration

To decide which integration works best for you, consider:

  1. The Stripe products and checkout options you want to use or are currently using.
  2. The payment methods you want to enable.

No-code integrations with Stripe Dashboard

We offer several ways to get started with your integration using the Stripe Dashboard that don’t require any code.

Payment Links take your customers to a Stripe-hosted payment page. This page dynamically shows the payment methods most relevant to the currency and customer’s location based on the payment methods you’ve enabled in the Dashboard.

Invoicing lets you automatically charge your customer’s payment method on file, or email them the invoice with or without a link to a payment page.

You can also create basic subscriptions from the Dashboard if you have straightforward plans and pricing.

You can configure Payment methods for Invoicing and Subscriptions here.

Low-code integrations

Checkout is a Stripe-hosted payment form that you can programmatically define or configure in the Dashboard. Stripe selects enabled payment methods from your Dashboard by default but you can manually list payment methods using payment method types.

The Payment Element is a UI component that you embed into your website or app. When customers are ready to complete a purchase, you create a PaymentIntent or a SetupIntent and configure how you want to display payment methods. You can enable automatic payment methods and let Stripe select enabled payment methods from your Dashboard, or list payment methods manually with payment method types.

You can see an example of these options for one time payments in the Accept a payment guide.

With Checkout and Payment Element you can also set up subscriptions or recurring charges. You can see these options in the Subscriptions integration guide. Or, learn how to manage customer subscriptions and payment methods for Invoices and Subscriptions through the Customer Portal.

Link

Link is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click on any merchant on the network.

When you add Link to your Elements integration, your customers can save, change, and manage all their payment details in Link. As Stripe adds support for more payment methods to Link, your integration will automatically work with the new payment methods.

Payment method and product support

Payment methods only support certain currencies, countries, and products. Review the following table to make sure your chosen payment methods work for your scenario. Depending on your payments flows, some additional API options might restrict the payment methods you can offer.

All payment methods have specific requirements for their use and may contain additional restrictions that you must comply with, such as marketing guidelines, additional prohibited and restricted businesses, and information about handling disputes and refunds. These usage requirements and restrictions are described in the documentation for that payment method or in the applicable payment terms.

See which payment methods support which countries and currencies:

Country and currency support

See which payment methods support which Stripe products:

Bank debits

Bank redirects

Buy now, pay later

Cards

Link

Real-time payments

Vouchers

Wallets

1 Checkout in setup mode requires that you pass payment method types.

2 Invoices and Subscriptions only support the send_invoice collection method.

3 Merchant-presented mode only.

Additional API supportability

The following tables detail additional payment method API support:

Bank debits

Bank redirects

Buy now, pay later

Cards

Link

Real-time payments

Vouchers

Wallets

1 PaymentIntents only support payment method options when used with payment method types.

2 Cards and bank debit methods including SEPA debit, AU BECS direct debit, and ACSS debit support both on_session and off_session with setup future usage. All other payment method types either don’t support setup_future_usage or only support off_session.

3 PaymentIntents support confirmation with Bacs Direct Debit payment methods when the Mandate has been collected by a Stripe-owned flow such as Checkout, Payment Element, and Payment Links.

4 SetupIntents for Bacs Direct Debit can be created through Checkout using setup mode.

Choose how to add payment methods

Your customers see the available payment methods during the checkout process. You can either manage payment methods from the Stripe Dashboard or list payment methods manually in code. See the Accept a Payment guide for detailed steps.

Using automatic payment methods

You can manage your payment methods from the Dashboard by enabling automatic payment methods. This allows Stripe to pull your payment method preferences from the Dashboard to dynamically display the most relevant payment methods to your customers.

Unless your integration requires that you list payment methods manually, we recommend using automatic to manage payment methods from the Dashboard. Migrate payment methods to the Dashboard to utilize automatic payment methods if you’ve been listing payment methods manually.

Adding payment methods require no additional code after you remove payment_method_types from your Checkout integration, or replace payment_method_types with automatic_payment_methods from your Payment Element integration.

Command Line
curl https://api.stripe.com/v1/checkout/sessions \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d success_url="https://example.com/success" \ -d cancel_url="https://example.com/cancel" \ -d "line_items[0][price]"=price_H5ggYwtDq4fbrJ \ -d "line_items[0][quantity]"=2 \ -d “payment_method_types[]”=bancontact\ -d “payment_method_types[]”=card\ -d “payment_method_types[]”=eps\ -d “payment_method_types[]”=giropay\ -d “payment_method_types[]”=ideal\ -d “payment_method_types[]”=p24\ -d “payment_method_types[]”=sepa_debit\ -d “payment_method_types[]”=sofort\ ... -d mode=payment

Stripe displays all compatible payment methods to your customers when checking out depending on the chosen currency or any payment method restrictions like maximum transaction amounts. Stripe also presents the most relevant payment methods for each customer based on their location and currency used. The payments acceptance page prioritizes showing payment methods known to increase conversion for your customer’s location while lower priority payment methods are hidden in an overflow menu.

Listing payment methods manually

If you choose to list payment methods manually, some coding is required. Every payment method you want your PaymentIntent to accept must be added to payment_method_types. Unless your integration requires that you list payment methods manually, we recommend using automatic payment methods to manage payment methods from the Dashboard.

curl https://api.stripe.com/v1/checkout/sessions \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d success_url="https://example.com/success" \ -d cancel_url="https://example.com/cancel" \ -d "line_items[0][price]"=price_H5ggYwtDq4fbrJ \ -d "line_items[0][quantity]"=2 \ -d “payment_method_types[]”=bancontact\ -d “payment_method_types[]”=card\ -d “payment_method_types[]”=eps\ -d “payment_method_types[]”=giropay\ -d “payment_method_types[]”=ideal\ -d “payment_method_types[]”=p24\ -d “payment_method_types[]”=sepa_debit\ -d “payment_method_types[]”=sofort\ ... -d mode=payment

If multiple payment methods are passed, Checkout dynamically reorders them to prioritize the most relevant payment methods based on the customer’s location and other characteristics. The payments acceptance page prioritizes showing payment methods known to increase conversion for your customer’s location while lower priority payment methods are hidden in an overflow menu.

Was this page helpful?
Questions? Contact us.
Watch our developer tutorials.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Choose your integration
Payment method and product support
Choose how to add payment methods
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$