Class: Stripe::InvoiceCreatePreviewParams::ScheduleDetails

Inherits:
RequestParams
  • Object
show all
Defined in:
lib/stripe/params/invoice_create_preview_params.rb

Defined Under Namespace

Classes: BillingMode, 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(billing_mode: nil, end_behavior: nil, phases: nil, proration_behavior: nil) ⇒ ScheduleDetails

Returns a new instance of ScheduleDetails.



794
795
796
797
798
799
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 794

def initialize(billing_mode: nil, end_behavior: nil, phases: nil, proration_behavior: nil)
  @billing_mode = billing_mode
  @end_behavior = end_behavior
  @phases = phases
  @proration_behavior = proration_behavior
end

Instance Attribute Details

#billing_modeObject

Controls how prorations and invoices for subscriptions are calculated and orchestrated.



786
787
788
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 786

def billing_mode
  @billing_mode
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.



788
789
790
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 788

def end_behavior
  @end_behavior
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.



790
791
792
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 790

def phases
  @phases
end

#proration_behaviorObject

In cases where the schedule_details params update the currently active phase, specifies if and how to prorate at the time of the request.



792
793
794
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 792

def proration_behavior
  @proration_behavior
end

Class Method Details

.field_encodingsObject



801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
# File 'lib/stripe/params/invoice_create_preview_params.rb', line 801

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