# Save and retrieve customer payment methods

Learn about saved payment methods in the Payment Element with the Checkout Sessions API.

You can save customer payment methods for future use when you use the Payment Element with the [Checkout Sessions API](https://docs.stripe.com/api/checkout/sessions.md). This enables you to:

- Prompt customers for [consent](https://docs.stripe.com/payments/checkout/save-during-payment.md?ui=elements#collect-consent) to save payment methods.
- Display saved payment methods to customers for future purchases.
- Let customers remove saved payment methods.

To build a checkout page with Elements, start with the [Elements quickstart](https://docs.stripe.com/payments/quickstart.md). If you already have an Elements integration with the Checkout Sessions API, follow the [Save payment details during payment](https://docs.stripe.com/payments/checkout/save-during-payment.md?ui=elements) guide to enable saved payment methods.

If you use the Payment Element with the Payment Intents API, see [Save and retrieve customer payment methods](https://docs.stripe.com/payments/save-customer-payment-methods.md).

## Use saved payment methods with Link

[Link](https://docs.stripe.com/payments/link.md) is a network of saved payment methods that work across all Stripe users. You can use Link with Saved Payment Methods without any additional configuration.

- New customers can save their payment method to a specific business, Link, or both.
- Customers who have both a saved Link payment method and a saved business payment method see their business saved payment method displayed after the page loads.
![The Payment Element with Link and a saved payment method checkbox](https://b.stripecdn.com/docs-statics-srv/assets/spm-with-link.6bdc33f8d987d2183ded4ebf69e7a43d.png)

Save payment methods with Link.
![The Payment Element with a Saved payment method selected](https://b.stripecdn.com/docs-statics-srv/assets/spm-with-link-saved.d0bcd4ea872fd4123209aab8b28fc1ee.png)

Reuse a previously saved payment method.

## Prevent payment method removal from subscriptions

If a payment method is saved for reuse and is also the payment method for an ongoing subscription, removing that payment method from the Payment Element’s **Saved** section also removes it from the subscription. To control whether customers can remove saved payment methods in the Payment Element, set [saved_payment_method_options.payment_method_remove](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-saved_payment_method_options-payment_method_remove) when you create the Checkout Session. To avoid removing a payment method from an active subscription, manage payment methods in an account settings or similar page that shows existing subscriptions.

## Display existing saved payment methods

By default, the Payment Element only redisplays saved payment methods that have [allow_redisplay](https://docs.stripe.com/api/payment_methods/object.md#payment_method_object-allow_redisplay) set to `always`. Payment methods attached to customers in your Stripe account from a Card Element integration, direct use of the Stripe API, or some other method have an `allow_redisplay` value of `unspecified`, so they don’t render in the Payment Element.

You can use one of the following methods to display previously saved payment methods:

- If you collected the proper consent from the customer when saving the payment method, use the [Payment Method update API](https://docs.stripe.com/api/payment_methods/update.md) to update `allow_redisplay` to `always`.
- Use [saved_payment_method_options.allow_redisplay_filters](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-saved_payment_method_options-allow_redisplay_filters) when you create the Checkout Session to specify which saved payment methods to show. If you specify redisplay filters, they override the default behavior, so include `always` to keep showing payment methods that customers consented to save.

## Collect consent to reuse a payment method outside of the Payment Element

If you collect consent to save a payment method in a different way, such as with your own checkbox, [build a saved payment method UI](https://docs.stripe.com/payments/checkout/save-during-payment.md?ui=elements#build-your-own-ui). When you call [confirm](https://docs.stripe.com/js/custom_checkout/confirm), pass the `savePaymentMethod` parameter to indicate that your customer provided consent.
