Class: Stripe::SubscriptionItemService

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

Defined Under Namespace

Classes: CreateParams, DeleteParams, ListParams, RetrieveParams, UpdateParams

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from StripeService

#request, #request_stream

Constructor Details

#initialize(requestor) ⇒ SubscriptionItemService

Returns a new instance of SubscriptionItemService.



8
9
10
11
12
# File 'lib/stripe/services/subscription_item_service.rb', line 8

def initialize(requestor)
  super(requestor)
  @usage_records = Stripe::SubscriptionItemUsageRecordService.new(@requestor)
  @usage_record_summaries = Stripe::SubscriptionItemUsageRecordSummaryService.new(@requestor)
end

Instance Attribute Details

#usage_record_summariesObject (readonly)

Returns the value of attribute usage_record_summaries.



6
7
8
# File 'lib/stripe/services/subscription_item_service.rb', line 6

def usage_record_summaries
  @usage_record_summaries
end

#usage_recordsObject (readonly)

Returns the value of attribute usage_records.



6
7
8
# File 'lib/stripe/services/subscription_item_service.rb', line 6

def usage_records
  @usage_records
end

Instance Method Details

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

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



454
455
456
457
458
459
460
461
462
# File 'lib/stripe/services/subscription_item_service.rb', line 454

def create(params = {}, opts = {})
  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.



465
466
467
468
469
470
471
472
473
# File 'lib/stripe/services/subscription_item_service.rb', line 465

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.



476
477
478
479
480
481
482
483
484
# File 'lib/stripe/services/subscription_item_service.rb', line 476

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.



487
488
489
490
491
492
493
494
495
# File 'lib/stripe/services/subscription_item_service.rb', line 487

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.



498
499
500
501
502
503
504
505
506
# File 'lib/stripe/services/subscription_item_service.rb', line 498

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