Class: Stripe::MarginService
- Inherits:
-
StripeService
- Object
- StripeService
- Stripe::MarginService
- Defined in:
- lib/stripe/services/margin_service.rb
Instance Method Summary collapse
-
#create(params = {}, opts = {}) ⇒ Object
Create a margin object to be used with invoices, invoice items, and invoice line items for a customer to represent a partner discount.
-
#list(params = {}, opts = {}) ⇒ Object
Retrieve a list of your margins.
-
#retrieve(margin, params = {}, opts = {}) ⇒ Object
Retrieve a margin object with the given ID.
-
#update(margin, params = {}, opts = {}) ⇒ Object
Update the specified margin object.
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
Create a margin object to be used with invoices, invoice items, and invoice line items for a customer to represent a partner discount. A margin has a percent_off which is the percent that will be taken off the subtotal after all items and other discounts and promotions) of any invoices for a customer. Calculation of prorations do not include any partner margins applied on the original invoice item.
7 8 9 10 11 12 13 14 15 |
# File 'lib/stripe/services/margin_service.rb', line 7 def create(params = {}, opts = {}) request( method: :post, path: "/v1/billing/margins", params: params, opts: opts, base_address: :api ) end |
#list(params = {}, opts = {}) ⇒ Object
Retrieve a list of your margins.
18 19 20 21 22 23 24 25 26 |
# File 'lib/stripe/services/margin_service.rb', line 18 def list(params = {}, opts = {}) request( method: :get, path: "/v1/billing/margins", params: params, opts: opts, base_address: :api ) end |
#retrieve(margin, params = {}, opts = {}) ⇒ Object
Retrieve a margin object with the given ID.
29 30 31 32 33 34 35 36 37 |
# File 'lib/stripe/services/margin_service.rb', line 29 def retrieve(margin, params = {}, opts = {}) request( method: :get, path: format("/v1/billing/margins/%<margin>s", { margin: CGI.escape(margin) }), params: params, opts: opts, base_address: :api ) end |
#update(margin, params = {}, opts = {}) ⇒ Object
Update the specified margin object. Certain fields of the margin object are not editable.
40 41 42 43 44 45 46 47 48 |
# File 'lib/stripe/services/margin_service.rb', line 40 def update(margin, params = {}, opts = {}) request( method: :post, path: format("/v1/billing/margins/%<margin>s", { margin: CGI.escape(margin) }), params: params, opts: opts, base_address: :api ) end |