Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Migrate payment methods to the Dashboard


Migrate payment methods to the Dashboard

Learn how to turn on payment methods for your Checkout Session in the Dashboard.

You can update your integration to use your payment method preferences from the Dashboard. This allows Stripe to display all compatible payment methods to your customers during checkout, depending on the chosen currency, location, or any payment method restrictions, such as maximum transaction amounts.

The checkout page shows payment methods known to increase conversion for your customer’s location, and hides other payment methods in an overflow menu. Customers can still choose from the payment methods in the overflow menu.

Update your integration

For existing Stripe Checkout integrations, you must remove the payment_method_types parameter to migrate payment methods preferences to the Dashboard. Doing so allows some payment methods to turn on automatically, including cards and wallets. The currency parameter restricts the payment methods your customers see in the Checkout Session.

Warning

When you upgrade your integration, non-default payment methods (such as bank redirects) are initially disabled. You must enable any payment methods you added to your Checkout integration from the payment methods settings page in the Dashboard.

server.rb

Select a language

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

# Don't put any keys in code. See https://docs.stripe.com/keys-best-practices.
# Find your keys at https://dashboard.stripe.com/apikeys.
client = Stripe::StripeClient.new('sk_test_BQokikJOvBiI2HlWgH4olfQ2')

client.v1.checkout.sessions.create({
 line_items: [
 {
 price_data: {
 currency: 'eur',
 product_data: {name: 'T-shirt'},
 unit_amount: 2000,
 },
 quantity: 1,
 },
 ],
 mode: 'payment',
 # Remove the payment_method_types parameter to manage payment methods in the Dashboard
 payment_method_types: ['card'],
 return_url: 'https://example.com/return',
 ui_mode: 'elements',
})

View available payment methods in the Dashboard

You can view the payment methods that you currently accept from the payment methods settings in the Dashboard. The list includes payment methods that Stripe enables by default, such as cards.

You can also enable or disable individual payment methods, such as Apple Pay or Google Pay. With the Checkout Sessions API, Stripe evaluates the currency and any restrictions, then dynamically presents the supported payment methods to the customer.

For example, Apple Pay is enabled and Google Pay is disabled, by default. In some cases, Stripe might not show these payment methods, even if you enabled them. Stripe doesn’t show Google Pay if you enable automatic tax without collecting a shipping address.

To see how Stripe displays your payment methods to customers, enter a transaction ID or set an order amount and currency in the Dashboard.

Add or remove payment methods in your integration

Enable payment methods for your integration from the payment methods settings in the Dashboard. You can select Turn on to enable some payment methods. For payment methods that require additional steps, select Set up or Review terms.

Learn about which payment methods are right for your business from our payment methods guide.

The payment method you integrate might have a delayed payment confirmation. If you set up webhooks to automatically fulfill orders, you might need to update your Checkout integration when you add your first payment method that has delayed notifications.

Caution

This step is only required if you plan to use any of the following payment methods: Bacs Direct Debit, Bank transfers, Boleto, Canadian pre-authorized debits, Konbini, the related setting, Pay by Bank, the related setting Direct Debit, or ACH Direct Debit.

When receiving payments with a delayed notification payment method, funds aren’t immediately available. It can take multiple days for funds to process so you should delay order fulfillment until the funds are available in your account. After the payment succeeds, the underlying PaymentIntent status changes from processing to succeeded.

You’ll need to handle the following Checkout events:

Event NameDescriptionNext steps
checkout.session.completedThe customer has successfully authorized the debit payment by submitting the embedded form.Wait for the payment to succeed or fail.
checkout.session.async_payment_succeededThe customer’s payment succeeded.Fulfill the purchased goods or services.
checkout.session.async_payment_failedThe payment was declined, or failed for some other reason.Contact the customer through email and request that they place a new order.

These events all include the Checkout Session object.

Update your event handler to fulfill the order:

Select a language

Ruby

Python

PHP

Java

Node.js

Go

.NET

No results

Testing

Ensure that stripe listen is still running. Go through Checkout as a test user, like you did in the prior steps. Your event handler should receive a checkout.session.completed event, and you should have successfully handled it.

Now that you’ve completed these steps, you’re ready to go live in production.

Test your integration

Card numberScenarioHow to test
The card payment succeeds and doesn’t require authentication.Fill out the credit card form using the credit card number with any expiration, CVC, and postal code.
The card payment requires authentication.Fill out the credit card form using the credit card number with any expiration, CVC, and postal code.
The card is declined with a decline code like insufficient_funds.Fill out the credit card form using the credit card number with any expiration, CVC, and postal code.
The UnionPay card has a variable length of 13-19 digits.Fill out the credit card form using the credit card number with any expiration, CVC, and postal code.

See Testing for additional information to test your integration.

Last verified 2026-09-24

Is this helpful?