stripe 11.7.0.pre.beta.1 → 12.0.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 +675 -1319
- data/OPENAPI_VERSION +1 -1
- data/README.md +0 -11
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +1 -2
- data/lib/stripe/api_version.rb +1 -2
- data/lib/stripe/object_types.rb +0 -16
- data/lib/stripe/resources/bank_account.rb +16 -4
- data/lib/stripe/resources/climate/order.rb +2 -2
- data/lib/stripe/resources/financial_connections/account.rb +0 -3
- data/lib/stripe/resources/invoice.rb +0 -97
- data/lib/stripe/resources/issuing/authorization.rb +20 -0
- data/lib/stripe/resources/payment_intent.rb +0 -50
- data/lib/stripe/resources/quote.rb +0 -104
- data/lib/stripe/resources/setup_intent.rb +2 -2
- data/lib/stripe/resources/subscription_schedule.rb +0 -20
- data/lib/stripe/resources/tax/calculation.rb +3 -3
- data/lib/stripe/resources/tax/transaction.rb +1 -1
- data/lib/stripe/resources/terminal/reader.rb +0 -60
- data/lib/stripe/resources.rb +0 -15
- data/lib/stripe/stripe_client.rb +33 -63
- data/lib/stripe/stripe_configuration.rb +1 -2
- data/lib/stripe/util.rb +1 -8
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +0 -54
- metadata +4 -20
- 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/OPENAPI_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
v1093
|
data/README.md
CHANGED
@@ -339,17 +339,6 @@ If your beta feature requires a `Stripe-Version` header to be sent, set the `Str
|
|
339
339
|
Stripe.add_beta_version("feature_beta", "v3")
|
340
340
|
```
|
341
341
|
|
342
|
-
### Custom requests
|
343
|
-
|
344
|
-
If you would like to send a request to an undocumented API (for example you are in a private beta), or if you prefer to bypass the method definitions in the library and specify your request details directly, you can use the `raw_request` method on `Stripe`.
|
345
|
-
|
346
|
-
```ruby
|
347
|
-
resp = Stripe.raw_request(:post, "/v1/beta_endpoint", {param: 123}, {stripe_version: "2022-11-15; feature_beta=v3"})
|
348
|
-
|
349
|
-
# (Optional) resp is a StripeResponse. You can use `Stripe.deserialize` to get a StripeObject.
|
350
|
-
deserialized_resp = Stripe.deserialize(resp.http_body)
|
351
|
-
```
|
352
|
-
|
353
342
|
## Support
|
354
343
|
|
355
344
|
New features and bug fixes are released on the latest major version of the Stripe Ruby library. If you are on an older major version, we recommend that you upgrade to the latest in order to use the new features and bug fixes including those for security vulnerabilities. Older major versions of the package will continue to be available for use, but will not be receiving any updates.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
12.0.0
|
@@ -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
|
|
data/lib/stripe/api_version.rb
CHANGED
data/lib/stripe/object_types.rb
CHANGED
@@ -15,7 +15,6 @@ module Stripe
|
|
15
15
|
# object classes: 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,
|
@@ -5,8 +5,7 @@ module Stripe
|
|
5
5
|
# These bank accounts are payment methods on `Customer` objects.
|
6
6
|
#
|
7
7
|
# On the other hand [External Accounts](https://stripe.com/api#external_accounts) are transfer
|
8
|
-
# destinations on `Account` objects for accounts
|
9
|
-
# is `application`, which includes [Custom accounts](https://stripe.com/connect/custom-accounts).
|
8
|
+
# destinations on `Account` objects for connected accounts.
|
10
9
|
# They can be bank accounts or debit cards as well, and are documented in the links above.
|
11
10
|
#
|
12
11
|
# Related guide: [Bank debits and transfers](https://stripe.com/payments/bank-debits-transfers)
|
@@ -21,8 +20,21 @@ module Stripe
|
|
21
20
|
end
|
22
21
|
|
23
22
|
def verify(params = {}, opts = {})
|
24
|
-
|
25
|
-
|
23
|
+
request_stripe_object(
|
24
|
+
method: :post,
|
25
|
+
path: "#{Customer.resource_url}/#{customer}/sources/#{id}/verify",
|
26
|
+
params: params,
|
27
|
+
opts: opts
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.verify(customer, id, params = {}, opts = {})
|
32
|
+
request_stripe_object(
|
33
|
+
method: :post,
|
34
|
+
path: "#{Customer.resource_url}/#{customer}/sources/#{id}/verify",
|
35
|
+
params: params,
|
36
|
+
opts: opts
|
37
|
+
)
|
26
38
|
end
|
27
39
|
|
28
40
|
def resource_url
|
@@ -15,7 +15,7 @@ module Stripe
|
|
15
15
|
"climate.order"
|
16
16
|
end
|
17
17
|
|
18
|
-
# Cancels a Climate order. You can cancel an order within
|
18
|
+
# Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the
|
19
19
|
# reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
|
20
20
|
# might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
|
21
21
|
# provides 90 days advance notice and refunds the amount_total.
|
@@ -28,7 +28,7 @@ module Stripe
|
|
28
28
|
)
|
29
29
|
end
|
30
30
|
|
31
|
-
# Cancels a Climate order. You can cancel an order within
|
31
|
+
# Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the
|
32
32
|
# reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
|
33
33
|
# might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
|
34
34
|
# provides 90 days advance notice and refunds the amount_total.
|
@@ -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(
|
@@ -48,63 +48,6 @@ module Stripe
|
|
48
48
|
end
|
49
49
|
|
50
50
|
nested_resource_class_methods :line, operations: %i[list]
|
51
|
-
nested_resource_class_methods :payment, operations: %i[retrieve list]
|
52
|
-
|
53
|
-
# Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
|
54
|
-
def add_lines(params = {}, opts = {})
|
55
|
-
request_stripe_object(
|
56
|
-
method: :post,
|
57
|
-
path: format("/v1/invoices/%<invoice>s/add_lines", { invoice: CGI.escape(self["id"]) }),
|
58
|
-
params: params,
|
59
|
-
opts: opts
|
60
|
-
)
|
61
|
-
end
|
62
|
-
|
63
|
-
# Adds multiple line items to an invoice. This is only possible when an invoice is still a draft.
|
64
|
-
def self.add_lines(invoice, params = {}, opts = {})
|
65
|
-
request_stripe_object(
|
66
|
-
method: :post,
|
67
|
-
path: format("/v1/invoices/%<invoice>s/add_lines", { invoice: CGI.escape(invoice) }),
|
68
|
-
params: params,
|
69
|
-
opts: opts
|
70
|
-
)
|
71
|
-
end
|
72
|
-
|
73
|
-
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
74
|
-
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
75
|
-
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
76
|
-
# invoice's status becomes paid.
|
77
|
-
#
|
78
|
-
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
79
|
-
# credited to the invoice immediately.
|
80
|
-
#
|
81
|
-
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
82
|
-
def attach_payment_intent(params = {}, opts = {})
|
83
|
-
request_stripe_object(
|
84
|
-
method: :post,
|
85
|
-
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(self["id"]) }),
|
86
|
-
params: params,
|
87
|
-
opts: opts
|
88
|
-
)
|
89
|
-
end
|
90
|
-
|
91
|
-
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
92
|
-
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
93
|
-
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
94
|
-
# invoice's status becomes paid.
|
95
|
-
#
|
96
|
-
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
97
|
-
# credited to the invoice immediately.
|
98
|
-
#
|
99
|
-
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
100
|
-
def self.attach_payment_intent(invoice, params = {}, opts = {})
|
101
|
-
request_stripe_object(
|
102
|
-
method: :post,
|
103
|
-
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(invoice) }),
|
104
|
-
params: params,
|
105
|
-
opts: opts
|
106
|
-
)
|
107
|
-
end
|
108
51
|
|
109
52
|
# 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.
|
110
53
|
def self.create(params = {}, opts = {})
|
@@ -222,26 +165,6 @@ module Stripe
|
|
222
165
|
)
|
223
166
|
end
|
224
167
|
|
225
|
-
# Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
|
226
|
-
def remove_lines(params = {}, opts = {})
|
227
|
-
request_stripe_object(
|
228
|
-
method: :post,
|
229
|
-
path: format("/v1/invoices/%<invoice>s/remove_lines", { invoice: CGI.escape(self["id"]) }),
|
230
|
-
params: params,
|
231
|
-
opts: opts
|
232
|
-
)
|
233
|
-
end
|
234
|
-
|
235
|
-
# Removes multiple line items from an invoice. This is only possible when an invoice is still a draft.
|
236
|
-
def self.remove_lines(invoice, params = {}, opts = {})
|
237
|
-
request_stripe_object(
|
238
|
-
method: :post,
|
239
|
-
path: format("/v1/invoices/%<invoice>s/remove_lines", { invoice: CGI.escape(invoice) }),
|
240
|
-
params: params,
|
241
|
-
opts: opts
|
242
|
-
)
|
243
|
-
end
|
244
|
-
|
245
168
|
def self.search(params = {}, opts = {})
|
246
169
|
request_stripe_object(method: :get, path: "/v1/invoices/search", params: params, opts: opts)
|
247
170
|
end
|
@@ -300,26 +223,6 @@ module Stripe
|
|
300
223
|
)
|
301
224
|
end
|
302
225
|
|
303
|
-
# Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
|
304
|
-
def update_lines(params = {}, opts = {})
|
305
|
-
request_stripe_object(
|
306
|
-
method: :post,
|
307
|
-
path: format("/v1/invoices/%<invoice>s/update_lines", { invoice: CGI.escape(self["id"]) }),
|
308
|
-
params: params,
|
309
|
-
opts: opts
|
310
|
-
)
|
311
|
-
end
|
312
|
-
|
313
|
-
# Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
|
314
|
-
def self.update_lines(invoice, params = {}, opts = {})
|
315
|
-
request_stripe_object(
|
316
|
-
method: :post,
|
317
|
-
path: format("/v1/invoices/%<invoice>s/update_lines", { invoice: CGI.escape(invoice) }),
|
318
|
-
params: params,
|
319
|
-
opts: opts
|
320
|
-
)
|
321
|
-
end
|
322
|
-
|
323
226
|
# 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.
|
324
227
|
#
|
325
228
|
# 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.
|
@@ -152,6 +152,26 @@ module Stripe
|
|
152
152
|
)
|
153
153
|
end
|
154
154
|
|
155
|
+
# Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount.
|
156
|
+
def self.finalize_amount(authorization, params = {}, opts = {})
|
157
|
+
request_stripe_object(
|
158
|
+
method: :post,
|
159
|
+
path: format("/v1/test_helpers/issuing/authorizations/%<authorization>s/finalize_amount", { authorization: CGI.escape(authorization) }),
|
160
|
+
params: params,
|
161
|
+
opts: opts
|
162
|
+
)
|
163
|
+
end
|
164
|
+
|
165
|
+
# Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount.
|
166
|
+
def finalize_amount(params = {}, opts = {})
|
167
|
+
@resource.request_stripe_object(
|
168
|
+
method: :post,
|
169
|
+
path: format("/v1/test_helpers/issuing/authorizations/%<authorization>s/finalize_amount", { authorization: CGI.escape(@resource["id"]) }),
|
170
|
+
params: params,
|
171
|
+
opts: opts
|
172
|
+
)
|
173
|
+
end
|
174
|
+
|
155
175
|
# Increment a test-mode Authorization.
|
156
176
|
def self.increment(authorization, params = {}, opts = {})
|
157
177
|
request_stripe_object(
|
@@ -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 a 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 fully 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 a 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 fully 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
|
@@ -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(
|
@@ -35,7 +35,7 @@ module Stripe
|
|
35
35
|
|
36
36
|
# You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.
|
37
37
|
#
|
38
|
-
# After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error.
|
38
|
+
# After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
|
39
39
|
def cancel(params = {}, opts = {})
|
40
40
|
request_stripe_object(
|
41
41
|
method: :post,
|
@@ -47,7 +47,7 @@ module Stripe
|
|
47
47
|
|
48
48
|
# You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.
|
49
49
|
#
|
50
|
-
# After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error.
|
50
|
+
# After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
|
51
51
|
def self.cancel(intent, params = {}, opts = {})
|
52
52
|
request_stripe_object(
|
53
53
|
method: :post,
|
@@ -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(
|
@@ -14,7 +14,7 @@ module Stripe
|
|
14
14
|
"tax.calculation"
|
15
15
|
end
|
16
16
|
|
17
|
-
# Calculates tax based on input and returns a Tax Calculation object.
|
17
|
+
# Calculates tax based on the input and returns a Tax Calculation object.
|
18
18
|
def self.create(params = {}, opts = {})
|
19
19
|
request_stripe_object(
|
20
20
|
method: :post,
|
@@ -24,7 +24,7 @@ module Stripe
|
|
24
24
|
)
|
25
25
|
end
|
26
26
|
|
27
|
-
# Retrieves the line items of a
|
27
|
+
# Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired.
|
28
28
|
def list_line_items(params = {}, opts = {})
|
29
29
|
request_stripe_object(
|
30
30
|
method: :get,
|
@@ -34,7 +34,7 @@ module Stripe
|
|
34
34
|
)
|
35
35
|
end
|
36
36
|
|
37
|
-
# Retrieves the line items of a
|
37
|
+
# Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired.
|
38
38
|
def self.list_line_items(calculation, params = {}, opts = {})
|
39
39
|
request_stripe_object(
|
40
40
|
method: :get,
|
@@ -12,7 +12,7 @@ module Stripe
|
|
12
12
|
"tax.transaction"
|
13
13
|
end
|
14
14
|
|
15
|
-
# Creates a Tax Transaction from a calculation.
|
15
|
+
# Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days.
|
16
16
|
def self.create_from_calculation(params = {}, opts = {})
|
17
17
|
request_stripe_object(
|
18
18
|
method: :post,
|