stripe 10.13.0 → 10.14.0.pre.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +305 -46
- data/OPENAPI_VERSION +1 -1
- 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 +32 -0
- data/lib/stripe/resources/billing/meter.rb +83 -0
- data/lib/stripe/resources/billing/meter_event.rb +27 -0
- data/lib/stripe/resources/billing/meter_event_adjustment.rb +26 -0
- data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_offer.rb +49 -0
- data/lib/stripe/resources/capital/financing_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +27 -0
- data/lib/stripe/resources/entitlements/active_entitlement.rb +26 -0
- data/lib/stripe/resources/entitlements/feature.rb +38 -0
- data/lib/stripe/resources/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
- data/lib/stripe/resources/gift_cards/card.rb +59 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +93 -0
- data/lib/stripe/resources/invoice.rb +113 -0
- data/lib/stripe/resources/invoice_payment.rb +12 -0
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
- data/lib/stripe/resources/margin.rb +37 -0
- data/lib/stripe/resources/order.rb +120 -0
- data/lib/stripe/resources/payment_intent.rb +50 -0
- data/lib/stripe/resources/product.rb +3 -0
- data/lib/stripe/resources/product_feature.rb +13 -0
- data/lib/stripe/resources/quote.rb +106 -2
- data/lib/stripe/resources/quote_phase.rb +39 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +43 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +11 -0
- data/lib/stripe/resources/subscription_schedule.rb +20 -0
- data/lib/stripe/resources/tax/form.rb +49 -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 +54 -0
- metadata +26 -3
@@ -0,0 +1,93 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module GiftCards
|
6
|
+
# A gift card transaction represents a single transaction on a referenced gift card.
|
7
|
+
# A transaction is in one of three states, `confirmed`, `held` or `canceled`. A `confirmed`
|
8
|
+
# transaction is one that has added/deducted funds. A `held` transaction has created a
|
9
|
+
# temporary hold on funds, which can then be cancelled or confirmed. A `held` transaction
|
10
|
+
# can be confirmed into a `confirmed` transaction, or canceled into a `canceled` transaction.
|
11
|
+
# A `canceled` transaction has no effect on a gift card's balance.
|
12
|
+
class Transaction < APIResource
|
13
|
+
extend Stripe::APIOperations::Create
|
14
|
+
extend Stripe::APIOperations::List
|
15
|
+
include Stripe::APIOperations::Save
|
16
|
+
|
17
|
+
OBJECT_NAME = "gift_cards.transaction"
|
18
|
+
def self.object_name
|
19
|
+
"gift_cards.transaction"
|
20
|
+
end
|
21
|
+
|
22
|
+
# Cancel a gift card transaction
|
23
|
+
def cancel(params = {}, opts = {})
|
24
|
+
request_stripe_object(
|
25
|
+
method: :post,
|
26
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
27
|
+
params: params,
|
28
|
+
opts: opts
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Cancel a gift card transaction
|
33
|
+
def self.cancel(id, params = {}, opts = {})
|
34
|
+
request_stripe_object(
|
35
|
+
method: :post,
|
36
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
|
37
|
+
params: params,
|
38
|
+
opts: opts
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Confirm a gift card transaction
|
43
|
+
def confirm(params = {}, opts = {})
|
44
|
+
request_stripe_object(
|
45
|
+
method: :post,
|
46
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
|
47
|
+
params: params,
|
48
|
+
opts: opts
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Confirm a gift card transaction
|
53
|
+
def self.confirm(id, params = {}, opts = {})
|
54
|
+
request_stripe_object(
|
55
|
+
method: :post,
|
56
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
|
57
|
+
params: params,
|
58
|
+
opts: opts
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Create a gift card transaction
|
63
|
+
def self.create(params = {}, opts = {})
|
64
|
+
request_stripe_object(
|
65
|
+
method: :post,
|
66
|
+
path: "/v1/gift_cards/transactions",
|
67
|
+
params: params,
|
68
|
+
opts: opts
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
# List gift card transactions for a gift card
|
73
|
+
def self.list(filters = {}, opts = {})
|
74
|
+
request_stripe_object(
|
75
|
+
method: :get,
|
76
|
+
path: "/v1/gift_cards/transactions",
|
77
|
+
params: filters,
|
78
|
+
opts: opts
|
79
|
+
)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Update a gift card transaction
|
83
|
+
def self.update(id, params = {}, opts = {})
|
84
|
+
request_stripe_object(
|
85
|
+
method: :post,
|
86
|
+
path: format("/v1/gift_cards/transactions/%<id>s", { id: CGI.escape(id) }),
|
87
|
+
params: params,
|
88
|
+
opts: opts
|
89
|
+
)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -38,6 +38,7 @@ 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
|
41
42
|
extend Stripe::APIOperations::Search
|
42
43
|
include Stripe::APIOperations::Save
|
43
44
|
|
@@ -46,11 +47,83 @@ module Stripe
|
|
46
47
|
"invoice"
|
47
48
|
end
|
48
49
|
|
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
|
+
|
49
108
|
# 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.
|
50
109
|
def self.create(params = {}, opts = {})
|
51
110
|
request_stripe_object(method: :post, path: "/v1/invoices", params: params, opts: opts)
|
52
111
|
end
|
53
112
|
|
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 a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. 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_proration_date on the upcoming invoice resource.
|
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
|
+
|
54
127
|
# 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).
|
55
128
|
def self.delete(id, params = {}, opts = {})
|
56
129
|
request_stripe_object(
|
@@ -146,6 +219,26 @@ module Stripe
|
|
146
219
|
)
|
147
220
|
end
|
148
221
|
|
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
|
+
|
149
242
|
def self.search(params = {}, opts = {})
|
150
243
|
request_stripe_object(method: :get, path: "/v1/invoices/search", params: params, opts: opts)
|
151
244
|
end
|
@@ -202,6 +295,26 @@ module Stripe
|
|
202
295
|
)
|
203
296
|
end
|
204
297
|
|
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
|
+
|
205
318
|
# 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.
|
206
319
|
def void_invoice(params = {}, opts = {})
|
207
320
|
request_stripe_object(
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
# Every time an applicant submits an application for a Charge Card product your platform offers, or every time your platform takes a proactive credit decision on an existing account, you must record the decision by creating a new `CreditUnderwritingRecord` object on a connected account.
|
7
|
+
#
|
8
|
+
# [Follow the guide](https://stripe.com/docs/issuing/credit/report-credit-decisions-and-manage-aans) to learn about your requirements as a platform.
|
9
|
+
class CreditUnderwritingRecord < APIResource
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
|
12
|
+
OBJECT_NAME = "issuing.credit_underwriting_record"
|
13
|
+
def self.object_name
|
14
|
+
"issuing.credit_underwriting_record"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
18
|
+
def correct(params = {}, opts = {})
|
19
|
+
request_stripe_object(
|
20
|
+
method: :post,
|
21
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
22
|
+
params: params,
|
23
|
+
opts: opts
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
28
|
+
def self.correct(credit_underwriting_record, params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :post,
|
31
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Creates a CreditUnderwritingRecord object with information about a credit application submission.
|
38
|
+
def self.create_from_application(params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_application",
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Creates a CreditUnderwritingRecord object from an underwriting decision coming from a proactive review of an existing accountholder.
|
48
|
+
def self.create_from_proactive_review(params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_proactive_review",
|
52
|
+
params: params,
|
53
|
+
opts: opts
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Retrieves a list of CreditUnderwritingRecord objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
|
58
|
+
def self.list(filters = {}, opts = {})
|
59
|
+
request_stripe_object(
|
60
|
+
method: :get,
|
61
|
+
path: "/v1/issuing/credit_underwriting_records",
|
62
|
+
params: filters,
|
63
|
+
opts: opts
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
68
|
+
def report_decision(params = {}, opts = {})
|
69
|
+
request_stripe_object(
|
70
|
+
method: :post,
|
71
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
72
|
+
params: params,
|
73
|
+
opts: opts
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
78
|
+
def self.report_decision(credit_underwriting_record, params = {}, opts = {})
|
79
|
+
request_stripe_object(
|
80
|
+
method: :post,
|
81
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
82
|
+
params: params,
|
83
|
+
opts: opts
|
84
|
+
)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A (partner) margin represents a specific discount distributed in partner reseller programs to business partners who
|
6
|
+
# resell products and services and earn a discount (margin) for doing so.
|
7
|
+
class Margin < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
include Stripe::APIOperations::Save
|
11
|
+
|
12
|
+
OBJECT_NAME = "margin"
|
13
|
+
def self.object_name
|
14
|
+
"margin"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Create a margin object to be used with invoices, invoice items, and invoice line items for a customer to represent a partner discount.A margin has a percent_off which is the percent that will be taken off the subtotal after all items and other discounts and promotions) of any invoices for a customer. Calculation of prorations do not include any partner margins applied on the original invoice item.
|
18
|
+
def self.create(params = {}, opts = {})
|
19
|
+
request_stripe_object(method: :post, path: "/v1/billing/margins", params: params, opts: opts)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Retrieve a list of your margins.
|
23
|
+
def self.list(filters = {}, opts = {})
|
24
|
+
request_stripe_object(method: :get, path: "/v1/billing/margins", params: filters, opts: opts)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Update the specified margin object. Certain fields of the margin object are not editable.
|
28
|
+
def self.update(id, params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :post,
|
31
|
+
path: format("/v1/billing/margins/%<id>s", { id: CGI.escape(id) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,120 @@
|
|
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
|
+
def self.object_name
|
17
|
+
"order"
|
18
|
+
end
|
19
|
+
|
20
|
+
# Cancels the order as well as the payment intent if one is attached.
|
21
|
+
def cancel(params = {}, opts = {})
|
22
|
+
request_stripe_object(
|
23
|
+
method: :post,
|
24
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
25
|
+
params: params,
|
26
|
+
opts: opts
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
# Cancels the order as well as the payment intent if one is attached.
|
31
|
+
def self.cancel(id, params = {}, opts = {})
|
32
|
+
request_stripe_object(
|
33
|
+
method: :post,
|
34
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
35
|
+
params: params,
|
36
|
+
opts: opts
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
# Creates a new open order object.
|
41
|
+
def self.create(params = {}, opts = {})
|
42
|
+
request_stripe_object(method: :post, path: "/v1/orders", params: params, opts: opts)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.
|
46
|
+
def self.list(filters = {}, opts = {})
|
47
|
+
request_stripe_object(method: :get, path: "/v1/orders", params: filters, opts: opts)
|
48
|
+
end
|
49
|
+
|
50
|
+
# 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.
|
51
|
+
def list_line_items(params = {}, opts = {})
|
52
|
+
request_stripe_object(
|
53
|
+
method: :get,
|
54
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
55
|
+
params: params,
|
56
|
+
opts: opts
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
# 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.
|
61
|
+
def self.list_line_items(id, params = {}, opts = {})
|
62
|
+
request_stripe_object(
|
63
|
+
method: :get,
|
64
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
65
|
+
params: params,
|
66
|
+
opts: opts
|
67
|
+
)
|
68
|
+
end
|
69
|
+
|
70
|
+
# Reopens a submitted order.
|
71
|
+
def reopen(params = {}, opts = {})
|
72
|
+
request_stripe_object(
|
73
|
+
method: :post,
|
74
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
75
|
+
params: params,
|
76
|
+
opts: opts
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Reopens a submitted order.
|
81
|
+
def self.reopen(id, params = {}, opts = {})
|
82
|
+
request_stripe_object(
|
83
|
+
method: :post,
|
84
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
85
|
+
params: params,
|
86
|
+
opts: opts
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
# 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.
|
91
|
+
def submit(params = {}, opts = {})
|
92
|
+
request_stripe_object(
|
93
|
+
method: :post,
|
94
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
95
|
+
params: params,
|
96
|
+
opts: opts
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
# 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.
|
101
|
+
def self.submit(id, params = {}, opts = {})
|
102
|
+
request_stripe_object(
|
103
|
+
method: :post,
|
104
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
105
|
+
params: params,
|
106
|
+
opts: opts
|
107
|
+
)
|
108
|
+
end
|
109
|
+
|
110
|
+
# Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
|
111
|
+
def self.update(id, params = {}, opts = {})
|
112
|
+
request_stripe_object(
|
113
|
+
method: :post,
|
114
|
+
path: format("/v1/orders/%<id>s", { id: CGI.escape(id) }),
|
115
|
+
params: params,
|
116
|
+
opts: opts
|
117
|
+
)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
@@ -176,6 +176,56 @@ 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
|
+
|
179
229
|
# Perform an incremental authorization on an eligible
|
180
230
|
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
181
231
|
# PaymentIntent's status must be requires_capture and
|
@@ -14,6 +14,7 @@ module Stripe
|
|
14
14
|
extend Stripe::APIOperations::Create
|
15
15
|
include Stripe::APIOperations::Delete
|
16
16
|
extend Stripe::APIOperations::List
|
17
|
+
extend Stripe::APIOperations::NestedResource
|
17
18
|
extend Stripe::APIOperations::Search
|
18
19
|
include Stripe::APIOperations::Save
|
19
20
|
|
@@ -22,6 +23,8 @@ module Stripe
|
|
22
23
|
"product"
|
23
24
|
end
|
24
25
|
|
26
|
+
nested_resource_class_methods :feature, operations: %i[create delete list]
|
27
|
+
|
25
28
|
# Creates a new product object.
|
26
29
|
def self.create(params = {}, opts = {})
|
27
30
|
request_stripe_object(method: :post, path: "/v1/products", params: params, opts: opts)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A product_feature represents an attachment between a feature and a product.
|
6
|
+
# When a product is purchased that has a feature attached, Stripe will create an entitlement to the feature for the purchasing customer.
|
7
|
+
class ProductFeature < APIResource
|
8
|
+
OBJECT_NAME = "product_feature"
|
9
|
+
def self.object_name
|
10
|
+
"product_feature"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|