Class: Stripe::ProductService
- Inherits:
-
StripeService
- Object
- StripeService
- Stripe::ProductService
- Defined in:
- lib/stripe/services/product_service.rb
Instance Attribute Summary collapse
-
#features ⇒ Object
readonly
Returns the value of attribute features.
Instance Method Summary collapse
-
#create(params = {}, opts = {}) ⇒ Object
Creates a new product object.
-
#delete(id, params = {}, opts = {}) ⇒ Object
Delete a product.
-
#initialize(requestor) ⇒ ProductService
constructor
A new instance of ProductService.
-
#list(params = {}, opts = {}) ⇒ Object
Returns a list of your products.
-
#retrieve(id, params = {}, opts = {}) ⇒ Object
Retrieves the details of an existing product.
-
#search(params = {}, opts = {}) ⇒ Object
Search for products you’ve previously created using Stripe’s [Search Query Language](stripe.com/docs/search#search-query-language).
-
#update(id, params = {}, opts = {}) ⇒ Object
Updates the specific product by setting the values of the parameters passed.
Methods inherited from StripeService
Constructor Details
#initialize(requestor) ⇒ ProductService
Returns a new instance of ProductService.
8 9 10 11 |
# File 'lib/stripe/services/product_service.rb', line 8 def initialize(requestor) super(requestor) @features = Stripe::ProductFeatureService.new(@requestor) end |
Instance Attribute Details
#features ⇒ Object (readonly)
Returns the value of attribute features.
6 7 8 |
# File 'lib/stripe/services/product_service.rb', line 6 def features @features end |
Instance Method Details
#create(params = {}, opts = {}) ⇒ Object
Creates a new product object.
14 15 16 |
# File 'lib/stripe/services/product_service.rb', line 14 def create(params = {}, opts = {}) request(method: :post, path: "/v1/products", params: params, opts: opts, base_address: :api) end |
#delete(id, params = {}, opts = {}) ⇒ Object
Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.
19 20 21 22 23 24 25 26 27 |
# File 'lib/stripe/services/product_service.rb', line 19 def delete(id, params = {}, opts = {}) request( method: :delete, path: format("/v1/products/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |
#list(params = {}, opts = {}) ⇒ Object
Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
30 31 32 |
# File 'lib/stripe/services/product_service.rb', line 30 def list(params = {}, opts = {}) request(method: :get, path: "/v1/products", params: params, opts: opts, base_address: :api) end |
#retrieve(id, params = {}, opts = {}) ⇒ Object
Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
35 36 37 38 39 40 41 42 43 |
# File 'lib/stripe/services/product_service.rb', line 35 def retrieve(id, params = {}, opts = {}) request( method: :get, path: format("/v1/products/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |
#search(params = {}, opts = {}) ⇒ Object
Search for products you’ve previously created using Stripe’s [Search Query Language](stripe.com/docs/search#search-query-language). Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
49 50 51 52 53 54 55 56 57 |
# File 'lib/stripe/services/product_service.rb', line 49 def search(params = {}, opts = {}) request( method: :get, path: "/v1/products/search", params: params, opts: opts, base_address: :api ) end |
#update(id, params = {}, opts = {}) ⇒ Object
Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
60 61 62 63 64 65 66 67 68 |
# File 'lib/stripe/services/product_service.rb', line 60 def update(id, params = {}, opts = {}) request( method: :post, path: format("/v1/products/%<id>s", { id: CGI.escape(id) }), params: params, opts: opts, base_address: :api ) end |