Class: Stripe::MarginService

Inherits:
StripeService show all
Defined in:
lib/stripe/services/margin_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

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