Class: Stripe::SubscriptionSchedule
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::SubscriptionSchedule
- Extended by:
- APIOperations::Create, APIOperations::List
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/subscription_schedule.rb
Overview
A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.
Related guide: Subscription schedules
Defined Under Namespace
Classes: BillingMode, CurrentPhase, DefaultSettings, LastPriceMigrationError, Phase, Prebilling
Constant Summary collapse
- OBJECT_NAME =
"subscription_schedule"
Constants inherited from StripeObject
Stripe::StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#application ⇒ Object
readonly
ID of the Connect Application that created the schedule.
-
#billing_behavior ⇒ Object
readonly
Configures when the subscription schedule generates prorations for phase transitions.
-
#billing_mode ⇒ Object
readonly
The billing mode of the subscription.
-
#canceled_at ⇒ Object
readonly
Time at which the subscription schedule was canceled.
-
#completed_at ⇒ Object
readonly
Time at which the subscription schedule was completed.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#current_phase ⇒ Object
readonly
Object representing the start and end dates for the current phase of the subscription schedule, if it is
active. -
#customer ⇒ Object
readonly
ID of the customer who owns the subscription schedule.
-
#customer_account ⇒ Object
readonly
ID of the account who owns the subscription schedule.
-
#default_settings ⇒ Object
readonly
Attribute for field default_settings.
-
#end_behavior ⇒ Object
readonly
Behavior of the subscription schedule and underlying subscription when it ends.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#last_price_migration_error ⇒ Object
readonly
Details of the most recent price migration that failed for the subscription schedule.
-
#livemode ⇒ Object
readonly
If the object exists in live mode, the value is
true. -
#metadata ⇒ Object
readonly
Set of key-value pairs that you can attach to an object.
-
#object ⇒ Object
readonly
String representing the object's type.
-
#phases ⇒ Object
readonly
Configuration for the subscription schedule's phases.
-
#prebilling ⇒ Object
readonly
Time period and invoice for a Subscription billed in advance.
-
#released_at ⇒ Object
readonly
Time at which the subscription schedule was released.
-
#released_subscription ⇒ Object
readonly
ID of the subscription once managed by the subscription schedule (if it is released).
-
#status ⇒ Object
readonly
The present status of the subscription schedule.
-
#subscription ⇒ Object
readonly
ID of the subscription managed by the subscription schedule.
-
#test_clock ⇒ Object
readonly
ID of the test clock this subscription schedule belongs to.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.amend(schedule, params = {}, opts = {}) ⇒ Object
Amends an existing subscription schedule.
-
.cancel(schedule, params = {}, opts = {}) ⇒ Object
Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription).
-
.create(params = {}, opts = {}) ⇒ Object
Creates a new subscription schedule object.
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
-
.list(params = {}, opts = {}) ⇒ Object
Retrieves the list of your subscription schedules.
- .object_name ⇒ Object
-
.release(schedule, params = {}, opts = {}) ⇒ Object
Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place.
-
.update(schedule, params = {}, opts = {}) ⇒ Object
Updates an existing subscription schedule.
Instance Method Summary collapse
-
#amend(params = {}, opts = {}) ⇒ Object
Amends an existing subscription schedule.
-
#cancel(params = {}, opts = {}) ⇒ Object
Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription).
-
#release(params = {}, opts = {}) ⇒ Object
Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place.
Methods included from APIOperations::Create
Methods included from APIOperations::List
Methods included from APIOperations::Save
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
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, field_encodings, #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
#application ⇒ Object (readonly)
ID of the Connect Application that created the schedule.
706 707 708 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 706 def application @application end |
#billing_behavior ⇒ Object (readonly)
Configures when the subscription schedule generates prorations for phase transitions. Possible values are prorate_on_next_phase or prorate_up_front with the default being prorate_on_next_phase. prorate_on_next_phase will apply phase changes and generate prorations at transition time. prorate_up_front will bill for all phases within the current billing cycle up front.
708 709 710 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 708 def billing_behavior @billing_behavior end |
#billing_mode ⇒ Object (readonly)
The billing mode of the subscription.
710 711 712 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 710 def billing_mode @billing_mode end |
#canceled_at ⇒ Object (readonly)
Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch.
712 713 714 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 712 def canceled_at @canceled_at end |
#completed_at ⇒ Object (readonly)
Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch.
714 715 716 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 714 def completed_at @completed_at end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
716 717 718 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 716 def created @created end |
#current_phase ⇒ Object (readonly)
Object representing the start and end dates for the current phase of the subscription schedule, if it is active.
718 719 720 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 718 def current_phase @current_phase end |
#customer ⇒ Object (readonly)
ID of the customer who owns the subscription schedule.
720 721 722 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 720 def customer @customer end |
#customer_account ⇒ Object (readonly)
ID of the account who owns the subscription schedule.
722 723 724 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 722 def customer_account @customer_account end |
#default_settings ⇒ Object (readonly)
Attribute for field default_settings
724 725 726 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 724 def default_settings @default_settings end |
#end_behavior ⇒ Object (readonly)
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.
726 727 728 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 726 def end_behavior @end_behavior end |
#id ⇒ Object (readonly)
Unique identifier for the object.
728 729 730 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 728 def id @id end |
#last_price_migration_error ⇒ Object (readonly)
Details of the most recent price migration that failed for the subscription schedule.
730 731 732 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 730 def last_price_migration_error @last_price_migration_error end |
#livemode ⇒ Object (readonly)
If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
732 733 734 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 732 def livemode @livemode end |
#metadata ⇒ Object (readonly)
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.
734 735 736 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 734 def @metadata end |
#object ⇒ Object (readonly)
String representing the object's type. Objects of the same type share the same value.
736 737 738 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 736 def object @object end |
#phases ⇒ Object (readonly)
Configuration for the subscription schedule's phases.
738 739 740 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 738 def phases @phases end |
#prebilling ⇒ Object (readonly)
Time period and invoice for a Subscription billed in advance.
740 741 742 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 740 def prebilling @prebilling end |
#released_at ⇒ Object (readonly)
Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
742 743 744 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 742 def released_at @released_at end |
#released_subscription ⇒ Object (readonly)
ID of the subscription once managed by the subscription schedule (if it is released).
744 745 746 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 744 def released_subscription @released_subscription end |
#status ⇒ Object (readonly)
The present status of the subscription schedule. Possible values are not_started, active, completed, released, and canceled. You can read more about the different states in our behavior guide.
746 747 748 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 746 def status @status end |
#subscription ⇒ Object (readonly)
ID of the subscription managed by the subscription schedule.
748 749 750 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 748 def subscription @subscription end |
#test_clock ⇒ Object (readonly)
ID of the test clock this subscription schedule belongs to.
750 751 752 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 750 def test_clock @test_clock end |
Class Method Details
.amend(schedule, params = {}, opts = {}) ⇒ Object
Amends an existing subscription schedule.
763 764 765 766 767 768 769 770 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 763 def self.amend(schedule, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }), params: params, opts: opts ) end |
.cancel(schedule, params = {}, opts = {}) ⇒ Object
Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
783 784 785 786 787 788 789 790 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 783 def self.cancel(schedule, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/cancel", { schedule: CGI.escape(schedule) }), params: params, opts: opts ) end |
.create(params = {}, opts = {}) ⇒ Object
Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
793 794 795 796 797 798 799 800 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 793 def self.create(params = {}, opts = {}) request_stripe_object( method: :post, path: "/v1/subscription_schedules", params: params, opts: opts ) end |
.field_remappings ⇒ Object
853 854 855 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 853 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
842 843 844 845 846 847 848 849 850 851 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 842 def self.inner_class_types @inner_class_types = { billing_mode: BillingMode, current_phase: CurrentPhase, default_settings: DefaultSettings, last_price_migration_error: LastPriceMigrationError, phases: Phase, prebilling: Prebilling, } end |
.list(params = {}, opts = {}) ⇒ Object
Retrieves the list of your subscription schedules.
803 804 805 806 807 808 809 810 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 803 def self.list(params = {}, opts = {}) request_stripe_object( method: :get, path: "/v1/subscription_schedules", params: params, opts: opts ) end |
.object_name ⇒ Object
14 15 16 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 14 def self.object_name "subscription_schedule" end |
.release(schedule, params = {}, opts = {}) ⇒ Object
Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property.
823 824 825 826 827 828 829 830 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 823 def self.release(schedule, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/release", { schedule: CGI.escape(schedule) }), params: params, opts: opts ) end |
.update(schedule, params = {}, opts = {}) ⇒ Object
Updates an existing subscription schedule.
833 834 835 836 837 838 839 840 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 833 def self.update(schedule, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s", { schedule: CGI.escape(schedule) }), params: params, opts: opts ) end |
Instance Method Details
#amend(params = {}, opts = {}) ⇒ Object
Amends an existing subscription schedule.
753 754 755 756 757 758 759 760 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 753 def amend(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#cancel(params = {}, opts = {}) ⇒ Object
Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
773 774 775 776 777 778 779 780 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 773 def cancel(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/cancel", { schedule: CGI.escape(self["id"]) }), params: params, opts: opts ) end |
#release(params = {}, opts = {}) ⇒ Object
Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property.
813 814 815 816 817 818 819 820 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 813 def release(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/subscription_schedules/%<schedule>s/release", { schedule: CGI.escape(self["id"]) }), params: params, opts: opts ) end |