Class: Stripe::SubscriptionScheduleUpdateParams

Inherits:
RequestParams show all
Defined in:
lib/stripe/params/subscription_schedule_update_params.rb

Defined Under Namespace

Classes: DefaultSettings, Phase

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RequestParams

attr_accessor, coerce_params, coerce_value, new, #to_h

Constructor Details

#initialize(default_settings: nil, end_behavior: nil, expand: nil, metadata: nil, phases: nil, proration_behavior: nil) ⇒ SubscriptionScheduleUpdateParams

Returns a new instance of SubscriptionScheduleUpdateParams.



645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 645

def initialize(
  default_settings: nil,
  end_behavior: nil,
  expand: nil,
  metadata: nil,
  phases: nil,
  proration_behavior: nil
)
  @default_settings = default_settings
  @end_behavior = end_behavior
  @expand = expand
  @metadata = 
  @phases = phases
  @proration_behavior = proration_behavior
end

Instance Attribute Details

#default_settingsObject

Object representing the subscription schedule's default settings.



633
634
635
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 633

def default_settings
  @default_settings
end

#end_behaviorObject

Behavior of the subscription schedule and underlying subscription when it ends. Possible values are release or cancel with the default being release. release will end the subscription schedule and keep the underlying subscription running. cancel will end the subscription schedule and cancel the underlying subscription.



635
636
637
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 635

def end_behavior
  @end_behavior
end

#expandObject

Specifies which fields in the response should be expanded.



637
638
639
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 637

def expand
  @expand
end

#metadataObject

Set of key-value pairs 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.



639
640
641
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 639

def 
  @metadata
end

#phasesObject

List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the end_date of one phase will always equal the start_date of the next phase. Note that past phases can be omitted.



641
642
643
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 641

def phases
  @phases
end

#proration_behaviorObject

If the update changes the billing configuration (item price, quantity, etc.) of the current phase, indicates how prorations from this change should be handled. The default value is create_prorations.



643
644
645
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 643

def proration_behavior
  @proration_behavior
end

Class Method Details

.field_encodingsObject



661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
# File 'lib/stripe/params/subscription_schedule_update_params.rb', line 661

def self.field_encodings
  @field_encodings = {
    phases: {
      kind: :array,
      element: {
        kind: :object,
        fields: {
          add_invoice_items: {
            kind: :array,
            element: {
              kind: :object,
              fields: {
                price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
              },
            },
          },
          items: {
            kind: :array,
            element: {
              kind: :object,
              fields: {
                price_data: { kind: :object, fields: { unit_amount_decimal: :decimal_string } },
              },
            },
          },
        },
      },
    },
  }
end