Class: Stripe::PlanService

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

Defined Under Namespace

Classes: CreateParams, DeleteParams, ListParams, RetrieveParams, UpdateParams

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

You can now model subscriptions more flexibly using the [Prices API](stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.



303
304
305
# File 'lib/stripe/services/plan_service.rb', line 303

def create(params = {}, opts = {})
  request(method: :post, path: "/v1/plans", params: params, opts: opts, base_address: :api)
end

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

Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.



308
309
310
311
312
313
314
315
316
# File 'lib/stripe/services/plan_service.rb', line 308

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

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

Returns a list of your plans.



319
320
321
# File 'lib/stripe/services/plan_service.rb', line 319

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

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

Retrieves the plan with the given ID.



324
325
326
327
328
329
330
331
332
# File 'lib/stripe/services/plan_service.rb', line 324

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

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

Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.



335
336
337
338
339
340
341
342
343
# File 'lib/stripe/services/plan_service.rb', line 335

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