Class: Stripe::SubscriptionItemService

Inherits:
StripeService show all
Defined in:
lib/stripe/services/subscription_item_service.rb

Instance Method Summary collapse

Methods inherited from StripeService

#initialize, #request, #request_stream

Constructor Details

This class inherits a constructor from Stripe::StripeService

Instance Method Details

#create(params = {}, opts = {}) ⇒ Object

Adds a new item to an existing subscription. No existing items will be changed or replaced.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/stripe/services/subscription_item_service.rb', line 7

def create(params = {}, opts = {})
  params = ::Stripe::SubscriptionItemCreateParams.coerce_params(params) unless params.is_a?(Stripe::RequestParams)

  request(
    method: :post,
    path: "/v1/subscription_items",
    params: params,
    opts: opts,
    base_address: :api
  )
end

#delete(item, params = {}, opts = {}) ⇒ Object

Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.



20
21
22
23
24
25
26
27
28
# File 'lib/stripe/services/subscription_item_service.rb', line 20

def delete(item, params = {}, opts = {})
  request(
    method: :delete,
    path: format("/v1/subscription_items/%<item>s", { item: CGI.escape(item) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#list(params = {}, opts = {}) ⇒ Object

Returns a list of your subscription items for a given subscription.



31
32
33
34
35
36
37
38
39
# File 'lib/stripe/services/subscription_item_service.rb', line 31

def list(params = {}, opts = {})
  request(
    method: :get,
    path: "/v1/subscription_items",
    params: params,
    opts: opts,
    base_address: :api
  )
end

#retrieve(item, params = {}, opts = {}) ⇒ Object

Retrieves the subscription item with the given ID.



42
43
44
45
46
47
48
49
50
# File 'lib/stripe/services/subscription_item_service.rb', line 42

def retrieve(item, params = {}, opts = {})
  request(
    method: :get,
    path: format("/v1/subscription_items/%<item>s", { item: CGI.escape(item) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end

#update(item, params = {}, opts = {}) ⇒ Object

Updates the plan or quantity of an item on a current subscription.



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/stripe/services/subscription_item_service.rb', line 53

def update(item, params = {}, opts = {})
  params = ::Stripe::SubscriptionItemUpdateParams.coerce_params(params) unless params.is_a?(Stripe::RequestParams)

  request(
    method: :post,
    path: format("/v1/subscription_items/%<item>s", { item: CGI.escape(item) }),
    params: params,
    opts: opts,
    base_address: :api
  )
end