stripe 10.10.0.pre.beta.1 → 10.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -281
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +18 -11
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/request.rb +1 -2
  7. data/lib/stripe/api_version.rb +0 -1
  8. data/lib/stripe/object_types.rb +0 -23
  9. data/lib/stripe/resources/customer.rb +0 -11
  10. data/lib/stripe/resources/financial_connections/account.rb +0 -3
  11. data/lib/stripe/resources/invoice.rb +0 -53
  12. data/lib/stripe/resources/invoice_line_item.rb +15 -0
  13. data/lib/stripe/resources/payment_intent.rb +0 -50
  14. data/lib/stripe/resources/quote.rb +0 -104
  15. data/lib/stripe/resources/subscription_schedule.rb +0 -20
  16. data/lib/stripe/resources/tax_id.rb +14 -16
  17. data/lib/stripe/resources/terminal/reader.rb +0 -60
  18. data/lib/stripe/resources.rb +0 -22
  19. data/lib/stripe/stripe_client.rb +28 -62
  20. data/lib/stripe/stripe_configuration.rb +1 -2
  21. data/lib/stripe/util.rb +1 -8
  22. data/lib/stripe/version.rb +1 -1
  23. data/lib/stripe.rb +0 -46
  24. metadata +4 -27
  25. data/lib/stripe/request_signing_authenticator.rb +0 -79
  26. data/lib/stripe/resources/account_notice.rb +0 -32
  27. data/lib/stripe/resources/capital/financing_offer.rb +0 -49
  28. data/lib/stripe/resources/capital/financing_summary.rb +0 -15
  29. data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
  30. data/lib/stripe/resources/confirmation_token.rb +0 -16
  31. data/lib/stripe/resources/customer_entitlement.rb +0 -12
  32. data/lib/stripe/resources/customer_entitlement_summary.rb +0 -12
  33. data/lib/stripe/resources/entitlements/event.rb +0 -26
  34. data/lib/stripe/resources/entitlements/feature.rb +0 -38
  35. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
  36. data/lib/stripe/resources/gift_cards/card.rb +0 -59
  37. data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
  38. data/lib/stripe/resources/invoice_payment.rb +0 -12
  39. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
  40. data/lib/stripe/resources/issuing/personalization_design.rb +0 -119
  41. data/lib/stripe/resources/issuing/physical_bundle.rb +0 -26
  42. data/lib/stripe/resources/margin.rb +0 -37
  43. data/lib/stripe/resources/order.rb +0 -120
  44. data/lib/stripe/resources/quote_phase.rb +0 -39
  45. data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
  46. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
  47. data/lib/stripe/resources/tax/form.rb +0 -49
