Class: Stripe::V2::Billing::PricingPlanSubscription

Inherits:
APIResource show all
Defined in:
lib/stripe/resources/v2/billing/pricing_plan_subscription.rb

Overview

A Pricing Plan Subscription represents a customer’s active subscription to a Pricing Plan. It tracks both the servicing status (whether the customer is receiving service) and collection status (whether payments are current). Subscriptions are created through Billing Intents and bill according to the associated Billing Cadence.

Defined Under Namespace

Classes: CancellationDetails, CollectionStatusTransitions, DiscountDetail, PricingPlanComponentDetail, ServicingStatusTransitions

Constant Summary collapse

OBJECT_NAME =
"v2.billing.pricing_plan_subscription"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Methods inherited from APIResource

class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource

Methods included from APIOperations::Request

included

Methods inherited from StripeObject

#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Stripe::StripeObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject

Instance Attribute Details

#billing_cadenceObject (readonly)

The ID of the Billing Cadence this subscription is billed on.



615
616
617
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 615

def billing_cadence
  @billing_cadence
end

#cancellation_detailsObject (readonly)

Details about why the subscription was canceled, if applicable. Includes system-generated reason.



617
618
619
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 617

def cancellation_details
  @cancellation_details
end

#collection_statusObject (readonly)

Current collection status of this subscription.



619
620
621
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 619

def collection_status
  @collection_status
end

#collection_status_transitionsObject (readonly)

Timestamps for collection status transitions.



621
622
623
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 621

def collection_status_transitions
  @collection_status_transitions
end

#createdObject (readonly)

Time at which the object was created.



623
624
625
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 623

def created
  @created
end

#discount_detailsObject (readonly)

Details about Discounts applied to this subscription.



625
626
627
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 625

def discount_details
  @discount_details
end

#idObject (readonly)

Unique identifier for the object.



627
628
629
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 627

def id
  @id
end

#livemodeObject (readonly)

Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.



645
646
647
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 645

def livemode
  @livemode
end

#metadataObject (readonly)

Set of [key-value pairs](/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.



629
630
631
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 629

def 
  @metadata
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value of the object field.



631
632
633
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 631

def object
  @object
end

#pricing_planObject (readonly)

The ID of the Pricing Plan for this subscription.



633
634
635
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 633

def pricing_plan
  @pricing_plan
end

#pricing_plan_component_detailsObject (readonly)

Pricing plan component details for the subscription, populated when pricing_plan_component_details is included.



635
636
637
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 635

def pricing_plan_component_details
  @pricing_plan_component_details
end

#pricing_plan_versionObject (readonly)

The ID of the Pricing Plan Version for this subscription.



637
638
639
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 637

def pricing_plan_version
  @pricing_plan_version
end

#servicing_statusObject (readonly)

Current servicing status of this subscription.



639
640
641
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 639

def servicing_status
  @servicing_status
end

#servicing_status_transitionsObject (readonly)

Timestamps for servicing status transitions.



641
642
643
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 641

def servicing_status_transitions
  @servicing_status_transitions
end

#test_clockObject (readonly)

The ID of the Test Clock of the associated Billing Cadence, if any.



643
644
645
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 643

def test_clock
  @test_clock
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
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 661

def self.field_encodings
  @field_encodings = {
    pricing_plan_component_details: {
      kind: :array,
      element: {
        kind: :object,
        fields: {
          license_fee_details: {
            kind: :object,
            fields: {
              tiers: {
                kind: :array,
                element: { kind: :object, fields: { up_to_decimal: :decimal_string } },
              },
              transform_quantity: { kind: :object, fields: { divide_by: :int64_string } },
            },
          },
          recurring_credit_grant_details: {
            kind: :object,
            fields: {
              credit_grant_details: {
                kind: :object,
                fields: {
                  amount: {
                    kind: :object,
                    fields: {
                      custom_pricing_unit: {
                        kind: :object,
                        fields: { value: :decimal_string },
                      },
                    },
                  },
                },
              },
              credit_grant_per_tenant_details: {
                kind: :object,
                fields: {
                  amount: {
                    kind: :object,
                    fields: {
                      custom_pricing_unit: {
                        kind: :object,
                        fields: { value: :decimal_string },
                      },
                    },
                  },
                },
              },
            },
          },
        },
      },
    },
  }
end

.field_remappingsObject



657
658
659
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 657

def self.field_remappings
  @field_remappings = {}
end

.inner_class_typesObject



647
648
649
650
651
652
653
654
655
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 647

def self.inner_class_types
  @inner_class_types = {
    cancellation_details: CancellationDetails,
    collection_status_transitions: CollectionStatusTransitions,
    discount_details: DiscountDetail,
    pricing_plan_component_details: PricingPlanComponentDetail,
    servicing_status_transitions: ServicingStatusTransitions,
  }
end

.object_nameObject



12
13
14
# File 'lib/stripe/resources/v2/billing/pricing_plan_subscription.rb', line 12

def self.object_name
  "v2.billing.pricing_plan_subscription"
end