stripe 10.15.0.pre.beta.1 → 10.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +48 -311
- data/OPENAPI_VERSION +1 -1
- data/README.md +5 -18
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +3 -4
- data/lib/stripe/api_operations/save.rb +1 -1
- data/lib/stripe/api_operations/singleton_save.rb +1 -1
- data/lib/stripe/api_resource.rb +3 -3
- data/lib/stripe/api_version.rb +0 -1
- data/lib/stripe/object_types.rb +0 -16
- data/lib/stripe/resources/financial_connections/account.rb +0 -3
- data/lib/stripe/resources/invoice.rb +0 -113
- data/lib/stripe/resources/payment_intent.rb +0 -50
- data/lib/stripe/resources/product.rb +1 -1
- data/lib/stripe/resources/quote.rb +0 -104
- data/lib/stripe/resources/subscription_schedule.rb +0 -20
- data/lib/stripe/resources/terminal/reader.rb +0 -60
- data/lib/stripe/resources.rb +0 -15
- data/lib/stripe/stripe_client.rb +28 -62
- data/lib/stripe/stripe_configuration.rb +1 -2
- data/lib/stripe/stripe_object.rb +8 -3
- data/lib/stripe/util.rb +4 -11
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +0 -54
- data/stripe.gemspec +4 -5
- metadata +6 -22
- data/lib/stripe/request_signing_authenticator.rb +0 -79
- data/lib/stripe/resources/account_notice.rb +0 -32
- data/lib/stripe/resources/capital/financing_offer.rb +0 -49
- data/lib/stripe/resources/capital/financing_summary.rb +0 -15
- data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
- data/lib/stripe/resources/gift_cards/card.rb +0 -59
- data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
- data/lib/stripe/resources/invoice_payment.rb +0 -12
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
- data/lib/stripe/resources/margin.rb +0 -37
- data/lib/stripe/resources/order.rb +0 -120
- data/lib/stripe/resources/quote_phase.rb +0 -39
- data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
- data/lib/stripe/resources/tax/form.rb +0 -49
- /data/{bin → exe}/stripe-console +0 -0
@@ -27,7 +27,7 @@ module Stripe
|
|
27
27
|
|
28
28
|
private def request_stripe_object(method:, path:, params:, opts: {}, usage: [])
|
29
29
|
resp, opts = execute_resource_request(method, path, params, opts, usage)
|
30
|
-
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
30
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts, resp)
|
31
31
|
end
|
32
32
|
|
33
33
|
private def execute_resource_request_internal(client_request_method_sym,
|
@@ -48,14 +48,13 @@ module Stripe
|
|
48
48
|
api_key = headers.delete(:api_key)
|
49
49
|
api_base = headers.delete(:api_base)
|
50
50
|
client = headers.delete(:client)
|
51
|
-
api_mode = headers.delete(:api_mode)
|
52
51
|
# Assume all remaining opts must be headers
|
53
52
|
|
54
53
|
resp, opts[:api_key] = client.send(
|
55
54
|
client_request_method_sym,
|
56
55
|
method, url,
|
57
56
|
api_base: api_base, api_key: api_key,
|
58
|
-
headers: headers, params: params, usage: usage,
|
57
|
+
headers: headers, params: params, usage: usage,
|
59
58
|
&read_body_chunk_block
|
60
59
|
)
|
61
60
|
|
@@ -130,7 +129,7 @@ module Stripe
|
|
130
129
|
|
131
130
|
private def request_stripe_object(method:, path:, params:, opts: {}, usage: [])
|
132
131
|
resp, opts = execute_resource_request(method, path, params, opts, usage)
|
133
|
-
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
132
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts, resp)
|
134
133
|
end
|
135
134
|
|
136
135
|
# See notes on `alias` above.
|
@@ -67,7 +67,7 @@ module Stripe
|
|
67
67
|
values.delete(:id)
|
68
68
|
|
69
69
|
resp, opts = execute_resource_request(:post, save_url, values, opts, ["save"])
|
70
|
-
initialize_from(resp.data, opts)
|
70
|
+
initialize_from(resp.data, opts, resp)
|
71
71
|
end
|
72
72
|
extend Gem::Deprecate
|
73
73
|
deprecate :save, "the `update` class method (for examples " \
|
@@ -62,7 +62,7 @@ module Stripe
|
|
62
62
|
values = serialize_params(self).merge(params)
|
63
63
|
|
64
64
|
resp, opts = execute_resource_request(:post, resource_url, values, opts, ["save"])
|
65
|
-
initialize_from(resp.data, opts)
|
65
|
+
initialize_from(resp.data, opts, resp)
|
66
66
|
end
|
67
67
|
extend Gem::Deprecate
|
68
68
|
deprecate :save, "the `update` class method (for examples " \
|
data/lib/stripe/api_resource.rb
CHANGED
@@ -89,7 +89,7 @@ module Stripe
|
|
89
89
|
def refresh
|
90
90
|
resp, opts = execute_resource_request(:get, resource_url,
|
91
91
|
@retrieve_params)
|
92
|
-
initialize_from(resp.data, opts)
|
92
|
+
initialize_from(resp.data, opts, resp)
|
93
93
|
end
|
94
94
|
|
95
95
|
def self.retrieve(id, opts = {})
|
@@ -104,9 +104,9 @@ module Stripe
|
|
104
104
|
|
105
105
|
# If we're getting back this thing, update; otherwise, instantiate.
|
106
106
|
if Util.object_name_matches_class?(resp.data[:object], self.class)
|
107
|
-
initialize_from(resp.data, opts)
|
107
|
+
initialize_from(resp.data, opts, resp)
|
108
108
|
else
|
109
|
-
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
109
|
+
Util.convert_to_stripe_object_with_params(resp.data, params, opts, resp)
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
data/lib/stripe/api_version.rb
CHANGED
data/lib/stripe/object_types.rb
CHANGED
@@ -15,7 +15,6 @@ module Stripe
|
|
15
15
|
# The beginning of the section generated from our OpenAPI spec
|
16
16
|
Account.object_name => Account,
|
17
17
|
AccountLink.object_name => AccountLink,
|
18
|
-
AccountNotice.object_name => AccountNotice,
|
19
18
|
AccountSession.object_name => AccountSession,
|
20
19
|
ApplePayDomain.object_name => ApplePayDomain,
|
21
20
|
ApplicationFee.object_name => ApplicationFee,
|
@@ -31,9 +30,6 @@ module Stripe
|
|
31
30
|
BillingPortal::Configuration.object_name => BillingPortal::Configuration,
|
32
31
|
BillingPortal::Session.object_name => BillingPortal::Session,
|
33
32
|
Capability.object_name => Capability,
|
34
|
-
Capital::FinancingOffer.object_name => Capital::FinancingOffer,
|
35
|
-
Capital::FinancingSummary.object_name => Capital::FinancingSummary,
|
36
|
-
Capital::FinancingTransaction.object_name => Capital::FinancingTransaction,
|
37
33
|
Card.object_name => Card,
|
38
34
|
CashBalance.object_name => CashBalance,
|
39
35
|
Charge.object_name => Charge,
|
@@ -60,26 +56,20 @@ module Stripe
|
|
60
56
|
File.object_name => File,
|
61
57
|
FileLink.object_name => FileLink,
|
62
58
|
FinancialConnections::Account.object_name => FinancialConnections::Account,
|
63
|
-
FinancialConnections::AccountInferredBalance.object_name =>
|
64
|
-
FinancialConnections::AccountInferredBalance,
|
65
59
|
FinancialConnections::AccountOwner.object_name => FinancialConnections::AccountOwner,
|
66
60
|
FinancialConnections::AccountOwnership.object_name => FinancialConnections::AccountOwnership,
|
67
61
|
FinancialConnections::Session.object_name => FinancialConnections::Session,
|
68
62
|
FinancialConnections::Transaction.object_name => FinancialConnections::Transaction,
|
69
63
|
Forwarding::Request.object_name => Forwarding::Request,
|
70
64
|
FundingInstructions.object_name => FundingInstructions,
|
71
|
-
GiftCards::Card.object_name => GiftCards::Card,
|
72
|
-
GiftCards::Transaction.object_name => GiftCards::Transaction,
|
73
65
|
Identity::VerificationReport.object_name => Identity::VerificationReport,
|
74
66
|
Identity::VerificationSession.object_name => Identity::VerificationSession,
|
75
67
|
Invoice.object_name => Invoice,
|
76
68
|
InvoiceItem.object_name => InvoiceItem,
|
77
69
|
InvoiceLineItem.object_name => InvoiceLineItem,
|
78
|
-
InvoicePayment.object_name => InvoicePayment,
|
79
70
|
Issuing::Authorization.object_name => Issuing::Authorization,
|
80
71
|
Issuing::Card.object_name => Issuing::Card,
|
81
72
|
Issuing::Cardholder.object_name => Issuing::Cardholder,
|
82
|
-
Issuing::CreditUnderwritingRecord.object_name => Issuing::CreditUnderwritingRecord,
|
83
73
|
Issuing::Dispute.object_name => Issuing::Dispute,
|
84
74
|
Issuing::PersonalizationDesign.object_name => Issuing::PersonalizationDesign,
|
85
75
|
Issuing::PhysicalBundle.object_name => Issuing::PhysicalBundle,
|
@@ -88,8 +78,6 @@ module Stripe
|
|
88
78
|
LineItem.object_name => LineItem,
|
89
79
|
LoginLink.object_name => LoginLink,
|
90
80
|
Mandate.object_name => Mandate,
|
91
|
-
Margin.object_name => Margin,
|
92
|
-
Order.object_name => Order,
|
93
81
|
PaymentIntent.object_name => PaymentIntent,
|
94
82
|
PaymentLink.object_name => PaymentLink,
|
95
83
|
PaymentMethod.object_name => PaymentMethod,
|
@@ -103,9 +91,6 @@ module Stripe
|
|
103
91
|
ProductFeature.object_name => ProductFeature,
|
104
92
|
PromotionCode.object_name => PromotionCode,
|
105
93
|
Quote.object_name => Quote,
|
106
|
-
QuotePhase.object_name => QuotePhase,
|
107
|
-
QuotePreviewInvoice.object_name => QuotePreviewInvoice,
|
108
|
-
QuotePreviewSubscriptionSchedule.object_name => QuotePreviewSubscriptionSchedule,
|
109
94
|
Radar::EarlyFraudWarning.object_name => Radar::EarlyFraudWarning,
|
110
95
|
Radar::ValueList.object_name => Radar::ValueList,
|
111
96
|
Radar::ValueListItem.object_name => Radar::ValueListItem,
|
@@ -125,7 +110,6 @@ module Stripe
|
|
125
110
|
SubscriptionSchedule.object_name => SubscriptionSchedule,
|
126
111
|
Tax::Calculation.object_name => Tax::Calculation,
|
127
112
|
Tax::CalculationLineItem.object_name => Tax::CalculationLineItem,
|
128
|
-
Tax::Form.object_name => Tax::Form,
|
129
113
|
Tax::Registration.object_name => Tax::Registration,
|
130
114
|
Tax::Settings.object_name => Tax::Settings,
|
131
115
|
Tax::Transaction.object_name => Tax::Transaction,
|
@@ -6,15 +6,12 @@ module Stripe
|
|
6
6
|
# A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
|
7
7
|
class Account < APIResource
|
8
8
|
extend Stripe::APIOperations::List
|
9
|
-
extend Stripe::APIOperations::NestedResource
|
10
9
|
|
11
10
|
OBJECT_NAME = "financial_connections.account"
|
12
11
|
def self.object_name
|
13
12
|
"financial_connections.account"
|
14
13
|
end
|
15
14
|
|
16
|
-
nested_resource_class_methods :inferred_balance, operations: %i[list]
|
17
|
-
|
18
15
|
# Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
|
19
16
|
def disconnect(params = {}, opts = {})
|
20
17
|
request_stripe_object(
|
@@ -38,7 +38,6 @@ module Stripe
|
|
38
38
|
extend Stripe::APIOperations::Create
|
39
39
|
include Stripe::APIOperations::Delete
|
40
40
|
extend Stripe::APIOperations::List
|
41
|
-
extend Stripe::APIOperations::NestedResource
|
42
41
|
extend Stripe::APIOperations::Search
|
43
42
|
include Stripe::APIOperations::Save
|
44
43
|
|
@@ -47,83 +46,11 @@ module Stripe
|
|
47
46
|
"invoice"
|
48
47
|
end
|
49
48
|
|
50
|
-
nested_resource_class_methods :payment, operations: %i[retrieve list]
|
51
|
-
|
52
|
-
# Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
|
53
|
-
def add_lines(params = {}, opts = {})
|
54
|
-
request_stripe_object(
|
55
|
-
method: :post,
|
56
|
-
path: format("/v1/invoices/%<invoice>s/add_lines", { invoice: CGI.escape(self["id"]) }),
|
57
|
-
params: params,
|
58
|
-
opts: opts
|
59
|
-
)
|
60
|
-
end
|
61
|
-
|
62
|
-
# Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
|
63
|
-
def self.add_lines(invoice, params = {}, opts = {})
|
64
|
-
request_stripe_object(
|
65
|
-
method: :post,
|
66
|
-
path: format("/v1/invoices/%<invoice>s/add_lines", { invoice: CGI.escape(invoice) }),
|
67
|
-
params: params,
|
68
|
-
opts: opts
|
69
|
-
)
|
70
|
-
end
|
71
|
-
|
72
|
-
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
73
|
-
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
74
|
-
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
75
|
-
# invoice's status becomes paid.
|
76
|
-
#
|
77
|
-
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
78
|
-
# credited to the invoice immediately.
|
79
|
-
#
|
80
|
-
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
81
|
-
def attach_payment_intent(params = {}, opts = {})
|
82
|
-
request_stripe_object(
|
83
|
-
method: :post,
|
84
|
-
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(self["id"]) }),
|
85
|
-
params: params,
|
86
|
-
opts: opts
|
87
|
-
)
|
88
|
-
end
|
89
|
-
|
90
|
-
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
91
|
-
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
92
|
-
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
93
|
-
# invoice's status becomes paid.
|
94
|
-
#
|
95
|
-
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
96
|
-
# credited to the invoice immediately.
|
97
|
-
#
|
98
|
-
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
99
|
-
def self.attach_payment_intent(invoice, params = {}, opts = {})
|
100
|
-
request_stripe_object(
|
101
|
-
method: :post,
|
102
|
-
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(invoice) }),
|
103
|
-
params: params,
|
104
|
-
opts: opts
|
105
|
-
)
|
106
|
-
end
|
107
|
-
|
108
49
|
# This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or <a href="#send_invoice">send](https://stripe.com/docs/api#finalize_invoice) the invoice to your customers.
|
109
50
|
def self.create(params = {}, opts = {})
|
110
51
|
request_stripe_object(method: :post, path: "/v1/invoices", params: params, opts: opts)
|
111
52
|
end
|
112
53
|
|
113
|
-
# At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
|
114
|
-
#
|
115
|
-
# Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount.
|
116
|
-
#
|
117
|
-
# You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_details.proration_date value passed in the request.
|
118
|
-
def self.create_preview(params = {}, opts = {})
|
119
|
-
request_stripe_object(
|
120
|
-
method: :post,
|
121
|
-
path: "/v1/invoices/create_preview",
|
122
|
-
params: params,
|
123
|
-
opts: opts
|
124
|
-
)
|
125
|
-
end
|
126
|
-
|
127
54
|
# Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://stripe.com/docs/api#void_invoice).
|
128
55
|
def self.delete(id, params = {}, opts = {})
|
129
56
|
request_stripe_object(
|
@@ -219,26 +146,6 @@ module Stripe
|
|
219
146
|
)
|
220
147
|
end
|
221
148
|
|
222
|
-
# Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
|
223
|
-
def remove_lines(params = {}, opts = {})
|
224
|
-
request_stripe_object(
|
225
|
-
method: :post,
|
226
|
-
path: format("/v1/invoices/%<invoice>s/remove_lines", { invoice: CGI.escape(self["id"]) }),
|
227
|
-
params: params,
|
228
|
-
opts: opts
|
229
|
-
)
|
230
|
-
end
|
231
|
-
|
232
|
-
# Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
|
233
|
-
def self.remove_lines(invoice, params = {}, opts = {})
|
234
|
-
request_stripe_object(
|
235
|
-
method: :post,
|
236
|
-
path: format("/v1/invoices/%<invoice>s/remove_lines", { invoice: CGI.escape(invoice) }),
|
237
|
-
params: params,
|
238
|
-
opts: opts
|
239
|
-
)
|
240
|
-
end
|
241
|
-
|
242
149
|
def self.search(params = {}, opts = {})
|
243
150
|
request_stripe_object(method: :get, path: "/v1/invoices/search", params: params, opts: opts)
|
244
151
|
end
|
@@ -295,26 +202,6 @@ module Stripe
|
|
295
202
|
)
|
296
203
|
end
|
297
204
|
|
298
|
-
# Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
|
299
|
-
def update_lines(params = {}, opts = {})
|
300
|
-
request_stripe_object(
|
301
|
-
method: :post,
|
302
|
-
path: format("/v1/invoices/%<invoice>s/update_lines", { invoice: CGI.escape(self["id"]) }),
|
303
|
-
params: params,
|
304
|
-
opts: opts
|
305
|
-
)
|
306
|
-
end
|
307
|
-
|
308
|
-
# Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
|
309
|
-
def self.update_lines(invoice, params = {}, opts = {})
|
310
|
-
request_stripe_object(
|
311
|
-
method: :post,
|
312
|
-
path: format("/v1/invoices/%<invoice>s/update_lines", { invoice: CGI.escape(invoice) }),
|
313
|
-
params: params,
|
314
|
-
opts: opts
|
315
|
-
)
|
316
|
-
end
|
317
|
-
|
318
205
|
# Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
|
319
206
|
#
|
320
207
|
# Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/docs/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
|
@@ -176,56 +176,6 @@ module Stripe
|
|
176
176
|
request_stripe_object(method: :post, path: "/v1/payment_intents", params: params, opts: opts)
|
177
177
|
end
|
178
178
|
|
179
|
-
# Perform an decremental authorization on an eligible
|
180
|
-
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
181
|
-
# PaymentIntent's status must be requires_capture and
|
182
|
-
# [decremental_authorization.status](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card-decremental_authorization)
|
183
|
-
# must be available.
|
184
|
-
#
|
185
|
-
# Decremental authorizations decrease the authorized amount on your customer's card
|
186
|
-
# to the new, lower amount provided. A single PaymentIntent can call this endpoint multiple times to further decrease the authorized amount.
|
187
|
-
#
|
188
|
-
# After decrement, the PaymentIntent object
|
189
|
-
# returns with the updated
|
190
|
-
# [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
|
191
|
-
# The PaymentIntent will now be capturable up to the new authorized amount.
|
192
|
-
#
|
193
|
-
# Each PaymentIntent can have a maximum of 10 decremental or incremental authorization attempts, including declines.
|
194
|
-
# After it's captured, a PaymentIntent can no longer be decremented.
|
195
|
-
def decrement_authorization(params = {}, opts = {})
|
196
|
-
request_stripe_object(
|
197
|
-
method: :post,
|
198
|
-
path: format("/v1/payment_intents/%<intent>s/decrement_authorization", { intent: CGI.escape(self["id"]) }),
|
199
|
-
params: params,
|
200
|
-
opts: opts
|
201
|
-
)
|
202
|
-
end
|
203
|
-
|
204
|
-
# Perform an decremental authorization on an eligible
|
205
|
-
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
206
|
-
# PaymentIntent's status must be requires_capture and
|
207
|
-
# [decremental_authorization.status](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card-decremental_authorization)
|
208
|
-
# must be available.
|
209
|
-
#
|
210
|
-
# Decremental authorizations decrease the authorized amount on your customer's card
|
211
|
-
# to the new, lower amount provided. A single PaymentIntent can call this endpoint multiple times to further decrease the authorized amount.
|
212
|
-
#
|
213
|
-
# After decrement, the PaymentIntent object
|
214
|
-
# returns with the updated
|
215
|
-
# [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
|
216
|
-
# The PaymentIntent will now be capturable up to the new authorized amount.
|
217
|
-
#
|
218
|
-
# Each PaymentIntent can have a maximum of 10 decremental or incremental authorization attempts, including declines.
|
219
|
-
# After it's captured, a PaymentIntent can no longer be decremented.
|
220
|
-
def self.decrement_authorization(intent, params = {}, opts = {})
|
221
|
-
request_stripe_object(
|
222
|
-
method: :post,
|
223
|
-
path: format("/v1/payment_intents/%<intent>s/decrement_authorization", { intent: CGI.escape(intent) }),
|
224
|
-
params: params,
|
225
|
-
opts: opts
|
226
|
-
)
|
227
|
-
end
|
228
|
-
|
229
179
|
# Perform an incremental authorization on an eligible
|
230
180
|
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
231
181
|
# PaymentIntent's status must be requires_capture and
|
@@ -23,7 +23,7 @@ module Stripe
|
|
23
23
|
"product"
|
24
24
|
end
|
25
25
|
|
26
|
-
nested_resource_class_methods :feature, operations: %i[create delete list]
|
26
|
+
nested_resource_class_methods :feature, operations: %i[create retrieve delete list]
|
27
27
|
|
28
28
|
# Creates a new product object.
|
29
29
|
def self.create(params = {}, opts = {})
|
@@ -7,7 +7,6 @@ module Stripe
|
|
7
7
|
class Quote < APIResource
|
8
8
|
extend Stripe::APIOperations::Create
|
9
9
|
extend Stripe::APIOperations::List
|
10
|
-
extend Stripe::APIOperations::NestedResource
|
11
10
|
include Stripe::APIOperations::Save
|
12
11
|
|
13
12
|
OBJECT_NAME = "quote"
|
@@ -15,9 +14,6 @@ module Stripe
|
|
15
14
|
"quote"
|
16
15
|
end
|
17
16
|
|
18
|
-
nested_resource_class_methods :preview_invoice, operations: %i[list]
|
19
|
-
nested_resource_class_methods :preview_subscription_schedule, operations: %i[list]
|
20
|
-
|
21
17
|
# Accepts the specified quote.
|
22
18
|
def accept(params = {}, opts = {})
|
23
19
|
request_stripe_object(
|
@@ -128,86 +124,6 @@ module Stripe
|
|
128
124
|
)
|
129
125
|
end
|
130
126
|
|
131
|
-
# 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.
|
132
|
-
def list_lines(params = {}, opts = {})
|
133
|
-
request_stripe_object(
|
134
|
-
method: :get,
|
135
|
-
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
|
136
|
-
params: params,
|
137
|
-
opts: opts
|
138
|
-
)
|
139
|
-
end
|
140
|
-
|
141
|
-
# 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.
|
142
|
-
def self.list_lines(quote, params = {}, opts = {})
|
143
|
-
request_stripe_object(
|
144
|
-
method: :get,
|
145
|
-
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
|
146
|
-
params: params,
|
147
|
-
opts: opts
|
148
|
-
)
|
149
|
-
end
|
150
|
-
|
151
|
-
# Preview the invoice line items that would be generated by accepting the quote.
|
152
|
-
def list_preview_invoice_lines(preview_invoice, params = {}, opts = {})
|
153
|
-
request_stripe_object(
|
154
|
-
method: :get,
|
155
|
-
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
|
156
|
-
params: params,
|
157
|
-
opts: opts
|
158
|
-
)
|
159
|
-
end
|
160
|
-
|
161
|
-
# Preview the invoice line items that would be generated by accepting the quote.
|
162
|
-
def self.list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
|
163
|
-
request_stripe_object(
|
164
|
-
method: :get,
|
165
|
-
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
|
166
|
-
params: params,
|
167
|
-
opts: opts
|
168
|
-
)
|
169
|
-
end
|
170
|
-
|
171
|
-
# Converts a stale quote to draft.
|
172
|
-
def mark_draft(params = {}, opts = {})
|
173
|
-
request_stripe_object(
|
174
|
-
method: :post,
|
175
|
-
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
|
176
|
-
params: params,
|
177
|
-
opts: opts
|
178
|
-
)
|
179
|
-
end
|
180
|
-
|
181
|
-
# Converts a stale quote to draft.
|
182
|
-
def self.mark_draft(quote, params = {}, opts = {})
|
183
|
-
request_stripe_object(
|
184
|
-
method: :post,
|
185
|
-
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
|
186
|
-
params: params,
|
187
|
-
opts: opts
|
188
|
-
)
|
189
|
-
end
|
190
|
-
|
191
|
-
# Converts a draft or open quote to stale.
|
192
|
-
def mark_stale(params = {}, opts = {})
|
193
|
-
request_stripe_object(
|
194
|
-
method: :post,
|
195
|
-
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
|
196
|
-
params: params,
|
197
|
-
opts: opts
|
198
|
-
)
|
199
|
-
end
|
200
|
-
|
201
|
-
# Converts a draft or open quote to stale.
|
202
|
-
def self.mark_stale(quote, params = {}, opts = {})
|
203
|
-
request_stripe_object(
|
204
|
-
method: :post,
|
205
|
-
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
|
206
|
-
params: params,
|
207
|
-
opts: opts
|
208
|
-
)
|
209
|
-
end
|
210
|
-
|
211
127
|
# Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.corp.stripe.com/quotes/overview#quote_pdf)
|
212
128
|
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
213
129
|
config = opts[:client]&.config || Stripe.config
|
@@ -234,26 +150,6 @@ module Stripe
|
|
234
150
|
)
|
235
151
|
end
|
236
152
|
|
237
|
-
# Recompute the upcoming invoice estimate for the quote.
|
238
|
-
def reestimate(params = {}, opts = {})
|
239
|
-
request_stripe_object(
|
240
|
-
method: :post,
|
241
|
-
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
|
242
|
-
params: params,
|
243
|
-
opts: opts
|
244
|
-
)
|
245
|
-
end
|
246
|
-
|
247
|
-
# Recompute the upcoming invoice estimate for the quote.
|
248
|
-
def self.reestimate(quote, params = {}, opts = {})
|
249
|
-
request_stripe_object(
|
250
|
-
method: :post,
|
251
|
-
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
|
252
|
-
params: params,
|
253
|
-
opts: opts
|
254
|
-
)
|
255
|
-
end
|
256
|
-
|
257
153
|
# A quote models prices and services for a customer.
|
258
154
|
def self.update(id, params = {}, opts = {})
|
259
155
|
request_stripe_object(
|
@@ -15,26 +15,6 @@ module Stripe
|
|
15
15
|
"subscription_schedule"
|
16
16
|
end
|
17
17
|
|
18
|
-
# Amends an existing subscription schedule.
|
19
|
-
def amend(params = {}, opts = {})
|
20
|
-
request_stripe_object(
|
21
|
-
method: :post,
|
22
|
-
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }),
|
23
|
-
params: params,
|
24
|
-
opts: opts
|
25
|
-
)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Amends an existing subscription schedule.
|
29
|
-
def self.amend(schedule, params = {}, opts = {})
|
30
|
-
request_stripe_object(
|
31
|
-
method: :post,
|
32
|
-
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }),
|
33
|
-
params: params,
|
34
|
-
opts: opts
|
35
|
-
)
|
36
|
-
end
|
37
|
-
|
38
18
|
# 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.
|
39
19
|
def cancel(params = {}, opts = {})
|
40
20
|
request_stripe_object(
|
@@ -37,66 +37,6 @@ module Stripe
|
|
37
37
|
)
|
38
38
|
end
|
39
39
|
|
40
|
-
# Initiates an input collection flow on a Reader.
|
41
|
-
def collect_inputs(params = {}, opts = {})
|
42
|
-
request_stripe_object(
|
43
|
-
method: :post,
|
44
|
-
path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
|
45
|
-
params: params,
|
46
|
-
opts: opts
|
47
|
-
)
|
48
|
-
end
|
49
|
-
|
50
|
-
# Initiates an input collection flow on a Reader.
|
51
|
-
def self.collect_inputs(reader, params = {}, opts = {})
|
52
|
-
request_stripe_object(
|
53
|
-
method: :post,
|
54
|
-
path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
|
55
|
-
params: params,
|
56
|
-
opts: opts
|
57
|
-
)
|
58
|
-
end
|
59
|
-
|
60
|
-
# Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
|
61
|
-
def collect_payment_method(params = {}, opts = {})
|
62
|
-
request_stripe_object(
|
63
|
-
method: :post,
|
64
|
-
path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(self["id"]) }),
|
65
|
-
params: params,
|
66
|
-
opts: opts
|
67
|
-
)
|
68
|
-
end
|
69
|
-
|
70
|
-
# Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
|
71
|
-
def self.collect_payment_method(reader, params = {}, opts = {})
|
72
|
-
request_stripe_object(
|
73
|
-
method: :post,
|
74
|
-
path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(reader) }),
|
75
|
-
params: params,
|
76
|
-
opts: opts
|
77
|
-
)
|
78
|
-
end
|
79
|
-
|
80
|
-
# Finalizes a payment on a Reader.
|
81
|
-
def confirm_payment_intent(params = {}, opts = {})
|
82
|
-
request_stripe_object(
|
83
|
-
method: :post,
|
84
|
-
path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(self["id"]) }),
|
85
|
-
params: params,
|
86
|
-
opts: opts
|
87
|
-
)
|
88
|
-
end
|
89
|
-
|
90
|
-
# Finalizes a payment on a Reader.
|
91
|
-
def self.confirm_payment_intent(reader, params = {}, opts = {})
|
92
|
-
request_stripe_object(
|
93
|
-
method: :post,
|
94
|
-
path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(reader) }),
|
95
|
-
params: params,
|
96
|
-
opts: opts
|
97
|
-
)
|
98
|
-
end
|
99
|
-
|
100
40
|
# Creates a new Reader object.
|
101
41
|
def self.create(params = {}, opts = {})
|
102
42
|
request_stripe_object(
|