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](docs.stripe.com/billing/subscriptions/subscription-schedules)
Defined Under Namespace
Classes: BillingMode, CurrentPhase, DefaultSettings, Phase
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_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.
-
#livemode ⇒ Object
readonly
Has the value
trueif the object exists in live mode or the valuefalseif the object exists in test mode. -
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/api/metadata) 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.
-
#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
-
.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
-
#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?, #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.
493 494 495 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 493 def application @application end |
#billing_mode ⇒ Object (readonly)
The billing mode of the subscription.
495 496 497 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 495 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.
497 498 499 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 497 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.
499 500 501 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 499 def completed_at @completed_at end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
501 502 503 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 501 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.
503 504 505 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 503 def current_phase @current_phase end |
#customer ⇒ Object (readonly)
ID of the customer who owns the subscription schedule.
505 506 507 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 505 def customer @customer end |
#customer_account ⇒ Object (readonly)
ID of the account who owns the subscription schedule.
507 508 509 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 507 def customer_account @customer_account end |
#default_settings ⇒ Object (readonly)
Attribute for field default_settings
509 510 511 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 509 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.
511 512 513 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 511 def end_behavior @end_behavior end |
#id ⇒ Object (readonly)
Unique identifier for the object.
513 514 515 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 513 def id @id end |
#livemode ⇒ Object (readonly)
Has the value true if the object exists in live mode or the value false if the object exists in test mode.
515 516 517 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 515 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
517 518 519 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 517 def end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
519 520 521 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 519 def object @object end |
#phases ⇒ Object (readonly)
Configuration for the subscription schedule’s phases.
521 522 523 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 521 def phases @phases end |
#released_at ⇒ Object (readonly)
Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.
523 524 525 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 523 def released_at @released_at end |
#released_subscription ⇒ Object (readonly)
ID of the subscription once managed by the subscription schedule (if it is released).
525 526 527 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 525 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](docs.stripe.com/billing/subscriptions/subscription-schedules).
527 528 529 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 527 def status @status end |
#subscription ⇒ Object (readonly)
ID of the subscription managed by the subscription schedule.
529 530 531 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 529 def subscription @subscription end |
#test_clock ⇒ Object (readonly)
ID of the test clock this subscription schedule belongs to.
531 532 533 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 531 def test_clock @test_clock end |
Class Method Details
.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.
544 545 546 547 548 549 550 551 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 544 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.
554 555 556 557 558 559 560 561 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 554 def self.create(params = {}, opts = {}) request_stripe_object( method: :post, path: "/v1/subscription_schedules", params: params, opts: opts ) end |
.field_remappings ⇒ Object
612 613 614 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 612 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
603 604 605 606 607 608 609 610 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 603 def self.inner_class_types @inner_class_types = { billing_mode: BillingMode, current_phase: CurrentPhase, default_settings: DefaultSettings, phases: Phase, } end |
.list(params = {}, opts = {}) ⇒ Object
Retrieves the list of your subscription schedules.
564 565 566 567 568 569 570 571 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 564 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.
584 585 586 587 588 589 590 591 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 584 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.
594 595 596 597 598 599 600 601 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 594 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
#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.
534 535 536 537 538 539 540 541 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 534 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.
574 575 576 577 578 579 580 581 |
# File 'lib/stripe/resources/subscription_schedule.rb', line 574 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 |