Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.
Parameters
- componentsobjectRequired
Configuration for each component. At least 1 component must be enabled.
- components.
object Configuration for buy button.
- components.
buy_button. booleanRequired Whether the buy button is enabled.
- components.
customer_ sheetobject Configuration for the customer sheet.
- components.
customer_sheet. enabledbooleanRequired Whether the customer sheet is enabled.
- components.
customer_sheet. featuresobject This hash defines whether the customer sheet supports certain features.
- components.
customer_sheet. features. payment_ method_ allow_ redisplay_ filtersarray of enums A list of
allow_values that controls which saved payment methods the customer sheet displays by filtering to only show payment methods with anredisplay allow_value that is present in this list.redisplay If not specified, defaults to [“always”]. In order to display all saved payment methods, specify [“always”, “limited”, “unspecified”].
Possible enum valuesalwaysUse
alwaysto indicate that this payment method can always be shown to a customer in a checkout flow.limitedUse
limitedto indicate that this payment method can’t always be shown to a customer in a checkout flow. For example, it can only be shown in the context of a specific subscription.unspecifiedThis is the default value for payment methods where
allow_wasn’t set.redisplay - components.
customer_sheet. features. payment_ method_ removeenum Controls whether the customer sheet displays the option to remove a saved payment method."
Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the
customerobject from that PaymentMethod.Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
mobile_ payment_ elementobject Configuration for the mobile payment element.
- components.
mobile_payment_element. enabledbooleanRequired Whether the mobile payment element is enabled.
- components.
mobile_payment_element. featuresobject This hash defines whether the mobile payment element supports certain features.
- components.
mobile_payment_element. features. payment_ method_ allow_ redisplay_ filtersarray of enums A list of
allow_values that controls which saved payment methods the mobile payment element displays by filtering to only show payment methods with anredisplay allow_value that is present in this list.redisplay If not specified, defaults to [“always”]. In order to display all saved payment methods, specify [“always”, “limited”, “unspecified”].
Possible enum valuesalwaysUse
alwaysto indicate that this payment method can always be shown to a customer in a checkout flow.limitedUse
limitedto indicate that this payment method can’t always be shown to a customer in a checkout flow. For example, it can only be shown in the context of a specific subscription.unspecifiedThis is the default value for payment methods where
allow_wasn’t set.redisplay - components.
mobile_payment_element. features. payment_ method_ redisplayenum Controls whether or not the mobile payment element shows saved payment methods.
Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
mobile_payment_element. features. payment_ method_ removeenum Controls whether the mobile payment element displays the option to remove a saved payment method."
Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the
customerobject from that PaymentMethod.Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
mobile_payment_element. features. payment_ method_ saveenum Controls whether the mobile payment element displays a checkbox offering to save a new payment method.
If a customer checks the box, the
allow_value on the PaymentMethod is set toredisplay 'always'at confirmation time. For PaymentIntents, thesetup_value is also set to the value defined infuture_ usage payment_.method_ save_ usage Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
mobile_payment_element. features. payment_ method_ save_ allow_ redisplay_ overrideenum Allows overriding the value of allow_override when saving a new payment method when payment_method_save is set to disabled. Use values: “always”, “limited”, or “unspecified”.
If not specified, defaults to
nil(no override value).Possible enum valuesalwaysUse
alwaysto indicate that this payment method can always be shown to a customer in a checkout flow.limitedUse
limitedto indicate that this payment method can’t always be shown to a customer in a checkout flow. For example, it can only be shown in the context of a specific subscription.unspecifiedThis is the default value for payment methods where
allow_wasn’t set.redisplay
- components.
payment_ elementobject Configuration for the Payment Element.
- components.
payment_element. enabledbooleanRequired Whether the Payment Element is enabled.
- components.
payment_element. featuresobject This hash defines whether the Payment Element supports certain features.
- components.
payment_element. features. payment_ method_ allow_ redisplay_ filtersarray of enums A list of
allow_values that controls which saved payment methods the Payment Element displays by filtering to only show payment methods with anredisplay allow_value that is present in this list.redisplay If not specified, defaults to [“always”]. In order to display all saved payment methods, specify [“always”, “limited”, “unspecified”].
Possible enum valuesalwaysUse
alwaysto indicate that this payment method can always be shown to a customer in a checkout flow.limitedUse
limitedto indicate that this payment method can’t always be shown to a customer in a checkout flow. For example, it can only be shown in the context of a specific subscription.unspecifiedThis is the default value for payment methods where
allow_wasn’t set.redisplay - components.
payment_element. features. payment_ method_ redisplayenum Controls whether or not the Payment Element shows saved payment methods. This parameter defaults to
disabled.Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
payment_element. features. payment_ method_ redisplay_ limitinteger Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to
3. The maximum redisplay limit is10. - components.
payment_element. features. payment_ method_ removeenum Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to
disabled.Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the
customerobject from that PaymentMethod.Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
payment_element. features. payment_ method_ saveenum Controls whether the Payment Element displays a checkbox offering to save a new payment method. This parameter defaults to
disabled.If a customer checks the box, the
allow_value on the PaymentMethod is set toredisplay 'always'at confirmation time. For PaymentIntents, thesetup_value is also set to the value defined infuture_ usage payment_.method_ save_ usage Possible enum valuesdisabledThe feature is disabled.
enabledThe feature is enabled.
- components.
payment_element. features. payment_ method_ save_ usageenumRequired if payment_method_save=enabled When using PaymentIntents and the customer checks the save checkbox, this field determines the
setup_value used to confirm the PaymentIntent.future_ usage When using SetupIntents, directly configure the
usagevalue on SetupIntent creation.Possible enum valuesoff_session Use
off_if your customer may or may not be present in your checkout flow.session on_session Use
on_if you intend to only reuse the payment method when your customer is present in your checkout flow.session
- components.
pricing_ tableobject Configuration for the pricing table.
- components.
pricing_table. enabledbooleanRequired Whether the pricing table is enabled.
- customerstringRequired
The ID of an existing customer for which to create the Customer Session.
Returns
Returns a Customer Session object.
{ "object": "customer_session", "client_secret": "_POpxYpmkXdtttYtZQYhrsOJZ2RCQ9kCqqXRU6qrP5c4Jgje", "components": { "buy_button": { "enabled": false }, "pricing_table": { "enabled": true } }, "customer": "cus_PO34b57IOUb83c", "expires_at": 1684790027, "livemode": false}