Class: Orb::Models::Subscription
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Orb::Models::Subscription
- Defined in:
- lib/orb/models/subscription.rb,
sig/orb/models/subscription.rbs
Overview
Defined Under Namespace
Modules: DiscountInterval, Status
Constant Summary collapse
- Orb =
Instance Attribute Summary collapse
-
#active_plan_phase_order ⇒ Integer?
The current plan phase that is active, only if the subscription's plan has phases.
-
#adjustment_intervals ⇒ Array<Orb::Models::AdjustmentInterval>
The adjustment intervals for this subscription sorted by the start_date of the adjustment interval.
-
#auto_collection ⇒ Boolean?
Determines whether issued invoices for this subscription will automatically be charged with the saved payment method on the due date.
-
#auto_issuance ⇒ Boolean?
Determines whether invoices for this subscription will be automatically issued.
- #billing_cycle_anchor_configuration ⇒ Orb::Models::BillingCycleAnchorConfiguration
-
#billing_cycle_day ⇒ Integer
The day of the month on which the billing cycle is anchored.
- #created_at ⇒ Time
-
#current_billing_period_end_date ⇒ Time?
The end of the current billing period.
-
#current_billing_period_start_date ⇒ Time?
The start date of the current billing period.
-
#customer ⇒ Orb::Models::Customer
A customer is a buyer of your products, and the other party to the billing relationship.
-
#default_invoice_memo ⇒ String?
Determines the default memo on this subscriptions' invoices.
- #discount_intervals ⇒ Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::Subscription::DiscountInterval::TieredPercentage> deprecated Deprecated.
-
#end_date ⇒ Time?
The date Orb stops billing for this subscription.
- #fixed_fee_quantity_schedule ⇒ Array<Orb::Models::FixedFeeQuantityScheduleEntry>
- #id ⇒ String
- #invoicing_threshold ⇒ String?
- #maximum_intervals ⇒ Array<Orb::Models::MaximumInterval> deprecated Deprecated.
-
#metadata ⇒ Hash{Symbol=>String}
User specified key-value pairs for the resource.
- #minimum_intervals ⇒ Array<Orb::Models::MinimumInterval> deprecated Deprecated.
-
#name ⇒ String
The name of the subscription.
-
#net_terms ⇒ Integer
Determines the difference between the invoice issue date for subscription invoices as the date that they are due.
-
#pending_subscription_change ⇒ Orb::Models::SubscriptionChangeMinified?
A pending subscription change if one exists on this subscription.
-
#plan ⇒ Orb::Models::Plan?
The Plan resource represents a plan that can be subscribed to by a customer.
-
#price_intervals ⇒ Array<Orb::Models::PriceInterval>
The price intervals for this subscription.
- #redeemed_coupon ⇒ Orb::Models::CouponRedemption?
-
#start_date ⇒ Time
The date Orb starts billing for this subscription.
- #status ⇒ Symbol, Orb::Models::Subscription::Status
- #trial_info ⇒ Orb::Models::SubscriptionTrialInfo
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(lower_bound:, percentage:, upper_bound: nil) ⇒ Object
constructor
Some parameter documentations has been truncated, see DiscountInterval::TieredPercentage::Tier for more details.
- #to_hash ⇒ {
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(lower_bound:, percentage:, upper_bound: nil) ⇒ Object
Some parameter documentations has been truncated, see Orb::Models::Subscription::DiscountInterval::TieredPercentage::Tier for more details.
One band of a tiered percentage discount. Bounds are denominated in the
discount's currency. lower_bound is the exclusive start of the band and
upper_bound is the inclusive end; upper_bound is null only for the
open-ended final tier.
|
|
# File 'lib/orb/models/subscription.rb', line 445
|
Instance Attribute Details
#active_plan_phase_order ⇒ Integer?
The current plan phase that is active, only if the subscription's plan has phases.
17 |
# File 'lib/orb/models/subscription.rb', line 17 required :active_plan_phase_order, Integer, nil?: true |
#adjustment_intervals ⇒ Array<Orb::Models::AdjustmentInterval>
The adjustment intervals for this subscription sorted by the start_date of the adjustment interval.
24 |
# File 'lib/orb/models/subscription.rb', line 24 required :adjustment_intervals, -> { Orb::Internal::Type::ArrayOf[Orb::AdjustmentInterval] } |
#auto_collection ⇒ Boolean?
Determines whether issued invoices for this subscription will automatically be charged with the saved payment method on the due date. This property defaults to the plan's behavior. If null, defaults to the customer's setting.
32 |
# File 'lib/orb/models/subscription.rb', line 32 required :auto_collection, Orb::Internal::Type::Boolean, nil?: true |
#auto_issuance ⇒ Boolean?
Determines whether invoices for this subscription will be automatically issued. This resolves the effective setting for the subscription: a subscription-level override if set, otherwise the customer-level setting, otherwise the account-level default.
41 |
# File 'lib/orb/models/subscription.rb', line 41 required :auto_issuance, Orb::Internal::Type::Boolean, nil?: true |
#billing_cycle_anchor_configuration ⇒ Orb::Models::BillingCycleAnchorConfiguration
46 |
# File 'lib/orb/models/subscription.rb', line 46 required :billing_cycle_anchor_configuration, -> { Orb::BillingCycleAnchorConfiguration } |
#billing_cycle_day ⇒ Integer
The day of the month on which the billing cycle is anchored. If the maximum number of days in a month is greater than this value, the last day of the month is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing period begins on the 30th.
55 |
# File 'lib/orb/models/subscription.rb', line 55 required :billing_cycle_day, Integer |
#created_at ⇒ Time
60 |
# File 'lib/orb/models/subscription.rb', line 60 required :created_at, Time |
#current_billing_period_end_date ⇒ Time?
The end of the current billing period. This is an exclusive timestamp, such that the instant returned is not part of the billing period. Set to null for subscriptions that are not currently active.
68 |
# File 'lib/orb/models/subscription.rb', line 68 required :current_billing_period_end_date, Time, nil?: true |
#current_billing_period_start_date ⇒ Time?
The start date of the current billing period. This is an inclusive timestamp; the instant returned is exactly the beginning of the billing period. Set to null if the subscription is not currently active.
76 |
# File 'lib/orb/models/subscription.rb', line 76 required :current_billing_period_start_date, Time, nil?: true |
#customer ⇒ Orb::Models::Customer
A customer is a buyer of your products, and the other party to the billing relationship.
In Orb, customers are assigned system generated identifiers automatically, but
it's often desirable to have these match existing identifiers in your system. To
avoid having to denormalize Orb ID information, you can pass in an
external_customer_id with your own identifier. See
Customer ID Aliases for further
information about how these aliases work in Orb.
In addition to having an identifier in your system, a customer may exist in a
payment provider solution like Stripe. Use the payment_provider_id and the
payment_provider enum field to express this mapping.
A customer also has a timezone (from the standard IANA timezone database), which defaults to your account's timezone. See Timezone localization for information on what this timezone parameter influences within Orb.
99 |
# File 'lib/orb/models/subscription.rb', line 99 required :customer, -> { Orb::Customer } |
#default_invoice_memo ⇒ String?
Determines the default memo on this subscriptions' invoices. Note that if this is not provided, it is determined by the plan configuration.
106 |
# File 'lib/orb/models/subscription.rb', line 106 required :default_invoice_memo, String, nil?: true |
#discount_intervals ⇒ Array<Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::Subscription::DiscountInterval::TieredPercentage>
The discount intervals for this subscription sorted by the start_date. This
field is deprecated in favor of adjustment_intervals.
115 116 |
# File 'lib/orb/models/subscription.rb', line 115 required :discount_intervals, -> { Orb::Internal::Type::ArrayOf[union: Orb::Subscription::DiscountInterval] } |
#end_date ⇒ Time?
The date Orb stops billing for this subscription.
122 |
# File 'lib/orb/models/subscription.rb', line 122 required :end_date, Time, nil?: true |
#fixed_fee_quantity_schedule ⇒ Array<Orb::Models::FixedFeeQuantityScheduleEntry>
127 128 |
# File 'lib/orb/models/subscription.rb', line 127 required :fixed_fee_quantity_schedule, -> { Orb::Internal::Type::ArrayOf[Orb::FixedFeeQuantityScheduleEntry] } |
#id ⇒ String
10 |
# File 'lib/orb/models/subscription.rb', line 10 required :id, String |
#invoicing_threshold ⇒ String?
133 |
# File 'lib/orb/models/subscription.rb', line 133 required :invoicing_threshold, String, nil?: true |
#maximum_intervals ⇒ Array<Orb::Models::MaximumInterval>
The maximum intervals for this subscription sorted by the start_date. This field
is deprecated in favor of adjustment_intervals.
142 |
# File 'lib/orb/models/subscription.rb', line 142 required :maximum_intervals, -> { Orb::Internal::Type::ArrayOf[Orb::MaximumInterval] } |
#metadata ⇒ Hash{Symbol=>String}
User specified key-value pairs for the resource. If not present, this defaults
to an empty dictionary. Individual keys can be removed by setting the value to
null, and the entire metadata mapping can be cleared by setting metadata to
null.
151 |
# File 'lib/orb/models/subscription.rb', line 151 required :metadata, Orb::Internal::Type::HashOf[String] |
#minimum_intervals ⇒ Array<Orb::Models::MinimumInterval>
The minimum intervals for this subscription sorted by the start_date. This field
is deprecated in favor of adjustment_intervals.
160 |
# File 'lib/orb/models/subscription.rb', line 160 required :minimum_intervals, -> { Orb::Internal::Type::ArrayOf[Orb::MinimumInterval] } |
#name ⇒ String
The name of the subscription.
166 |
# File 'lib/orb/models/subscription.rb', line 166 required :name, String |
#net_terms ⇒ Integer
Determines the difference between the invoice issue date for subscription
invoices as the date that they are due. A value of 0 here represents that the
invoice is due on issue, whereas a value of 30 represents that the customer
has a month to pay the invoice.
175 |
# File 'lib/orb/models/subscription.rb', line 175 required :net_terms, Integer |
#pending_subscription_change ⇒ Orb::Models::SubscriptionChangeMinified?
A pending subscription change if one exists on this subscription.
181 |
# File 'lib/orb/models/subscription.rb', line 181 required :pending_subscription_change, -> { Orb::SubscriptionChangeMinified }, nil?: true |
#plan ⇒ Orb::Models::Plan?
The Plan resource represents a plan that can be subscribed to by a customer. Plans define the billing behavior of the subscription. You can see more about how to configure prices in the Price resource.
190 |
# File 'lib/orb/models/subscription.rb', line 190 required :plan, -> { Orb::Plan }, nil?: true |
#price_intervals ⇒ Array<Orb::Models::PriceInterval>
The price intervals for this subscription.
196 |
# File 'lib/orb/models/subscription.rb', line 196 required :price_intervals, -> { Orb::Internal::Type::ArrayOf[Orb::PriceInterval] } |
#redeemed_coupon ⇒ Orb::Models::CouponRedemption?
201 |
# File 'lib/orb/models/subscription.rb', line 201 required :redeemed_coupon, -> { Orb::CouponRedemption }, nil?: true |
#start_date ⇒ Time
The date Orb starts billing for this subscription.
207 |
# File 'lib/orb/models/subscription.rb', line 207 required :start_date, Time |
#status ⇒ Symbol, Orb::Models::Subscription::Status
212 |
# File 'lib/orb/models/subscription.rb', line 212 required :status, enum: -> { Orb::Subscription::Status } |
#trial_info ⇒ Orb::Models::SubscriptionTrialInfo
217 |
# File 'lib/orb/models/subscription.rb', line 217 required :trial_info, -> { Orb::SubscriptionTrialInfo } |
Class Method Details
.variants ⇒ Array(Orb::Models::AmountDiscountInterval, Orb::Models::PercentageDiscountInterval, Orb::Models::UsageDiscountInterval, Orb::Models::Subscription::DiscountInterval::TieredPercentage)
|
|
# File 'lib/orb/models/subscription.rb', line 463
|
Instance Method Details
#to_hash ⇒ {
123 |
# File 'sig/orb/models/subscription.rbs', line 123
def to_hash: -> {
|