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
Billing
OverviewAbout the Billing APIs
Subscriptions
    Overview
    How subscriptions work
    Quickstart
    Use cases
    Build your integration
    Subscription features
      Subscription invoices
      Subscription schedules
      Subscription pricing
      Recurring pricing models
      Embed a pricing table
      Start subscriptions
      Set quantities
      Set billing cycles
      Backdate subscriptions
      Subscribe to multiple items
      Set trial periods
      Apply coupons
      Migrate subscriptions to Stripe
      How credit prorations are calculated
      Subscription payments
      Subscription payment methods
        ACH Direct Debit
        Amazon Pay
        Bacs Direct Debit in the UK
        Bank transfer
        BECS Direct Debit in Australia
        Cash App Pay
        PayPal
        Revolut Pay
        Korean Cards
        Kakao Pay
        Naver Pay
        Pre-authorized debit in Canada
        SEPA Direct Debit in the EU
        iDEAL with SEPA Direct Debit
        Bancontact with SEPA Direct Debit
      Integrate with third-party payment processing
      Collection methods
      Strong Customer Authentication (SCA)
      Manage subscriptions
      Modify subscriptions
      Manage pending updates
    Entitlements
    Analytics
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Revenue recognition
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueSubscriptionsSubscription features

Set payment methods per-subscription

Learn how to specify which payment methods are available for a subscription.

The subscription payment_settings parameter lets you set specific payment methods on individual subscriptions. This allows more flexibility than a single default_payment_method or less granular customer settings.

To enable payment methods, you first need to activate them in your account settings in the Stripe Dashboard.

In some situations, there might be restrictions that prevent certain payment methods from being used for a subscription. For example, a payment method might only operate in one currency, or have limitations on the amount that a customer can pay. Stripe doesn’t automatically select a payment method if limitations prevent it from being used. Learn more about payment method support.

Manually select payment methods

You can override the payment methods that a customer can use to pay a subscription by changing its payment settings.

Command Line
cURL
curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_settings[payment_method_types][]"=card \ -d "payment_settings[payment_method_types][]"=customer_balance

If you configured a default payment method on either the Customer or the Subscription, be sure to include it in the list of payment_method_types. Otherwise, that method won’t be used and payment might fail.

Payment method priority

By default, customers can pay a subscription’s generated invoice with any of the enabled payment methods in your Invoice default payment method configuration. This takes precedence over the older default_source customer setting.

If set, a subscription’s payment_settings.payment_method_types takes priority over default invoice settings, but only for that specific subscription. Payment method types are passed onto the subscription’s setup intent and invoices.

You can further specify a subscription’s default_payment_method, or the older default_source, to prioritize which payment method is attempted.

If you enable Save customer payment information in the Dashboard invoice settings or the save_default_payment_method parameter of the Subscription, any payment method the customer uses to pay the invoice becomes the new default.

Enable customers to update their payment method

From the Dashboard, you can generate single-use links that let customers update the payment method on an automatically billed subscription.

You can generate an update link from two places:

  • On the Subscription details page for the subscription, click the Actions menu and select Share payment update link.
  • On the Subscriptions page, find the subscription and click its overflow menu (), then select Share payment update link.

In the Share payment update link dialog, you can email the link directly to the customer or copy it to share another way. You can also deactivate all of the subscription’s existing payment update links.

You can generate links only for subscriptions that have Billing set to Auto. The menu item doesn’t appear for subscriptions with Billing set to Send.

Subscription payment update links have the following restrictions:

  • A link can only update the payment method on the associated subscription, and can’t change the customer’s default payment method.
  • The subscription’s status must be active, past_due, or trialing. It can’t be unpaid or ended.
  • The new payment method must be a card.
  • Each link only allows a customer to update their payment details one time.
  • If unused, a link expires after 30 days.

Payment method errors

Payment method errors can prevent a subscription from being created. This can happen when:

  • You manually select a payment method but a restriction, such as supported currencies, prevents it from being used.
  • A payment method isn’t activated for your account

Errors can also occur at time of payment, and Stripe can’t finalize the invoice. See invoicing payment method errors for details.

Payment method options

Some payment methods have additional options that you can set to customize how a customer pays. See the payment method options documentation for details.

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