mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
83 lines
2.7 KiB
Ruby
83 lines
2.7 KiB
Ruby
# File generated from our OpenAPI spec
|
|
# frozen_string_literal: true
|
|
|
|
module Stripe
|
|
# Subscriptions allow you to charge a customer on a recurring basis.
|
|
#
|
|
# Related guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating).
|
|
class Subscription < APIResource
|
|
extend Stripe::APIOperations::Create
|
|
extend Stripe::APIOperations::List
|
|
extend Stripe::APIOperations::Search
|
|
include Stripe::APIOperations::Save
|
|
|
|
OBJECT_NAME = 'subscription'
|
|
|
|
def cancel(params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s', {:subscription_exposed_id => CGI.escape(self["id"])}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
def delete_discount(params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s/discount', {:subscription_exposed_id => CGI.escape(self["id"])}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
def self.cancel(subscription_exposed_id, params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s', {:subscription_exposed_id => CGI.escape(subscription_exposed_id)}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
def self.delete_discount(subscription_exposed_id, params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s/discount', {:subscription_exposed_id => CGI.escape(subscription_exposed_id)}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
|
|
save_nested_resource :source
|
|
def delete(params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s', {:subscription_exposed_id => CGI.escape(self["id"])}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
|
|
def self.delete(subscription_exposed_id, params = {}, opts = {})
|
|
request_stripe_object(
|
|
method: :delete,
|
|
path: format('/v1/subscriptions/%<subscription_exposed_id>s', {:subscription_exposed_id => CGI.escape(subscription_exposed_id)}),
|
|
params: params,
|
|
opts: opts,
|
|
)
|
|
end
|
|
|
|
extend Gem::Deprecate
|
|
deprecate :delete, "Stripe::Subscription.cancel", 2022, 7
|
|
|
|
class << self
|
|
extend Gem::Deprecate
|
|
deprecate :delete, "Stripe::Subscription#cancel", 2022, 7
|
|
end
|
|
|
|
def self.search(params = {}, opts = {})
|
|
_search('/v1/subscriptions/search', params, opts)
|
|
end
|
|
def self.search_auto_paging_each(params = {}, opts = {}, &blk)
|
|
search(params, opts).auto_paging_each(&blk)
|
|
end
|
|
end
|
|
end |