Creates a session of the customer portal.
Parameters
- customerstringRequired
The ID of an existing customer.
- configurationstring
The ID of an existing configuration to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.
- flow_
dataobject Information about a specific flow for the customer to go through. See the docs to learn more about using customer portal deep links and flows.
- flow_data.
typeenumRequired Type of flow that the customer will go through.
Possible enum valuespayment_
method_ update Customer will be able to add a new payment method. The payment method will be set as the
customer.
.invoice_ settings. default_ payment_ method subscription_
cancel Customer will be able to cancel their subscription.
subscription_
update Customer will be able to select prices to update to based on the configuration’s
features.
.subscription_ update subscription_
update_ confirm Customer will be able to confirm a specified subscription update.
- flow_data.
after_ completionobject Behavior after the flow is completed.
- flow_data.
after_completion. typeenumRequired The specified behavior after the flow is completed.
Possible enum valueshosted_
confirmation Displays a confirmation message on the hosted surface after the flow is complete
portal_
homepage Redirects to the portal homepage after the flow is complete.
redirect
Redirects the customer to the specified
redirect.
after the flow is complete.return_ url - flow_data.
after_completion. hosted_ confirmationobject Configuration when
after_
.completion. type=hosted_ confirmation - flow_data.
after_completion. hosted_confirmation. custom_ messagestring A custom message to display to the customer after the flow is completed.
- flow_data.
after_completion. redirectobject Configuration when
after_
.completion. type=redirect - flow_data.
after_completion. redirect. return_ urlstringRequired The URL the customer will be redirected to after the flow is completed.
- flow_data.
subscription_ cancelobjectRequired if type=subscription_cancel. Configuration when
flow_
.data. type=subscription_ cancel - flow_data.
subscription_cancel. subscriptionstringRequired The ID of the subscription to be canceled.
- flow_data.
subscription_cancel. retentionobject Specify a retention strategy to be used in the cancellation flow.
- flow_data.
subscription_cancel. retention. coupon_ offerobjectRequired if type=coupon_offer. Configuration when
retention.
.type=coupon_ offer - flow_data.
subscription_cancel. retention. coupon_offer. couponstringRequired The ID of the coupon to be offered.
- flow_data.
subscription_cancel. retention. typeenumRequired Type of retention strategy to use with the customer.
Possible enum valuescoupon_
offer
- flow_data.
subscription_ updateobjectRequired if type=subscription_update. Configuration when
flow_
.data. type=subscription_ update - flow_data.
subscription_update. subscriptionstringRequired The ID of the subscription to be updated.
- flow_data.
subscription_ update_ confirmobjectRequired if type=subscription_update_confirm. Configuration when
flow_
.data. type=subscription_ update_ confirm - flow_data.
subscription_update_confirm. itemsarray of objectsRequired The subscription item to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable.
- flow_data.
subscription_update_confirm. items. idstringRequired The ID of the subscription item to be updated.
- flow_data.
subscription_update_confirm. items. pricestring The price the customer should subscribe to through this flow. The price must also be included in the configuration’s
features.
.subscription_ update. products - flow_data.
subscription_update_confirm. items. quantityinteger Quantity for this item that the customer should subscribe to through this flow.
- flow_data.
subscription_update_confirm. subscriptionstringRequired The ID of the subscription to be updated.
- flow_data.
subscription_update_confirm. discountsarray of objects The coupon or promotion code to apply to this subscription update.
- flow_data.
subscription_update_confirm. discounts. couponstring The ID of the coupon to apply to this subscription update.
- flow_data.
subscription_update_confirm. discounts. promotion_ codestring The ID of a promotion code to apply to this subscription update.
- localeenum
The IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer’s
preferred_
or browser’s locale is used.locales - on_
behalf_ ofstringConnect only The
on_
account to use for this session. When specified, only subscriptions and invoices with thisbehalf_ of on_
account appear in the portal. For more information, see the docs. Use the Accounts API to modify thebehalf_ of on_
account’s branding settings, which the portal displays.behalf_ of - return_
urlstring The default URL to redirect customers to when they click on the portal’s link to return to your website.
Returns
Returns a portal session object.
{ "id": "bps_1MrSjzLkdIwHu7ixex0IvU9b", "object": "billing_portal.session", "configuration": "bpc_1MAhNDLkdIwHu7ixckACO1Jq", "created": 1680210639, "customer": "cus_NciAYcXfLnqBoz", "flow": null, "livemode": false, "locale": null, "on_behalf_of": null, "return_url": "https://example.com/account", "url": "https://billing.stripe.com/p/session/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9OY2lBYjJXcHY4a2NPck96UjBEbFVYRnU5bjlwVUF50100BUtQs3bl"}