# Payment method settings

Display a configurable list of payment methods that connected accounts can offer during checkout.

Render a connected account’s [Payment Method Configuration](https://docs.stripe.com/api/payment_method_configurations.md) to enable customization of payment methods displayed at checkout. Connected accounts can customize their checkout payment methods and provide the necessary compliance details for their usage.

Note: The following is a preview/demo component that behaves differently than live mode usage with real connected accounts. The actual component has more functionality than what might appear in this demo component. For example, for connected accounts without Stripe dashboard access (custom accounts), no user authentication is required in production.

> We support the following payment methods in the embedded component:
> 
> - ACH Direct Debit
- Affirm
- Afterpay / Clearpay
- Alipay
- Amazon Pay
- Apple Pay
- Australia BECS Direct Debit
- Bacs Direct Debit
- Bancontact
- BLIK
- Boleto
- Bizum
- Canadian pre-authorized debits
- Cards
- Cartes Bancaires
- Cash App Pay
- EPS
- FPX
- Google Pay
- GrabPay
- iDEAL | Wero
- JCB
- Kakao Pay
- Klarna
- Konbini
- Korean cards
- Link
- MobilePay
- Multibanco
- Naver Pay
- NZ BECS Direct Debit
- OXXO
- PAYCO
- Pay by Bank
- PayNow
- Pix
- PromptPay
- Przelewy24
- Revolut Pay
- Samsung Pay
- Satispay
- Scalapay
- SEPA Direct Debit
- TWINT
- UPI
- WeChat Pay
- Zip

The embedded payment method settings uses the [Payment Method Configurations](https://docs.stripe.com/connect/multiple-payment-method-configurations.md) and [Account Capabilities](https://docs.stripe.com/connect/account-capabilities.md) APIs to display a list of customizable payment methods to your connected accounts. If a connected account requires additional compliance data prior to requesting the payment method [capability](https://docs.stripe.com/api/capabilities/object.md), the component indicates this and collects the necessary information in advance.

## Requirements

Your integration must use [dynamic payment methods](https://docs.stripe.com/connect/manage-payment-methods.md) to automatically apply the connected account’s preferences during checkout. In prebuilt payment UIs such as [Payment Element](https://stripe.com/payments/elements) and [Checkout](https://stripe.com/payments/checkout), Stripe handles the logic for displaying eligible payment methods for each transaction.

## Disable Stripe user authentication

Use the [disable_stripe_user_authentication](https://docs.stripe.com/api/account_sessions/create.md#create_account_session-components-payment_method_settings-features-disable_stripe_user_authentication) feature to control whether the component requires Stripe user authentication.

By default, this parameter is false.

This value can only be true for accounts where `controller.requirement_collection` is `application`.

We recommend implementing 2FA or equivalent security measures as a [best practice](https://docs.stripe.com/connect/risk-management/best-practices.md#prevent-account-take-overs). For account configurations that support this feature, such as Custom accounts, you assume liability for connected accounts if they can’t pay back [negative balances](https://docs.stripe.com/connect/risk-management/best-practices.md#decide-your-approach-to-negative-balance-liability).

The `disable_stripe_user_authentication` property is nullable and defaults to `false`. If you omit it or set it to `null`, the component requires Stripe user authentication.

## Integrate the component 

When [creating an Account Session](https://docs.stripe.com/api/account_sessions/create.md), enable payment method settings by specifying `payment_method_settings` in the `components` parameter.

```curl
curl https://api.stripe.com/v1/account_sessions \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "account={{CONNECTEDACCOUNT_ID}}" \
  -d "components[payment_method_settings][enabled]=true"
```

After creating the account session and [initializing ConnectJS](https://docs.stripe.com/connect/get-started-connect-embedded-components.md#account-sessions), you can render the payment method settings component in the frontend:

#### JavaScript

```js
// Include this element in your HTML
const paymentMethodSettings = stripeConnectInstance.create('payment-method-settings');
container.appendChild(paymentMethodSettings);
```

### Platform-level controls

The embedded payment method settings component respects the platform-level defaults that you configure in the [Dashboard](https://docs.stripe.com/connect/manage-payment-methods.md) or the [Payment Method Configurations API](https://docs.stripe.com/connect/multiple-payment-method-configurations.md).

For payment methods that you configure as **On by default** or **Off by default**, the connected account can override that preference in the component. If you’ve set a payment method to **Blocked**, it’s completely hidden in the component.

### Multiple payment method configurations

With default settings, the embedded payment method settings component shows the connected account’s default payment method configuration. To use [multiple payment method configurations](https://docs.stripe.com/connect/multiple-payment-method-configurations.md), set the `payment-method-configuration` attribute.

### Supported parameters

This embedded component supports the following parameters:

#### HTML + JS

| Method | Type | Description |  |
| --- | --- | --- | --- |
| `setPaymentMethodConfiguration` | `string` | Set the payment method configuration ID to appear in the component. You can pass any payment method configuration that the connected account owns. If you don’t set this parameter, the embedded component shows the connected account’s default payment method configuration that inherits from your platform’s settings. For more information, see [Payment method configurations](https://docs.stripe.com/payments/payment-method-configurations.md) or [List payment method configurations](https://docs.stripe.com/api/payment_method_configurations/list.md). | optional |  |

#### React

| React prop | Type | Description |  |
| --- | --- | --- | --- |
| `paymentMethodConfiguration` | `string` | The payment method configuration ID that appears in the component. You can pass any payment method configuration that the connected account owns. If you don’t set this parameter, the embedded component shows the connected account’s default payment method configuration that inherits from your platform’s settings. For more information, see [Payment method configurations](https://docs.stripe.com/payments/payment-method-configurations.md) or [List payment method configurations](https://docs.stripe.com/api/payment_method_configurations/list.md). | optional |

See the [integration guide](https://docs.stripe.com/connect/supported-embedded-components/payment-method-settings.md#integration) for next steps.

## See also

- [Connect integration guide](https://docs.stripe.com/connect/charges.md)
- [Payment Method Configurations API](https://docs.stripe.com/connect/multiple-payment-method-configurations.md)
- [Account Capabilities API](https://docs.stripe.com/connect/account-capabilities.md)