@@ -1,49 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Capital
6
- # This is an object representing an offer of financing from
7
- # Stripe Capital to a Connect subaccount.
8
- class FinancingOffer < APIResource
9
- extend Stripe::APIOperations::List
10
-
11
- OBJECT_NAME = "capital.financing_offer"
12
- def self.object_name
13
- "capital.financing_offer"
14
- end
15
-
16
- # Acknowledges that platform has received and delivered the financing_offer to
17
- # the intended merchant recipient.
18
- def mark_delivered(params = {}, opts = {})
19
- request_stripe_object(
20
- method: :post,
21
- path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
22
- params: params,
23
- opts: opts
24
- )
25
- end
26
-
27
- # Acknowledges that platform has received and delivered the financing_offer to
28
- # the intended merchant recipient.
29
- def self.mark_delivered(financing_offer, params = {}, opts = {})
30
- request_stripe_object(
31
- method: :post,
32
- path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
33
- params: params,
34
- opts: opts
35
- )
36
- end
37
-
38
- # Retrieves the financing offers available for Connected accounts that belong to your platform.
39
- def self.list(filters = {}, opts = {})
40
- request_stripe_object(
41
- method: :get,
42
- path: "/v1/capital/financing_offers",
43
- params: filters,
44
- opts: opts
45
- )
46
- end
47
- end
48
- end
49
- end
@@ -1,15 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Capital
6
- # A financing object describes an account's current financing state. Used by Connect
7
- # platforms to read the state of Capital offered to their connected accounts.
8
- class FinancingSummary < SingletonAPIResource
9
- OBJECT_NAME = "capital.financing_summary"
10
- def self.object_name
11
- "capital.financing_summary"
12
- end
13
- end
14
- end
15
- end
@@ -1,27 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Capital
6
- # This is an object representing the details of a transaction on a Capital financing object.
7
- class FinancingTransaction < APIResource
8
- extend Stripe::APIOperations::List
9
-
10
- OBJECT_NAME = "capital.financing_transaction"
11
- def self.object_name
12
- "capital.financing_transaction"
13
- end
14
-
15
- # Returns a list of financing transactions. The transactions are returned in sorted order,
16
- # with the most recent transactions appearing first.
17
- def self.list(filters = {}, opts = {})
18
- request_stripe_object(
19
- method: :get,
20
- path: "/v1/capital/financing_transactions",
21
- params: filters,
22
- opts: opts
23
- )
24
- end
25
- end
26
- end
27
- end
@@ -1,16 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # ConfirmationTokens help transport client side data collected by Stripe JS over
6
- # to your server for confirming a PaymentIntent or SetupIntent. If the confirmation
7
- # is successful, values present on the ConfirmationToken are written onto the Intent.
8
- #
9
- # To learn more or request access, visit the related guided: [Finalize payments on the server using Confirmation Tokens](https://stripe.com/docs/payments/finalize-payments-on-the-server-confirmation-tokens).
10
- class ConfirmationToken < APIResource
11
- OBJECT_NAME = "confirmation_token"
12
- def self.object_name
13
- "confirmation_token"
14
- end
15
- end
16
- end
@@ -1,12 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # A entitlement for a customer describes access to a feature.
6
- class CustomerEntitlement < APIResource
7
- OBJECT_NAME = "customer_entitlement"
8
- def self.object_name
9
- "customer_entitlement"
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # A summary of a customer's entitlements.
6
- class CustomerEntitlementSummary < APIResource
7
- OBJECT_NAME = "customer_entitlement_summary"
8
- def self.object_name
9
- "customer_entitlement_summary"
10
- end
11
- end
12
- end
@@ -1,26 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Entitlements
6
- # An entitlement event either grants or revokes an entitlement to a feature for a customer.
7
- class Event < APIResource
8
- extend Stripe::APIOperations::Create
9
-
10
- OBJECT_NAME = "entitlements.event"
11
- def self.object_name
12
- "entitlements.event"
13
- end
14
-
15
- # Create an entitlement event manually, outside of the entitlement events automatically created by Stripe lifecycle events.
16
- def self.create(params = {}, opts = {})
17
- request_stripe_object(
18
- method: :post,
19
- path: "/v1/entitlements/events",
20
- params: params,
21
- opts: opts
22
- )
23
- end
24
- end
25
- end
26
- end
@@ -1,38 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Entitlements
6
- # A feature represents a monetizable ability or functionality in your system.
7
- # Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.
8
- class Feature < APIResource
9
- extend Stripe::APIOperations::Create
10
- extend Stripe::APIOperations::List
11
-
12
- OBJECT_NAME = "entitlements.feature"
13
- def self.object_name
14
- "entitlements.feature"
15
- end
16
-
17
- # Creates a feature
18
- def self.create(params = {}, opts = {})
19
- request_stripe_object(
20
- method: :post,
21
- path: "/v1/entitlements/features",
22
- params: params,
23
- opts: opts
24
- )
25
- end
26
-
27
- # Retrieve a list of features
28
- def self.list(filters = {}, opts = {})
29
- request_stripe_object(
30
- method: :get,
31
- path: "/v1/entitlements/features",
32
- params: filters,
33
- opts: opts
34
- )
35
- end
36
- end
37
- end
38
- end
@@ -1,14 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module FinancialConnections
6
- # A historical balance for the account on a particular day. It may be sourced from a balance snapshot provided by a financial institution, or inferred using transactions data.
7
- class AccountInferredBalance < APIResource
8
- OBJECT_NAME = "financial_connections.account_inferred_balance"
9
- def self.object_name
10
- "financial_connections.account_inferred_balance"
11
- end
12
- end
13
- end
14
- end
@@ -1,59 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module GiftCards
6
- # A gift card represents a single gift card owned by a customer, including the
7
- # remaining balance, gift card code, and whether or not it is active.
8
- class Card < APIResource
9
- extend Stripe::APIOperations::Create
10
- extend Stripe::APIOperations::List
11
- include Stripe::APIOperations::Save
12
-
13
- OBJECT_NAME = "gift_cards.card"
14
- def self.object_name
15
- "gift_cards.card"
16
- end
17
-
18
- # Validates a gift card code, returning the matching gift card object if it exists.
19
- def self.validate(params = {}, opts = {})
20
- request_stripe_object(
21
- method: :post,
22
- path: "/v1/gift_cards/cards/validate",
23
- params: params,
24
- opts: opts
25
- )
26
- end
27
-
28
- # Creates a new gift card object.
29
- def self.create(params = {}, opts = {})
30
- request_stripe_object(
31
- method: :post,
32
- path: "/v1/gift_cards/cards",
33
- params: params,
34
- opts: opts
35
- )
36
- end
37
-
38
- # List gift cards for an account
39
- def self.list(filters = {}, opts = {})
40
- request_stripe_object(
41
- method: :get,
42
- path: "/v1/gift_cards/cards",
43
- params: filters,
44
- opts: opts
45
- )
46
- end
47
-
48
- # Update a gift card
49
- def self.update(id, params = {}, opts = {})
50
- request_stripe_object(
51
- method: :post,
52
- path: format("/v1/gift_cards/cards/%<id>s", { id: CGI.escape(id) }),
53
- params: params,
54
- opts: opts
55
- )
56
- end
57
- end
58
- end
59
- end
@@ -1,93 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module GiftCards
6
- # A gift card transaction represents a single transaction on a referenced gift card.
7
- # A transaction is in one of three states, `confirmed`, `held` or `canceled`. A `confirmed`
8
- # transaction is one that has added/deducted funds. A `held` transaction has created a
9
- # temporary hold on funds, which can then be cancelled or confirmed. A `held` transaction
10
- # can be confirmed into a `confirmed` transaction, or canceled into a `canceled` transaction.
11
- # A `canceled` transaction has no effect on a gift card's balance.
12
- class Transaction < APIResource
13
- extend Stripe::APIOperations::Create
14
- extend Stripe::APIOperations::List
15
- include Stripe::APIOperations::Save
16
-
17
- OBJECT_NAME = "gift_cards.transaction"
18
- def self.object_name
19
- "gift_cards.transaction"
20
- end
21
-
22
- # Cancel a gift card transaction
23
- def cancel(params = {}, opts = {})
24
- request_stripe_object(
25
- method: :post,
26
- path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
27
- params: params,
28
- opts: opts
29
- )
30
- end
31
-
32
- # Confirm a gift card transaction
33
- def confirm(params = {}, opts = {})
34
- request_stripe_object(
35
- method: :post,
36
- path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
37
- params: params,
38
- opts: opts
39
- )
40
- end
41
-
42
- # Cancel a gift card transaction
43
- def self.cancel(id, params = {}, opts = {})
44
- request_stripe_object(
45
- method: :post,
46
- path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
47
- params: params,
48
- opts: opts
49
- )
50
- end
51
-
52
- # Confirm a gift card transaction
53
- def self.confirm(id, params = {}, opts = {})
54
- request_stripe_object(
55
- method: :post,
56
- path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
57
- params: params,
58
- opts: opts
59
- )
60
- end
61
-
62
- # Create a gift card transaction
63
- def self.create(params = {}, opts = {})
64
- request_stripe_object(
65
- method: :post,
66
- path: "/v1/gift_cards/transactions",
67
- params: params,
68
- opts: opts
69
- )
70
- end
71
-
72
- # List gift card transactions for a gift card
73
- def self.list(filters = {}, opts = {})
74
- request_stripe_object(
75
- method: :get,
76
- path: "/v1/gift_cards/transactions",
77
- params: filters,
78
- opts: opts
79
- )
80
- end
81
-
82
- # Update a gift card transaction
83
- def self.update(id, params = {}, opts = {})
84
- request_stripe_object(
85
- method: :post,
86
- path: format("/v1/gift_cards/transactions/%<id>s", { id: CGI.escape(id) }),
87
- params: params,
88
- opts: opts
89
- )
90
- end
91
- end
92
- end
93
- end
@@ -1,12 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # The invoice payment object
6
- class InvoicePayment < APIResource
7
- OBJECT_NAME = "invoice_payment"
8
- def self.object_name
9
- "invoice_payment"
10
- end
11
- end
12
- end
@@ -1,88 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Issuing
6
- # Every time an applicant submits an application for a Charge Card product your platform offers, or every time your platform takes a proactive credit decision on an existing account, you must record the decision by creating a new `CreditUnderwritingRecord` object on a connected account.
7
- #
8
- # [Follow the guide](https://stripe.com/docs/issuing/credit/report-credit-decisions-and-manage-aans) to learn about your requirements as a platform.
9
- class CreditUnderwritingRecord < APIResource
10
- extend Stripe::APIOperations::List
11
-
12
- OBJECT_NAME = "issuing.credit_underwriting_record"
13
- def self.object_name
14
- "issuing.credit_underwriting_record"
15
- end
16
-
17
- # Update a CreditUnderwritingRecord object to correct mistakes.
18
- def correct(params = {}, opts = {})
19
- request_stripe_object(
20
- method: :post,
21
- path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(self["id"]) }),
22
- params: params,
23
- opts: opts
24
- )
25
- end
26
-
27
- # Update a CreditUnderwritingRecord object from a decision made on a credit application.
28
- def report_decision(params = {}, opts = {})
29
- request_stripe_object(
30
- method: :post,
31
- path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(self["id"]) }),
32
- params: params,
33
- opts: opts
34
- )
35
- end
36
-
37
- # Update a CreditUnderwritingRecord object to correct mistakes.
38
- def self.correct(credit_underwriting_record, params = {}, opts = {})
39
- request_stripe_object(
40
- method: :post,
41
- path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
42
- params: params,
43
- opts: opts
44
- )
45
- end
46
-
47
- # Creates a CreditUnderwritingRecord object with information about a credit application submission.
48
- def self.create_from_application(params = {}, opts = {})
49
- request_stripe_object(
50
- method: :post,
51
- path: "/v1/issuing/credit_underwriting_records/create_from_application",
52
- params: params,
53
- opts: opts
54
- )
55
- end
56
-
57
- # Creates a CreditUnderwritingRecord object from an underwriting decision coming from a proactive review of an existing accountholder.
58
- def self.create_from_proactive_review(params = {}, opts = {})
59
- request_stripe_object(
60
- method: :post,
61
- path: "/v1/issuing/credit_underwriting_records/create_from_proactive_review",
62
- params: params,
63
- opts: opts
64
- )
65
- end
66
-
67
- # Update a CreditUnderwritingRecord object from a decision made on a credit application.
68
- def self.report_decision(credit_underwriting_record, params = {}, opts = {})
69
- request_stripe_object(
70
- method: :post,
71
- path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
72
- params: params,
73
- opts: opts
74
- )
75
- end
76
-
77
- # Retrieves a list of CreditUnderwritingRecord objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
78
- def self.list(filters = {}, opts = {})
79
- request_stripe_object(
80
- method: :get,
81
- path: "/v1/issuing/credit_underwriting_records",
82
- params: filters,
83
- opts: opts
84
- )
85
- end
86
- end
87
- end
88
- end
@@ -1,119 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Issuing
6
- # A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
7
- class PersonalizationDesign < APIResource
8
- extend Stripe::APIOperations::Create
9
- extend Stripe::APIOperations::List
10
- include Stripe::APIOperations::Save
11
-
12
- OBJECT_NAME = "issuing.personalization_design"
13
- def self.object_name
14
- "issuing.personalization_design"
15
- end
16
-
17
- # Creates a personalization design object.
18
- def self.create(params = {}, opts = {})
19
- request_stripe_object(
20
- method: :post,
21
- path: "/v1/issuing/personalization_designs",
22
- params: params,
23
- opts: opts
24
- )
25
- end
26
-
27
- # Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
28
- def self.list(filters = {}, opts = {})
29
- request_stripe_object(
30
- method: :get,
31
- path: "/v1/issuing/personalization_designs",
32
- params: filters,
33
- opts: opts
34
- )
35
- end
36
-
37
- # Updates a card personalization object.
38
- def self.update(id, params = {}, opts = {})
39
- request_stripe_object(
40
- method: :post,
41
- path: format("/v1/issuing/personalization_designs/%<id>s", { id: CGI.escape(id) }),
42
- params: params,
43
- opts: opts
44
- )
45
- end
46
-
47
- def test_helpers
48
- TestHelpers.new(self)
49
- end
50
-
51
- class TestHelpers < APIResourceTestHelpers
52
- RESOURCE_CLASS = PersonalizationDesign
53
- def self.resource_class
54
- "PersonalizationDesign"
55
- end
56
-
57
- # Updates the status of the specified testmode personalization design object to active.
58
- def self.activate(personalization_design, params = {}, opts = {})
59
- request_stripe_object(
60
- method: :post,
61
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(personalization_design) }),
62
- params: params,
63
- opts: opts
64
- )
65
- end
66
-
67
- # Updates the status of the specified testmode personalization design object to inactive.
68
- def self.deactivate(personalization_design, params = {}, opts = {})
69
- request_stripe_object(
70
- method: :post,
71
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(personalization_design) }),
72
- params: params,
73
- opts: opts
74
- )
75
- end
76
-
77
- # Updates the status of the specified testmode personalization design object to rejected.
78
- def self.reject(personalization_design, params = {}, opts = {})
79
- request_stripe_object(
80
- method: :post,
81
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(personalization_design) }),
82
- params: params,
83
- opts: opts
84
- )
85
- end
86
-
87
- # Updates the status of the specified testmode personalization design object to active.
88
- def activate(params = {}, opts = {})
89
- @resource.request_stripe_object(
90
- method: :post,
91
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(@resource["id"]) }),
92
- params: params,
93
- opts: opts
94
- )
95
- end
96
-
97
- # Updates the status of the specified testmode personalization design object to inactive.
98
- def deactivate(params = {}, opts = {})
99
- @resource.request_stripe_object(
100
- method: :post,
101
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(@resource["id"]) }),
102
- params: params,
103
- opts: opts
104
- )
105
- end
106
-
107
- # Updates the status of the specified testmode personalization design object to rejected.
108
- def reject(params = {}, opts = {})
109
- @resource.request_stripe_object(
110
- method: :post,
111
- path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(@resource["id"]) }),
112
- params: params,
113
- opts: opts
114
- )
115
- end
116
- end
117
- end
118
- end
119
- end
@@ -1,26 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- module Issuing
6
- # A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.
7
- class PhysicalBundle < APIResource
8
- extend Stripe::APIOperations::List
9
-
10
- OBJECT_NAME = "issuing.physical_bundle"
11
- def self.object_name
12
- "issuing.physical_bundle"
13
- end
14
-
15
- # Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
16
- def self.list(filters = {}, opts = {})
17
- request_stripe_object(
18
- method: :get,
19
- path: "/v1/issuing/physical_bundles",
20
- params: filters,
21
- opts: opts
22
- )
23
- end
24
- end
25
- end
26
- end
@@ -1,37 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # A (partner) margin represents a specific discount distributed in partner reseller programs to business partners who
6
- # resell products and services and earn a discount (margin) for doing so.
7
- class Margin < APIResource
8
- extend Stripe::APIOperations::Create
9
- extend Stripe::APIOperations::List
10
- include Stripe::APIOperations::Save
11
-
12
- OBJECT_NAME = "margin"
13
- def self.object_name
14
- "margin"
15
- end
16
-
17
- # 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.
18
- def self.create(params = {}, opts = {})
19
- request_stripe_object(method: :post, path: "/v1/billing/margins", params: params, opts: opts)
20
- end
21
-
22
- # Retrieve a list of your margins.
23
- def self.list(filters = {}, opts = {})
24
- request_stripe_object(method: :get, path: "/v1/billing/margins", params: filters, opts: opts)
25
- end
26
-
27
- # Update the specified margin object. Certain fields of the margin object are not editable.
28
- def self.update(id, params = {}, opts = {})
29
- request_stripe_object(
30
- method: :post,
31
- path: format("/v1/billing/margins/%<id>s", { id: CGI.escape(id) }),
32
- params: params,
33
- opts: opts
34
- )
35
- end
36
- end
37
- end