mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
666 lines
30 KiB
Ruby
666 lines
30 KiB
Ruby
# File generated from our OpenAPI spec
|
||
# frozen_string_literal: true
|
||
|
||
module Stripe
|
||
module BillingPortal
|
||
# A portal configuration describes the functionality and behavior of a portal session.
|
||
class Configuration < APIResource
|
||
extend Stripe::APIOperations::Create
|
||
extend Stripe::APIOperations::List
|
||
include Stripe::APIOperations::Save
|
||
|
||
OBJECT_NAME = "billing_portal.configuration"
|
||
def self.object_name
|
||
"billing_portal.configuration"
|
||
end
|
||
|
||
class BusinessProfile < Stripe::StripeObject
|
||
# The messaging shown to customers in the portal.
|
||
attr_reader :headline
|
||
# A link to the business’s publicly available privacy policy.
|
||
attr_reader :privacy_policy_url
|
||
# A link to the business’s publicly available terms of service.
|
||
attr_reader :terms_of_service_url
|
||
end
|
||
|
||
class Features < Stripe::StripeObject
|
||
class CustomerUpdate < Stripe::StripeObject
|
||
# The types of customer updates that are supported. When empty, customers are not updateable.
|
||
attr_reader :allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
end
|
||
|
||
class InvoiceHistory < Stripe::StripeObject
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
end
|
||
|
||
class PaymentMethodUpdate < Stripe::StripeObject
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
end
|
||
|
||
class SubscriptionCancel < Stripe::StripeObject
|
||
class CancellationReason < Stripe::StripeObject
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
# Which cancellation reasons will be given as options to the customer.
|
||
attr_reader :options
|
||
end
|
||
# Attribute for field cancellation_reason
|
||
attr_reader :cancellation_reason
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
# Whether to cancel subscriptions immediately or at the end of the billing period.
|
||
attr_reader :mode
|
||
# Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`.
|
||
attr_reader :proration_behavior
|
||
end
|
||
|
||
class SubscriptionUpdate < Stripe::StripeObject
|
||
class Product < Stripe::StripeObject
|
||
class AdjustableQuantity < Stripe::StripeObject
|
||
# If true, the quantity can be adjusted to any non-negative integer.
|
||
attr_reader :enabled
|
||
# The maximum quantity that can be set for the product.
|
||
attr_reader :maximum
|
||
# The minimum quantity that can be set for the product.
|
||
attr_reader :minimum
|
||
end
|
||
# Attribute for field adjustable_quantity
|
||
attr_reader :adjustable_quantity
|
||
# The list of price IDs which, when subscribed to, a subscription can be updated.
|
||
attr_reader :prices
|
||
# The product ID.
|
||
attr_reader :product
|
||
end
|
||
|
||
class ScheduleAtPeriodEnd < Stripe::StripeObject
|
||
class Condition < Stripe::StripeObject
|
||
# The type of condition.
|
||
attr_reader :type
|
||
end
|
||
# List of conditions. When any condition is true, an update will be scheduled at the end of the current period.
|
||
attr_reader :conditions
|
||
end
|
||
# The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable.
|
||
attr_reader :default_allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_reader :enabled
|
||
# The list of up to 10 products that support subscription updates.
|
||
attr_reader :products
|
||
# Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. Defaults to a value of `none` if you don't set it during creation.
|
||
attr_reader :proration_behavior
|
||
# Attribute for field schedule_at_period_end
|
||
attr_reader :schedule_at_period_end
|
||
# Determines how handle updates to trialing subscriptions. Valid values are `end_trial` and `continue_trial`. Defaults to a value of `end_trial` if you don't set it during creation.
|
||
attr_reader :trial_update_behavior
|
||
end
|
||
# Attribute for field customer_update
|
||
attr_reader :customer_update
|
||
# Attribute for field invoice_history
|
||
attr_reader :invoice_history
|
||
# Attribute for field payment_method_update
|
||
attr_reader :payment_method_update
|
||
# Attribute for field subscription_cancel
|
||
attr_reader :subscription_cancel
|
||
# Attribute for field subscription_update
|
||
attr_reader :subscription_update
|
||
end
|
||
|
||
class LoginPage < Stripe::StripeObject
|
||
# If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal.
|
||
#
|
||
# If `false`, the previously generated `url`, if any, will be deactivated.
|
||
attr_reader :enabled
|
||
# A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://stripe.com/docs/api/customers/object#customer_object-email) and receive a link to their customer portal.
|
||
attr_reader :url
|
||
end
|
||
|
||
class ListParams < Stripe::RequestParams
|
||
# Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations).
|
||
attr_accessor :active
|
||
# A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
|
||
attr_accessor :ending_before
|
||
# Specifies which fields in the response should be expanded.
|
||
attr_accessor :expand
|
||
# Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration).
|
||
attr_accessor :is_default
|
||
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
|
||
attr_accessor :limit
|
||
# A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
|
||
attr_accessor :starting_after
|
||
|
||
def initialize(
|
||
active: nil,
|
||
ending_before: nil,
|
||
expand: nil,
|
||
is_default: nil,
|
||
limit: nil,
|
||
starting_after: nil
|
||
)
|
||
@active = active
|
||
@ending_before = ending_before
|
||
@expand = expand
|
||
@is_default = is_default
|
||
@limit = limit
|
||
@starting_after = starting_after
|
||
end
|
||
end
|
||
|
||
class CreateParams < Stripe::RequestParams
|
||
class BusinessProfile < Stripe::RequestParams
|
||
# The messaging shown to customers in the portal.
|
||
attr_accessor :headline
|
||
# A link to the business’s publicly available privacy policy.
|
||
attr_accessor :privacy_policy_url
|
||
# A link to the business’s publicly available terms of service.
|
||
attr_accessor :terms_of_service_url
|
||
|
||
def initialize(headline: nil, privacy_policy_url: nil, terms_of_service_url: nil)
|
||
@headline = headline
|
||
@privacy_policy_url = privacy_policy_url
|
||
@terms_of_service_url = terms_of_service_url
|
||
end
|
||
end
|
||
|
||
class Features < Stripe::RequestParams
|
||
class CustomerUpdate < Stripe::RequestParams
|
||
# The types of customer updates that are supported. When empty, customers are not updateable.
|
||
attr_accessor :allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(allowed_updates: nil, enabled: nil)
|
||
@allowed_updates = allowed_updates
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class InvoiceHistory < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class PaymentMethodUpdate < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class SubscriptionCancel < Stripe::RequestParams
|
||
class CancellationReason < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# Which cancellation reasons will be given as options to the customer.
|
||
attr_accessor :options
|
||
|
||
def initialize(enabled: nil, options: nil)
|
||
@enabled = enabled
|
||
@options = options
|
||
end
|
||
end
|
||
# Whether the cancellation reasons will be collected in the portal and which options are exposed to the customer
|
||
attr_accessor :cancellation_reason
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# Whether to cancel subscriptions immediately or at the end of the billing period.
|
||
attr_accessor :mode
|
||
# Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`, which is only compatible with `mode=immediately`. Passing `always_invoice` will result in an error. No prorations are generated when canceling a subscription at the end of its natural billing period.
|
||
attr_accessor :proration_behavior
|
||
|
||
def initialize(
|
||
cancellation_reason: nil,
|
||
enabled: nil,
|
||
mode: nil,
|
||
proration_behavior: nil
|
||
)
|
||
@cancellation_reason = cancellation_reason
|
||
@enabled = enabled
|
||
@mode = mode
|
||
@proration_behavior = proration_behavior
|
||
end
|
||
end
|
||
|
||
class SubscriptionUpdate < Stripe::RequestParams
|
||
class Product < Stripe::RequestParams
|
||
class AdjustableQuantity < Stripe::RequestParams
|
||
# Set to true if the quantity can be adjusted to any non-negative integer.
|
||
attr_accessor :enabled
|
||
# The maximum quantity that can be set for the product.
|
||
attr_accessor :maximum
|
||
# The minimum quantity that can be set for the product.
|
||
attr_accessor :minimum
|
||
|
||
def initialize(enabled: nil, maximum: nil, minimum: nil)
|
||
@enabled = enabled
|
||
@maximum = maximum
|
||
@minimum = minimum
|
||
end
|
||
end
|
||
# Control whether the quantity of the product can be adjusted.
|
||
attr_accessor :adjustable_quantity
|
||
# The list of price IDs for the product that a subscription can be updated to.
|
||
attr_accessor :prices
|
||
# The product id.
|
||
attr_accessor :product
|
||
|
||
def initialize(adjustable_quantity: nil, prices: nil, product: nil)
|
||
@adjustable_quantity = adjustable_quantity
|
||
@prices = prices
|
||
@product = product
|
||
end
|
||
end
|
||
|
||
class ScheduleAtPeriodEnd < Stripe::RequestParams
|
||
class Condition < Stripe::RequestParams
|
||
# The type of condition.
|
||
attr_accessor :type
|
||
|
||
def initialize(type: nil)
|
||
@type = type
|
||
end
|
||
end
|
||
# List of conditions. When any condition is true, the update will be scheduled at the end of the current period.
|
||
attr_accessor :conditions
|
||
|
||
def initialize(conditions: nil)
|
||
@conditions = conditions
|
||
end
|
||
end
|
||
# The types of subscription updates that are supported. When empty, subscriptions are not updateable.
|
||
attr_accessor :default_allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# The list of up to 10 products that support subscription updates.
|
||
attr_accessor :products
|
||
# Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`.
|
||
attr_accessor :proration_behavior
|
||
# Setting to control when an update should be scheduled at the end of the period instead of applying immediately.
|
||
attr_accessor :schedule_at_period_end
|
||
# The behavior when updating a subscription that is trialing.
|
||
attr_accessor :trial_update_behavior
|
||
|
||
def initialize(
|
||
default_allowed_updates: nil,
|
||
enabled: nil,
|
||
products: nil,
|
||
proration_behavior: nil,
|
||
schedule_at_period_end: nil,
|
||
trial_update_behavior: nil
|
||
)
|
||
@default_allowed_updates = default_allowed_updates
|
||
@enabled = enabled
|
||
@products = products
|
||
@proration_behavior = proration_behavior
|
||
@schedule_at_period_end = schedule_at_period_end
|
||
@trial_update_behavior = trial_update_behavior
|
||
end
|
||
end
|
||
# Information about updating the customer details in the portal.
|
||
attr_accessor :customer_update
|
||
# Information about showing the billing history in the portal.
|
||
attr_accessor :invoice_history
|
||
# Information about updating payment methods in the portal.
|
||
attr_accessor :payment_method_update
|
||
# Information about canceling subscriptions in the portal.
|
||
attr_accessor :subscription_cancel
|
||
# Information about updating subscriptions in the portal.
|
||
attr_accessor :subscription_update
|
||
|
||
def initialize(
|
||
customer_update: nil,
|
||
invoice_history: nil,
|
||
payment_method_update: nil,
|
||
subscription_cancel: nil,
|
||
subscription_update: nil
|
||
)
|
||
@customer_update = customer_update
|
||
@invoice_history = invoice_history
|
||
@payment_method_update = payment_method_update
|
||
@subscription_cancel = subscription_cancel
|
||
@subscription_update = subscription_update
|
||
end
|
||
end
|
||
|
||
class LoginPage < Stripe::RequestParams
|
||
# Set to `true` to generate a shareable URL [`login_page.url`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-login_page-url) that will take your customers to a hosted login page for the customer portal.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
# The business information shown to customers in the portal.
|
||
attr_accessor :business_profile
|
||
# The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
|
||
attr_accessor :default_return_url
|
||
# Specifies which fields in the response should be expanded.
|
||
attr_accessor :expand
|
||
# Information about the features available in the portal.
|
||
attr_accessor :features
|
||
# The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).
|
||
attr_accessor :login_page
|
||
# Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
|
||
attr_accessor :metadata
|
||
# The name of the configuration.
|
||
attr_accessor :name
|
||
|
||
def initialize(
|
||
business_profile: nil,
|
||
default_return_url: nil,
|
||
expand: nil,
|
||
features: nil,
|
||
login_page: nil,
|
||
metadata: nil,
|
||
name: nil
|
||
)
|
||
@business_profile = business_profile
|
||
@default_return_url = default_return_url
|
||
@expand = expand
|
||
@features = features
|
||
@login_page = login_page
|
||
@metadata = metadata
|
||
@name = name
|
||
end
|
||
end
|
||
|
||
class UpdateParams < Stripe::RequestParams
|
||
class BusinessProfile < Stripe::RequestParams
|
||
# The messaging shown to customers in the portal.
|
||
attr_accessor :headline
|
||
# A link to the business’s publicly available privacy policy.
|
||
attr_accessor :privacy_policy_url
|
||
# A link to the business’s publicly available terms of service.
|
||
attr_accessor :terms_of_service_url
|
||
|
||
def initialize(headline: nil, privacy_policy_url: nil, terms_of_service_url: nil)
|
||
@headline = headline
|
||
@privacy_policy_url = privacy_policy_url
|
||
@terms_of_service_url = terms_of_service_url
|
||
end
|
||
end
|
||
|
||
class Features < Stripe::RequestParams
|
||
class CustomerUpdate < Stripe::RequestParams
|
||
# The types of customer updates that are supported. When empty, customers are not updateable.
|
||
attr_accessor :allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(allowed_updates: nil, enabled: nil)
|
||
@allowed_updates = allowed_updates
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class InvoiceHistory < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class PaymentMethodUpdate < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
|
||
class SubscriptionCancel < Stripe::RequestParams
|
||
class CancellationReason < Stripe::RequestParams
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# Which cancellation reasons will be given as options to the customer.
|
||
attr_accessor :options
|
||
|
||
def initialize(enabled: nil, options: nil)
|
||
@enabled = enabled
|
||
@options = options
|
||
end
|
||
end
|
||
# Whether the cancellation reasons will be collected in the portal and which options are exposed to the customer
|
||
attr_accessor :cancellation_reason
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# Whether to cancel subscriptions immediately or at the end of the billing period.
|
||
attr_accessor :mode
|
||
# Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`, which is only compatible with `mode=immediately`. Passing `always_invoice` will result in an error. No prorations are generated when canceling a subscription at the end of its natural billing period.
|
||
attr_accessor :proration_behavior
|
||
|
||
def initialize(
|
||
cancellation_reason: nil,
|
||
enabled: nil,
|
||
mode: nil,
|
||
proration_behavior: nil
|
||
)
|
||
@cancellation_reason = cancellation_reason
|
||
@enabled = enabled
|
||
@mode = mode
|
||
@proration_behavior = proration_behavior
|
||
end
|
||
end
|
||
|
||
class SubscriptionUpdate < Stripe::RequestParams
|
||
class Product < Stripe::RequestParams
|
||
class AdjustableQuantity < Stripe::RequestParams
|
||
# Set to true if the quantity can be adjusted to any non-negative integer.
|
||
attr_accessor :enabled
|
||
# The maximum quantity that can be set for the product.
|
||
attr_accessor :maximum
|
||
# The minimum quantity that can be set for the product.
|
||
attr_accessor :minimum
|
||
|
||
def initialize(enabled: nil, maximum: nil, minimum: nil)
|
||
@enabled = enabled
|
||
@maximum = maximum
|
||
@minimum = minimum
|
||
end
|
||
end
|
||
# Control whether the quantity of the product can be adjusted.
|
||
attr_accessor :adjustable_quantity
|
||
# The list of price IDs for the product that a subscription can be updated to.
|
||
attr_accessor :prices
|
||
# The product id.
|
||
attr_accessor :product
|
||
|
||
def initialize(adjustable_quantity: nil, prices: nil, product: nil)
|
||
@adjustable_quantity = adjustable_quantity
|
||
@prices = prices
|
||
@product = product
|
||
end
|
||
end
|
||
|
||
class ScheduleAtPeriodEnd < Stripe::RequestParams
|
||
class Condition < Stripe::RequestParams
|
||
# The type of condition.
|
||
attr_accessor :type
|
||
|
||
def initialize(type: nil)
|
||
@type = type
|
||
end
|
||
end
|
||
# List of conditions. When any condition is true, the update will be scheduled at the end of the current period.
|
||
attr_accessor :conditions
|
||
|
||
def initialize(conditions: nil)
|
||
@conditions = conditions
|
||
end
|
||
end
|
||
# The types of subscription updates that are supported. When empty, subscriptions are not updateable.
|
||
attr_accessor :default_allowed_updates
|
||
# Whether the feature is enabled.
|
||
attr_accessor :enabled
|
||
# The list of up to 10 products that support subscription updates.
|
||
attr_accessor :products
|
||
# Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`.
|
||
attr_accessor :proration_behavior
|
||
# Setting to control when an update should be scheduled at the end of the period instead of applying immediately.
|
||
attr_accessor :schedule_at_period_end
|
||
# The behavior when updating a subscription that is trialing.
|
||
attr_accessor :trial_update_behavior
|
||
|
||
def initialize(
|
||
default_allowed_updates: nil,
|
||
enabled: nil,
|
||
products: nil,
|
||
proration_behavior: nil,
|
||
schedule_at_period_end: nil,
|
||
trial_update_behavior: nil
|
||
)
|
||
@default_allowed_updates = default_allowed_updates
|
||
@enabled = enabled
|
||
@products = products
|
||
@proration_behavior = proration_behavior
|
||
@schedule_at_period_end = schedule_at_period_end
|
||
@trial_update_behavior = trial_update_behavior
|
||
end
|
||
end
|
||
# Information about updating the customer details in the portal.
|
||
attr_accessor :customer_update
|
||
# Information about showing the billing history in the portal.
|
||
attr_accessor :invoice_history
|
||
# Information about updating payment methods in the portal.
|
||
attr_accessor :payment_method_update
|
||
# Information about canceling subscriptions in the portal.
|
||
attr_accessor :subscription_cancel
|
||
# Information about updating subscriptions in the portal.
|
||
attr_accessor :subscription_update
|
||
|
||
def initialize(
|
||
customer_update: nil,
|
||
invoice_history: nil,
|
||
payment_method_update: nil,
|
||
subscription_cancel: nil,
|
||
subscription_update: nil
|
||
)
|
||
@customer_update = customer_update
|
||
@invoice_history = invoice_history
|
||
@payment_method_update = payment_method_update
|
||
@subscription_cancel = subscription_cancel
|
||
@subscription_update = subscription_update
|
||
end
|
||
end
|
||
|
||
class LoginPage < Stripe::RequestParams
|
||
# Set to `true` to generate a shareable URL [`login_page.url`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-login_page-url) that will take your customers to a hosted login page for the customer portal.
|
||
#
|
||
# Set to `false` to deactivate the `login_page.url`.
|
||
attr_accessor :enabled
|
||
|
||
def initialize(enabled: nil)
|
||
@enabled = enabled
|
||
end
|
||
end
|
||
# Whether the configuration is active and can be used to create portal sessions.
|
||
attr_accessor :active
|
||
# The business information shown to customers in the portal.
|
||
attr_accessor :business_profile
|
||
# The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
|
||
attr_accessor :default_return_url
|
||
# Specifies which fields in the response should be expanded.
|
||
attr_accessor :expand
|
||
# Information about the features available in the portal.
|
||
attr_accessor :features
|
||
# The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share).
|
||
attr_accessor :login_page
|
||
# Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
|
||
attr_accessor :metadata
|
||
# The name of the configuration.
|
||
attr_accessor :name
|
||
|
||
def initialize(
|
||
active: nil,
|
||
business_profile: nil,
|
||
default_return_url: nil,
|
||
expand: nil,
|
||
features: nil,
|
||
login_page: nil,
|
||
metadata: nil,
|
||
name: nil
|
||
)
|
||
@active = active
|
||
@business_profile = business_profile
|
||
@default_return_url = default_return_url
|
||
@expand = expand
|
||
@features = features
|
||
@login_page = login_page
|
||
@metadata = metadata
|
||
@name = name
|
||
end
|
||
end
|
||
# Whether the configuration is active and can be used to create portal sessions.
|
||
attr_reader :active
|
||
# ID of the Connect Application that created the configuration.
|
||
attr_reader :application
|
||
# Attribute for field business_profile
|
||
attr_reader :business_profile
|
||
# Time at which the object was created. Measured in seconds since the Unix epoch.
|
||
attr_reader :created
|
||
# The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.
|
||
attr_reader :default_return_url
|
||
# Attribute for field features
|
||
attr_reader :features
|
||
# Unique identifier for the object.
|
||
attr_reader :id
|
||
# Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session.
|
||
attr_reader :is_default
|
||
# Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
|
||
attr_reader :livemode
|
||
# Attribute for field login_page
|
||
attr_reader :login_page
|
||
# Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
|
||
attr_reader :metadata
|
||
# The name of the configuration.
|
||
attr_reader :name
|
||
# String representing the object's type. Objects of the same type share the same value.
|
||
attr_reader :object
|
||
# Time at which the object was last updated. Measured in seconds since the Unix epoch.
|
||
attr_reader :updated
|
||
|
||
# Creates a configuration that describes the functionality and behavior of a PortalSession
|
||
def self.create(params = {}, opts = {})
|
||
request_stripe_object(
|
||
method: :post,
|
||
path: "/v1/billing_portal/configurations",
|
||
params: params,
|
||
opts: opts
|
||
)
|
||
end
|
||
|
||
# Returns a list of configurations that describe the functionality of the customer portal.
|
||
def self.list(params = {}, opts = {})
|
||
request_stripe_object(
|
||
method: :get,
|
||
path: "/v1/billing_portal/configurations",
|
||
params: params,
|
||
opts: opts
|
||
)
|
||
end
|
||
|
||
# Updates a configuration that describes the functionality of the customer portal.
|
||
def self.update(configuration, params = {}, opts = {})
|
||
request_stripe_object(
|
||
method: :post,
|
||
path: format("/v1/billing_portal/configurations/%<configuration>s", { configuration: CGI.escape(configuration) }),
|
||
params: params,
|
||
opts: opts
|
||
)
|
||
end
|
||
end
|
||
end
|
||
end
|