stripe 10.8.0 → 10.9.0.pre.beta.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +275 -45
- data/README.md +11 -0
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +2 -1
- data/lib/stripe/api_version.rb +1 -0
- data/lib/stripe/object_types.rb +23 -0
- data/lib/stripe/request_signing_authenticator.rb +79 -0
- data/lib/stripe/resources/account_notice.rb +29 -0
- data/lib/stripe/resources/capital/financing_offer.rb +46 -0
- data/lib/stripe/resources/capital/financing_summary.rb +12 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +24 -0
- data/lib/stripe/resources/confirmation_token.rb +13 -0
- data/lib/stripe/resources/customer.rb +11 -0
- data/lib/stripe/resources/customer_entitlement.rb +9 -0
- data/lib/stripe/resources/customer_entitlement_summary.rb +9 -0
- data/lib/stripe/resources/entitlements/event.rb +23 -0
- data/lib/stripe/resources/entitlements/feature.rb +35 -0
- data/lib/stripe/resources/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +11 -0
- data/lib/stripe/resources/gift_cards/card.rb +56 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +90 -0
- data/lib/stripe/resources/invoice.rb +53 -0
- data/lib/stripe/resources/invoice_payment.rb +9 -0
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +85 -0
- data/lib/stripe/resources/issuing/personalization_design.rb +113 -0
- data/lib/stripe/resources/issuing/physical_bundle.rb +23 -0
- data/lib/stripe/resources/margin.rb +34 -0
- data/lib/stripe/resources/order.rb +117 -0
- data/lib/stripe/resources/quote.rb +104 -0
- data/lib/stripe/resources/quote_phase.rb +36 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +40 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +8 -0
- data/lib/stripe/resources/subscription_schedule.rb +20 -0
- data/lib/stripe/resources/tax/form.rb +46 -0
- data/lib/stripe/resources/terminal/reader.rb +60 -0
- data/lib/stripe/resources.rb +22 -0
- data/lib/stripe/stripe_client.rb +62 -28
- data/lib/stripe/stripe_configuration.rb +2 -1
- data/lib/stripe/util.rb +8 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +46 -0
- metadata +26 -3
@@ -0,0 +1,113 @@
|
|
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
|
+
|
14
|
+
# Creates a personalization design object.
|
15
|
+
def self.create(params = {}, opts = {})
|
16
|
+
request_stripe_object(
|
17
|
+
method: :post,
|
18
|
+
path: "/v1/issuing/personalization_designs",
|
19
|
+
params: params,
|
20
|
+
opts: opts
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# 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.
|
25
|
+
def self.list(filters = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :get,
|
28
|
+
path: "/v1/issuing/personalization_designs",
|
29
|
+
params: filters,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Updates a card personalization object.
|
35
|
+
def self.update(id, params = {}, opts = {})
|
36
|
+
request_stripe_object(
|
37
|
+
method: :post,
|
38
|
+
path: format("/v1/issuing/personalization_designs/%<id>s", { id: CGI.escape(id) }),
|
39
|
+
params: params,
|
40
|
+
opts: opts
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_helpers
|
45
|
+
TestHelpers.new(self)
|
46
|
+
end
|
47
|
+
|
48
|
+
class TestHelpers < APIResourceTestHelpers
|
49
|
+
RESOURCE_CLASS = PersonalizationDesign
|
50
|
+
|
51
|
+
# Updates the status of the specified testmode personalization design object to active.
|
52
|
+
def self.activate(personalization_design, params = {}, opts = {})
|
53
|
+
request_stripe_object(
|
54
|
+
method: :post,
|
55
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(personalization_design) }),
|
56
|
+
params: params,
|
57
|
+
opts: opts
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Updates the status of the specified testmode personalization design object to inactive.
|
62
|
+
def self.deactivate(personalization_design, params = {}, opts = {})
|
63
|
+
request_stripe_object(
|
64
|
+
method: :post,
|
65
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(personalization_design) }),
|
66
|
+
params: params,
|
67
|
+
opts: opts
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Updates the status of the specified testmode personalization design object to rejected.
|
72
|
+
def self.reject(personalization_design, params = {}, opts = {})
|
73
|
+
request_stripe_object(
|
74
|
+
method: :post,
|
75
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(personalization_design) }),
|
76
|
+
params: params,
|
77
|
+
opts: opts
|
78
|
+
)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Updates the status of the specified testmode personalization design object to active.
|
82
|
+
def activate(params = {}, opts = {})
|
83
|
+
@resource.request_stripe_object(
|
84
|
+
method: :post,
|
85
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(@resource["id"]) }),
|
86
|
+
params: params,
|
87
|
+
opts: opts
|
88
|
+
)
|
89
|
+
end
|
90
|
+
|
91
|
+
# Updates the status of the specified testmode personalization design object to inactive.
|
92
|
+
def deactivate(params = {}, opts = {})
|
93
|
+
@resource.request_stripe_object(
|
94
|
+
method: :post,
|
95
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(@resource["id"]) }),
|
96
|
+
params: params,
|
97
|
+
opts: opts
|
98
|
+
)
|
99
|
+
end
|
100
|
+
|
101
|
+
# Updates the status of the specified testmode personalization design object to rejected.
|
102
|
+
def reject(params = {}, opts = {})
|
103
|
+
@resource.request_stripe_object(
|
104
|
+
method: :post,
|
105
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(@resource["id"]) }),
|
106
|
+
params: params,
|
107
|
+
opts: opts
|
108
|
+
)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,23 @@
|
|
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
|
+
|
12
|
+
# 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.
|
13
|
+
def self.list(filters = {}, opts = {})
|
14
|
+
request_stripe_object(
|
15
|
+
method: :get,
|
16
|
+
path: "/v1/issuing/physical_bundles",
|
17
|
+
params: filters,
|
18
|
+
opts: opts
|
19
|
+
)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,34 @@
|
|
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
|
+
|
14
|
+
# 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.
|
15
|
+
def self.create(params = {}, opts = {})
|
16
|
+
request_stripe_object(method: :post, path: "/v1/billing/margins", params: params, opts: opts)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Retrieve a list of your margins.
|
20
|
+
def self.list(filters = {}, opts = {})
|
21
|
+
request_stripe_object(method: :get, path: "/v1/billing/margins", params: filters, opts: opts)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Update the specified margin object. Certain fields of the margin object are not editable.
|
25
|
+
def self.update(id, params = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :post,
|
28
|
+
path: format("/v1/billing/margins/%<id>s", { id: CGI.escape(id) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# An Order describes a purchase being made by a customer, including the
|
6
|
+
# products & quantities being purchased, the order status, the payment information,
|
7
|
+
# and the billing/shipping details.
|
8
|
+
#
|
9
|
+
# Related guide: [Orders overview](https://stripe.com/docs/orders)
|
10
|
+
class Order < APIResource
|
11
|
+
extend Stripe::APIOperations::Create
|
12
|
+
extend Stripe::APIOperations::List
|
13
|
+
include Stripe::APIOperations::Save
|
14
|
+
|
15
|
+
OBJECT_NAME = "order"
|
16
|
+
|
17
|
+
# Cancels the order as well as the payment intent if one is attached.
|
18
|
+
def cancel(params = {}, opts = {})
|
19
|
+
request_stripe_object(
|
20
|
+
method: :post,
|
21
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
22
|
+
params: params,
|
23
|
+
opts: opts
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
28
|
+
def list_line_items(params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :get,
|
31
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Reopens a submitted order.
|
38
|
+
def reopen(params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
|
48
|
+
def submit(params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
52
|
+
params: params,
|
53
|
+
opts: opts
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Cancels the order as well as the payment intent if one is attached.
|
58
|
+
def self.cancel(id, params = {}, opts = {})
|
59
|
+
request_stripe_object(
|
60
|
+
method: :post,
|
61
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
62
|
+
params: params,
|
63
|
+
opts: opts
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
68
|
+
def self.list_line_items(id, params = {}, opts = {})
|
69
|
+
request_stripe_object(
|
70
|
+
method: :get,
|
71
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
72
|
+
params: params,
|
73
|
+
opts: opts
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Reopens a submitted order.
|
78
|
+
def self.reopen(id, params = {}, opts = {})
|
79
|
+
request_stripe_object(
|
80
|
+
method: :post,
|
81
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
82
|
+
params: params,
|
83
|
+
opts: opts
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
# Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
|
88
|
+
def self.submit(id, params = {}, opts = {})
|
89
|
+
request_stripe_object(
|
90
|
+
method: :post,
|
91
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
92
|
+
params: params,
|
93
|
+
opts: opts
|
94
|
+
)
|
95
|
+
end
|
96
|
+
|
97
|
+
# Creates a new open order object.
|
98
|
+
def self.create(params = {}, opts = {})
|
99
|
+
request_stripe_object(method: :post, path: "/v1/orders", params: params, opts: opts)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.
|
103
|
+
def self.list(filters = {}, opts = {})
|
104
|
+
request_stripe_object(method: :get, path: "/v1/orders", params: filters, opts: opts)
|
105
|
+
end
|
106
|
+
|
107
|
+
# Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
|
108
|
+
def self.update(id, params = {}, opts = {})
|
109
|
+
request_stripe_object(
|
110
|
+
method: :post,
|
111
|
+
path: format("/v1/orders/%<id>s", { id: CGI.escape(id) }),
|
112
|
+
params: params,
|
113
|
+
opts: opts
|
114
|
+
)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -8,9 +8,13 @@ module Stripe
|
|
8
8
|
extend Stripe::APIOperations::Create
|
9
9
|
extend Stripe::APIOperations::List
|
10
10
|
include Stripe::APIOperations::Save
|
11
|
+
extend Stripe::APIOperations::NestedResource
|
11
12
|
|
12
13
|
OBJECT_NAME = "quote"
|
13
14
|
|
15
|
+
nested_resource_class_methods :preview_invoice, operations: %i[list]
|
16
|
+
nested_resource_class_methods :preview_subscription_schedule, operations: %i[list]
|
17
|
+
|
14
18
|
# Accepts the specified quote.
|
15
19
|
def accept(params = {}, opts = {})
|
16
20
|
request_stripe_object(
|
@@ -61,6 +65,46 @@ module Stripe
|
|
61
65
|
)
|
62
66
|
end
|
63
67
|
|
68
|
+
# Retrieves a paginated list of lines for a quote. These lines describe changes that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
|
69
|
+
def list_lines(params = {}, opts = {})
|
70
|
+
request_stripe_object(
|
71
|
+
method: :get,
|
72
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
|
73
|
+
params: params,
|
74
|
+
opts: opts
|
75
|
+
)
|
76
|
+
end
|
77
|
+
|
78
|
+
# Preview the invoice line items that would be generated by accepting the quote.
|
79
|
+
def list_preview_invoice_lines(preview_invoice, params = {}, opts = {})
|
80
|
+
request_stripe_object(
|
81
|
+
method: :get,
|
82
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
|
83
|
+
params: params,
|
84
|
+
opts: opts
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Converts a stale quote to draft.
|
89
|
+
def mark_draft(params = {}, opts = {})
|
90
|
+
request_stripe_object(
|
91
|
+
method: :post,
|
92
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
|
93
|
+
params: params,
|
94
|
+
opts: opts
|
95
|
+
)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Converts a draft or open quote to stale.
|
99
|
+
def mark_stale(params = {}, opts = {})
|
100
|
+
request_stripe_object(
|
101
|
+
method: :post,
|
102
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
|
103
|
+
params: params,
|
104
|
+
opts: opts
|
105
|
+
)
|
106
|
+
end
|
107
|
+
|
64
108
|
# Download the PDF for a finalized quote
|
65
109
|
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
66
110
|
config = opts[:client]&.config || Stripe.config
|
@@ -74,6 +118,16 @@ module Stripe
|
|
74
118
|
)
|
75
119
|
end
|
76
120
|
|
121
|
+
# Recompute the upcoming invoice estimate for the quote.
|
122
|
+
def reestimate(params = {}, opts = {})
|
123
|
+
request_stripe_object(
|
124
|
+
method: :post,
|
125
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
|
126
|
+
params: params,
|
127
|
+
opts: opts
|
128
|
+
)
|
129
|
+
end
|
130
|
+
|
77
131
|
# Accepts the specified quote.
|
78
132
|
def self.accept(quote, params = {}, opts = {})
|
79
133
|
request_stripe_object(
|
@@ -124,6 +178,46 @@ module Stripe
|
|
124
178
|
)
|
125
179
|
end
|
126
180
|
|
181
|
+
# Retrieves a paginated list of lines for a quote. These lines describe changes that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
|
182
|
+
def self.list_lines(quote, params = {}, opts = {})
|
183
|
+
request_stripe_object(
|
184
|
+
method: :get,
|
185
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
|
186
|
+
params: params,
|
187
|
+
opts: opts
|
188
|
+
)
|
189
|
+
end
|
190
|
+
|
191
|
+
# Preview the invoice line items that would be generated by accepting the quote.
|
192
|
+
def self.list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
|
193
|
+
request_stripe_object(
|
194
|
+
method: :get,
|
195
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
|
196
|
+
params: params,
|
197
|
+
opts: opts
|
198
|
+
)
|
199
|
+
end
|
200
|
+
|
201
|
+
# Converts a stale quote to draft.
|
202
|
+
def self.mark_draft(quote, params = {}, opts = {})
|
203
|
+
request_stripe_object(
|
204
|
+
method: :post,
|
205
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
|
206
|
+
params: params,
|
207
|
+
opts: opts
|
208
|
+
)
|
209
|
+
end
|
210
|
+
|
211
|
+
# Converts a draft or open quote to stale.
|
212
|
+
def self.mark_stale(quote, params = {}, opts = {})
|
213
|
+
request_stripe_object(
|
214
|
+
method: :post,
|
215
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
|
216
|
+
params: params,
|
217
|
+
opts: opts
|
218
|
+
)
|
219
|
+
end
|
220
|
+
|
127
221
|
# Download the PDF for a finalized quote
|
128
222
|
def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
|
129
223
|
config = opts[:client]&.config || Stripe.config
|
@@ -137,6 +231,16 @@ module Stripe
|
|
137
231
|
)
|
138
232
|
end
|
139
233
|
|
234
|
+
# Recompute the upcoming invoice estimate for the quote.
|
235
|
+
def self.reestimate(quote, params = {}, opts = {})
|
236
|
+
request_stripe_object(
|
237
|
+
method: :post,
|
238
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
|
239
|
+
params: params,
|
240
|
+
opts: opts
|
241
|
+
)
|
242
|
+
end
|
243
|
+
|
140
244
|
# A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote).
|
141
245
|
def self.create(params = {}, opts = {})
|
142
246
|
request_stripe_object(method: :post, path: "/v1/quotes", params: params, opts: opts)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A quote phase describes the line items, coupons, and trialing status of a subscription for a predefined time period.
|
6
|
+
class QuotePhase < APIResource
|
7
|
+
extend Stripe::APIOperations::List
|
8
|
+
|
9
|
+
OBJECT_NAME = "quote_phase"
|
10
|
+
|
11
|
+
# When retrieving a quote phase, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
12
|
+
def list_line_items(params = {}, opts = {})
|
13
|
+
request_stripe_object(
|
14
|
+
method: :get,
|
15
|
+
path: format("/v1/quote_phases/%<quote_phase>s/line_items", { quote_phase: CGI.escape(self["id"]) }),
|
16
|
+
params: params,
|
17
|
+
opts: opts
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
# When retrieving a quote phase, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
22
|
+
def self.list_line_items(quote_phase, params = {}, opts = {})
|
23
|
+
request_stripe_object(
|
24
|
+
method: :get,
|
25
|
+
path: format("/v1/quote_phases/%<quote_phase>s/line_items", { quote_phase: CGI.escape(quote_phase) }),
|
26
|
+
params: params,
|
27
|
+
opts: opts
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Returns a list of quote phases.
|
32
|
+
def self.list(filters = {}, opts = {})
|
33
|
+
request_stripe_object(method: :get, path: "/v1/quote_phases", params: filters, opts: opts)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# Invoices are statements of amounts owed by a customer, and are either
|
6
|
+
# generated one-off, or generated periodically from a subscription.
|
7
|
+
#
|
8
|
+
# They contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments
|
9
|
+
# that may be caused by subscription upgrades/downgrades (if necessary).
|
10
|
+
#
|
11
|
+
# If your invoice is configured to be billed through automatic charges,
|
12
|
+
# Stripe automatically finalizes your invoice and attempts payment. Note
|
13
|
+
# that finalizing the invoice,
|
14
|
+
# [when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does
|
15
|
+
# not happen immediately as the invoice is created. Stripe waits
|
16
|
+
# until one hour after the last webhook was successfully sent (or the last
|
17
|
+
# webhook timed out after failing). If you (and the platforms you may have
|
18
|
+
# connected to) have no webhooks configured, Stripe waits one hour after
|
19
|
+
# creation to finalize the invoice.
|
20
|
+
#
|
21
|
+
# If your invoice is configured to be billed by sending an email, then based on your
|
22
|
+
# [email settings](https://dashboard.stripe.com/account/billing/automatic),
|
23
|
+
# Stripe will email the invoice to your customer and await payment. These
|
24
|
+
# emails can contain a link to a hosted page to pay the invoice.
|
25
|
+
#
|
26
|
+
# Stripe applies any customer credit on the account before determining the
|
27
|
+
# amount due for the invoice (i.e., the amount that will be actually
|
28
|
+
# charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge
|
29
|
+
# per currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the
|
30
|
+
# invoice is automatically marked paid, and we add the amount due to the
|
31
|
+
# customer's credit balance which is applied to the next invoice.
|
32
|
+
#
|
33
|
+
# More details on the customer's credit balance are
|
34
|
+
# [here](https://stripe.com/docs/billing/customer/balance).
|
35
|
+
#
|
36
|
+
# Related guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending)
|
37
|
+
class QuotePreviewInvoice < APIResource
|
38
|
+
OBJECT_NAME = "quote_preview_invoice"
|
39
|
+
end
|
40
|
+
end
|
@@ -12,6 +12,16 @@ module Stripe
|
|
12
12
|
|
13
13
|
OBJECT_NAME = "subscription_schedule"
|
14
14
|
|
15
|
+
# Amends an existing subscription schedule.
|
16
|
+
def amend(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }),
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
15
25
|
# Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
|
16
26
|
def cancel(params = {}, opts = {})
|
17
27
|
request_stripe_object(
|
@@ -32,6 +42,16 @@ module Stripe
|
|
32
42
|
)
|
33
43
|
end
|
34
44
|
|
45
|
+
# Amends an existing subscription schedule.
|
46
|
+
def self.amend(schedule, params = {}, opts = {})
|
47
|
+
request_stripe_object(
|
48
|
+
method: :post,
|
49
|
+
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }),
|
50
|
+
params: params,
|
51
|
+
opts: opts
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
35
55
|
# Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.
|
36
56
|
def self.cancel(schedule, params = {}, opts = {})
|
37
57
|
request_stripe_object(
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Tax
|
6
|
+
# Tax forms are legal documents which are delivered to one or more tax authorities for information reporting purposes.
|
7
|
+
#
|
8
|
+
# Related guide: [US tax reporting for Connect platforms](https://stripe.com/docs/connect/tax-reporting)
|
9
|
+
class Form < APIResource
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
|
12
|
+
OBJECT_NAME = "tax.form"
|
13
|
+
|
14
|
+
# Download the PDF for a tax form.
|
15
|
+
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
16
|
+
config = opts[:client]&.config || Stripe.config
|
17
|
+
opts = { api_base: config.uploads_base }.merge(opts)
|
18
|
+
request_stream(
|
19
|
+
method: :get,
|
20
|
+
path: format("/v1/tax/forms/%<id>s/pdf", { id: CGI.escape(self["id"]) }),
|
21
|
+
params: params,
|
22
|
+
opts: opts,
|
23
|
+
&read_body_chunk_block
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Download the PDF for a tax form.
|
28
|
+
def self.pdf(id, params = {}, opts = {}, &read_body_chunk_block)
|
29
|
+
config = opts[:client]&.config || Stripe.config
|
30
|
+
opts = { api_base: config.uploads_base }.merge(opts)
|
31
|
+
execute_resource_request_stream(
|
32
|
+
:get,
|
33
|
+
format("/v1/tax/forms/%<id>s/pdf", { id: CGI.escape(id) }),
|
34
|
+
params,
|
35
|
+
opts,
|
36
|
+
&read_body_chunk_block
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Returns a list of tax forms which were previously created. The tax forms are returned in sorted order, with the oldest tax forms appearing first.
|
41
|
+
def self.list(filters = {}, opts = {})
|
42
|
+
request_stripe_object(method: :get, path: "/v1/tax/forms", params: filters, opts: opts)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -24,6 +24,36 @@ module Stripe
|
|
24
24
|
)
|
25
25
|
end
|
26
26
|
|
27
|
+
# Initiates an input collection flow on a Reader.
|
28
|
+
def collect_inputs(params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :post,
|
31
|
+
path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
|
38
|
+
def collect_payment_method(params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(self["id"]) }),
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Finalizes a payment on a Reader.
|
48
|
+
def confirm_payment_intent(params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(self["id"]) }),
|
52
|
+
params: params,
|
53
|
+
opts: opts
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
27
57
|
# Initiates a payment flow on a Reader.
|
28
58
|
def process_payment_intent(params = {}, opts = {})
|
29
59
|
request_stripe_object(
|
@@ -74,6 +104,36 @@ module Stripe
|
|
74
104
|
)
|
75
105
|
end
|
76
106
|
|
107
|
+
# Initiates an input collection flow on a Reader.
|
108
|
+
def self.collect_inputs(reader, params = {}, opts = {})
|
109
|
+
request_stripe_object(
|
110
|
+
method: :post,
|
111
|
+
path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
|
112
|
+
params: params,
|
113
|
+
opts: opts
|
114
|
+
)
|
115
|
+
end
|
116
|
+
|
117
|
+
# Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
|
118
|
+
def self.collect_payment_method(reader, params = {}, opts = {})
|
119
|
+
request_stripe_object(
|
120
|
+
method: :post,
|
121
|
+
path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(reader) }),
|
122
|
+
params: params,
|
123
|
+
opts: opts
|
124
|
+
)
|
125
|
+
end
|
126
|
+
|
127
|
+
# Finalizes a payment on a Reader.
|
128
|
+
def self.confirm_payment_intent(reader, params = {}, opts = {})
|
129
|
+
request_stripe_object(
|
130
|
+
method: :post,
|
131
|
+
path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(reader) }),
|
132
|
+
params: params,
|
133
|
+
opts: opts
|
134
|
+
)
|
135
|
+
end
|
136
|
+
|
77
137
|
# Initiates a payment flow on a Reader.
|
78
138
|
def self.process_payment_intent(reader, params = {}, opts = {})
|
79
139
|
request_stripe_object(
|