stripe 9.3.0 → 9.4.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 +207 -40
- data/README.md +11 -0
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +2 -0
- data/lib/stripe/api_version.rb +1 -0
- data/lib/stripe/object_types.rb +17 -0
- data/lib/stripe/request_signing_authenticator.rb +83 -0
- data/lib/stripe/resources/capital/financing_offer.rb +32 -0
- data/lib/stripe/resources/capital/financing_summary.rb +12 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +13 -0
- data/lib/stripe/resources/confirmation_token.rb +11 -0
- data/lib/stripe/resources/customer_session.rb +12 -0
- data/lib/stripe/resources/financial_connections/account.rb +39 -0
- data/lib/stripe/resources/financial_connections/inferred_balance.rb +13 -0
- data/lib/stripe/resources/financial_connections/transaction.rb +13 -0
- data/lib/stripe/resources/gift_cards/card.rb +25 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +56 -0
- data/lib/stripe/resources/issuing/card_bundle.rb +13 -0
- data/lib/stripe/resources/issuing/card_design.rb +77 -0
- data/lib/stripe/resources/order.rb +89 -0
- data/lib/stripe/resources/quote.rb +94 -0
- data/lib/stripe/resources/quote_phase.rb +29 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +42 -0
- data/lib/stripe/resources/quote_preview_schedule.rb +10 -0
- data/lib/stripe/resources/subscription_schedule.rb +18 -0
- data/lib/stripe/resources/tax/form.rb +39 -0
- data/lib/stripe/resources/tax/registration.rb +19 -0
- data/lib/stripe/resources/terminal/reader.rb +54 -0
- data/lib/stripe/resources.rb +17 -0
- data/lib/stripe/stripe_client.rb +60 -26
- data/lib/stripe/stripe_configuration.rb +2 -0
- data/lib/stripe/util.rb +8 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +46 -0
- metadata +21 -3
|
@@ -6,9 +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
|
|
9
10
|
|
|
10
11
|
OBJECT_NAME = "financial_connections.account"
|
|
11
12
|
|
|
13
|
+
nested_resource_class_methods :inferred_balance, operations: %i[list]
|
|
14
|
+
|
|
12
15
|
def disconnect(params = {}, opts = {})
|
|
13
16
|
request_stripe_object(
|
|
14
17
|
method: :post,
|
|
@@ -36,6 +39,24 @@ module Stripe
|
|
|
36
39
|
)
|
|
37
40
|
end
|
|
38
41
|
|
|
42
|
+
def subscribe(params = {}, opts = {})
|
|
43
|
+
request_stripe_object(
|
|
44
|
+
method: :post,
|
|
45
|
+
path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(self["id"]) }),
|
|
46
|
+
params: params,
|
|
47
|
+
opts: opts
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def unsubscribe(params = {}, opts = {})
|
|
52
|
+
request_stripe_object(
|
|
53
|
+
method: :post,
|
|
54
|
+
path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(self["id"]) }),
|
|
55
|
+
params: params,
|
|
56
|
+
opts: opts
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
39
60
|
def self.disconnect(account, params = {}, opts = {})
|
|
40
61
|
request_stripe_object(
|
|
41
62
|
method: :post,
|
|
@@ -62,6 +83,24 @@ module Stripe
|
|
|
62
83
|
opts: opts
|
|
63
84
|
)
|
|
64
85
|
end
|
|
86
|
+
|
|
87
|
+
def self.subscribe(account, params = {}, opts = {})
|
|
88
|
+
request_stripe_object(
|
|
89
|
+
method: :post,
|
|
90
|
+
path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(account) }),
|
|
91
|
+
params: params,
|
|
92
|
+
opts: opts
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def self.unsubscribe(account, params = {}, opts = {})
|
|
97
|
+
request_stripe_object(
|
|
98
|
+
method: :post,
|
|
99
|
+
path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(account) }),
|
|
100
|
+
params: params,
|
|
101
|
+
opts: opts
|
|
102
|
+
)
|
|
103
|
+
end
|
|
65
104
|
end
|
|
66
105
|
end
|
|
67
106
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module FinancialConnections
|
|
6
|
+
# A historical balance for the account on a particular day. It may be sourced from a balance snapshot provided by a financial institution, or inferred using transactions data.
|
|
7
|
+
class InferredBalance < APIResource
|
|
8
|
+
extend Stripe::APIOperations::List
|
|
9
|
+
|
|
10
|
+
OBJECT_NAME = "financial_connections.account_inferred_balance"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module FinancialConnections
|
|
6
|
+
# A Transaction represents a real transaction that affects a Financial Connections Account balance.
|
|
7
|
+
class Transaction < APIResource
|
|
8
|
+
extend Stripe::APIOperations::List
|
|
9
|
+
|
|
10
|
+
OBJECT_NAME = "financial_connections.transaction"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module GiftCards
|
|
6
|
+
# A gift card represents a single gift card owned by a customer, including the
|
|
7
|
+
# remaining balance, gift card code, and whether or not it is active.
|
|
8
|
+
class Card < APIResource
|
|
9
|
+
extend Stripe::APIOperations::Create
|
|
10
|
+
extend Stripe::APIOperations::List
|
|
11
|
+
include Stripe::APIOperations::Save
|
|
12
|
+
|
|
13
|
+
OBJECT_NAME = "gift_cards.card"
|
|
14
|
+
|
|
15
|
+
def self.validate(params = {}, opts = {})
|
|
16
|
+
request_stripe_object(
|
|
17
|
+
method: :post,
|
|
18
|
+
path: "/v1/gift_cards/cards/validate",
|
|
19
|
+
params: params,
|
|
20
|
+
opts: opts
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
|
|
19
|
+
def cancel(params = {}, opts = {})
|
|
20
|
+
request_stripe_object(
|
|
21
|
+
method: :post,
|
|
22
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
|
23
|
+
params: params,
|
|
24
|
+
opts: opts
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def confirm(params = {}, opts = {})
|
|
29
|
+
request_stripe_object(
|
|
30
|
+
method: :post,
|
|
31
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
|
|
32
|
+
params: params,
|
|
33
|
+
opts: opts
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def self.cancel(id, params = {}, opts = {})
|
|
38
|
+
request_stripe_object(
|
|
39
|
+
method: :post,
|
|
40
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
|
|
41
|
+
params: params,
|
|
42
|
+
opts: opts
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def self.confirm(id, params = {}, opts = {})
|
|
47
|
+
request_stripe_object(
|
|
48
|
+
method: :post,
|
|
49
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
|
|
50
|
+
params: params,
|
|
51
|
+
opts: opts
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module Issuing
|
|
6
|
+
# A Card 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 CardBundle < APIResource
|
|
8
|
+
extend Stripe::APIOperations::List
|
|
9
|
+
|
|
10
|
+
OBJECT_NAME = "issuing.card_bundle"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module Issuing
|
|
6
|
+
# A Card Design is a logical grouping of a Card Bundle, card logo, and carrier text that represents a product line.
|
|
7
|
+
class CardDesign < APIResource
|
|
8
|
+
extend Stripe::APIOperations::Create
|
|
9
|
+
extend Stripe::APIOperations::List
|
|
10
|
+
include Stripe::APIOperations::Save
|
|
11
|
+
|
|
12
|
+
OBJECT_NAME = "issuing.card_design"
|
|
13
|
+
|
|
14
|
+
def test_helpers
|
|
15
|
+
TestHelpers.new(self)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class TestHelpers < APIResourceTestHelpers
|
|
19
|
+
RESOURCE_CLASS = CardDesign
|
|
20
|
+
|
|
21
|
+
def self.activate_testmode(card_design, params = {}, opts = {})
|
|
22
|
+
request_stripe_object(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/activate", { card_design: CGI.escape(card_design) }),
|
|
25
|
+
params: params,
|
|
26
|
+
opts: opts
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.deactivate_testmode(card_design, params = {}, opts = {})
|
|
31
|
+
request_stripe_object(
|
|
32
|
+
method: :post,
|
|
33
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/deactivate", { card_design: CGI.escape(card_design) }),
|
|
34
|
+
params: params,
|
|
35
|
+
opts: opts
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.reject_testmode(card_design, params = {}, opts = {})
|
|
40
|
+
request_stripe_object(
|
|
41
|
+
method: :post,
|
|
42
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/reject", { card_design: CGI.escape(card_design) }),
|
|
43
|
+
params: params,
|
|
44
|
+
opts: opts
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def activate_testmode(params = {}, opts = {})
|
|
49
|
+
@resource.request_stripe_object(
|
|
50
|
+
method: :post,
|
|
51
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/activate", { card_design: CGI.escape(@resource["id"]) }),
|
|
52
|
+
params: params,
|
|
53
|
+
opts: opts
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def deactivate_testmode(params = {}, opts = {})
|
|
58
|
+
@resource.request_stripe_object(
|
|
59
|
+
method: :post,
|
|
60
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/deactivate", { card_design: CGI.escape(@resource["id"]) }),
|
|
61
|
+
params: params,
|
|
62
|
+
opts: opts
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def reject_testmode(params = {}, opts = {})
|
|
67
|
+
@resource.request_stripe_object(
|
|
68
|
+
method: :post,
|
|
69
|
+
path: format("/v1/test_helpers/issuing/card_designs/%<card_design>s/status/reject", { card_design: CGI.escape(@resource["id"]) }),
|
|
70
|
+
params: params,
|
|
71
|
+
opts: opts
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
def cancel(params = {}, opts = {})
|
|
18
|
+
request_stripe_object(
|
|
19
|
+
method: :post,
|
|
20
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
|
21
|
+
params: params,
|
|
22
|
+
opts: opts
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def list_line_items(params = {}, opts = {})
|
|
27
|
+
request_stripe_object(
|
|
28
|
+
method: :get,
|
|
29
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
|
30
|
+
params: params,
|
|
31
|
+
opts: opts
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def reopen(params = {}, opts = {})
|
|
36
|
+
request_stripe_object(
|
|
37
|
+
method: :post,
|
|
38
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
|
39
|
+
params: params,
|
|
40
|
+
opts: opts
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def submit(params = {}, opts = {})
|
|
45
|
+
request_stripe_object(
|
|
46
|
+
method: :post,
|
|
47
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
|
48
|
+
params: params,
|
|
49
|
+
opts: opts
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def self.cancel(id, params = {}, opts = {})
|
|
54
|
+
request_stripe_object(
|
|
55
|
+
method: :post,
|
|
56
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
|
57
|
+
params: params,
|
|
58
|
+
opts: opts
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.list_line_items(id, params = {}, opts = {})
|
|
63
|
+
request_stripe_object(
|
|
64
|
+
method: :get,
|
|
65
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
|
66
|
+
params: params,
|
|
67
|
+
opts: opts
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def self.reopen(id, params = {}, opts = {})
|
|
72
|
+
request_stripe_object(
|
|
73
|
+
method: :post,
|
|
74
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
|
75
|
+
params: params,
|
|
76
|
+
opts: opts
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.submit(id, params = {}, opts = {})
|
|
81
|
+
request_stripe_object(
|
|
82
|
+
method: :post,
|
|
83
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
|
84
|
+
params: params,
|
|
85
|
+
opts: opts
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
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
|
def accept(params = {}, opts = {})
|
|
15
19
|
request_stripe_object(
|
|
16
20
|
method: :post,
|
|
@@ -29,6 +33,15 @@ module Stripe
|
|
|
29
33
|
)
|
|
30
34
|
end
|
|
31
35
|
|
|
36
|
+
def draft_quote(params = {}, opts = {})
|
|
37
|
+
request_stripe_object(
|
|
38
|
+
method: :post,
|
|
39
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
|
|
40
|
+
params: params,
|
|
41
|
+
opts: opts
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
32
45
|
def finalize_quote(params = {}, opts = {})
|
|
33
46
|
request_stripe_object(
|
|
34
47
|
method: :post,
|
|
@@ -56,6 +69,24 @@ module Stripe
|
|
|
56
69
|
)
|
|
57
70
|
end
|
|
58
71
|
|
|
72
|
+
def list_lines(params = {}, opts = {})
|
|
73
|
+
request_stripe_object(
|
|
74
|
+
method: :get,
|
|
75
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
|
|
76
|
+
params: params,
|
|
77
|
+
opts: opts
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def mark_stale_quote(params = {}, opts = {})
|
|
82
|
+
request_stripe_object(
|
|
83
|
+
method: :post,
|
|
84
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
|
|
85
|
+
params: params,
|
|
86
|
+
opts: opts
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
59
90
|
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
|
60
91
|
config = opts[:client]&.config || Stripe.config
|
|
61
92
|
opts = { api_base: config.uploads_base }.merge(opts)
|
|
@@ -68,6 +99,24 @@ module Stripe
|
|
|
68
99
|
)
|
|
69
100
|
end
|
|
70
101
|
|
|
102
|
+
def preview_invoice_lines(preview_invoice, params = {}, opts = {})
|
|
103
|
+
request_stripe_object(
|
|
104
|
+
method: :get,
|
|
105
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
|
|
106
|
+
params: params,
|
|
107
|
+
opts: opts
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def reestimate(params = {}, opts = {})
|
|
112
|
+
request_stripe_object(
|
|
113
|
+
method: :post,
|
|
114
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
|
|
115
|
+
params: params,
|
|
116
|
+
opts: opts
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
|
|
71
120
|
def self.accept(quote, params = {}, opts = {})
|
|
72
121
|
request_stripe_object(
|
|
73
122
|
method: :post,
|
|
@@ -86,6 +135,15 @@ module Stripe
|
|
|
86
135
|
)
|
|
87
136
|
end
|
|
88
137
|
|
|
138
|
+
def self.draft_quote(quote, params = {}, opts = {})
|
|
139
|
+
request_stripe_object(
|
|
140
|
+
method: :post,
|
|
141
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
|
|
142
|
+
params: params,
|
|
143
|
+
opts: opts
|
|
144
|
+
)
|
|
145
|
+
end
|
|
146
|
+
|
|
89
147
|
def self.finalize_quote(quote, params = {}, opts = {})
|
|
90
148
|
request_stripe_object(
|
|
91
149
|
method: :post,
|
|
@@ -113,6 +171,24 @@ module Stripe
|
|
|
113
171
|
)
|
|
114
172
|
end
|
|
115
173
|
|
|
174
|
+
def self.list_lines(quote, params = {}, opts = {})
|
|
175
|
+
request_stripe_object(
|
|
176
|
+
method: :get,
|
|
177
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
|
|
178
|
+
params: params,
|
|
179
|
+
opts: opts
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def self.mark_stale_quote(quote, params = {}, opts = {})
|
|
184
|
+
request_stripe_object(
|
|
185
|
+
method: :post,
|
|
186
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
|
|
187
|
+
params: params,
|
|
188
|
+
opts: opts
|
|
189
|
+
)
|
|
190
|
+
end
|
|
191
|
+
|
|
116
192
|
def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
|
|
117
193
|
config = opts[:client]&.config || Stripe.config
|
|
118
194
|
opts = { api_base: config.uploads_base }.merge(opts)
|
|
@@ -124,5 +200,23 @@ module Stripe
|
|
|
124
200
|
&read_body_chunk_block
|
|
125
201
|
)
|
|
126
202
|
end
|
|
203
|
+
|
|
204
|
+
def self.preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
|
|
205
|
+
request_stripe_object(
|
|
206
|
+
method: :get,
|
|
207
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
|
|
208
|
+
params: params,
|
|
209
|
+
opts: opts
|
|
210
|
+
)
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
def self.reestimate(quote, params = {}, opts = {})
|
|
214
|
+
request_stripe_object(
|
|
215
|
+
method: :post,
|
|
216
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
|
|
217
|
+
params: params,
|
|
218
|
+
opts: opts
|
|
219
|
+
)
|
|
220
|
+
end
|
|
127
221
|
end
|
|
128
222
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
def list_line_items(params = {}, opts = {})
|
|
12
|
+
request_stripe_object(
|
|
13
|
+
method: :get,
|
|
14
|
+
path: format("/v1/quote_phases/%<quote_phase>s/line_items", { quote_phase: CGI.escape(self["id"]) }),
|
|
15
|
+
params: params,
|
|
16
|
+
opts: opts
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.list_line_items(quote_phase, params = {}, opts = {})
|
|
21
|
+
request_stripe_object(
|
|
22
|
+
method: :get,
|
|
23
|
+
path: format("/v1/quote_phases/%<quote_phase>s/line_items", { quote_phase: CGI.escape(quote_phase) }),
|
|
24
|
+
params: params,
|
|
25
|
+
opts: opts
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
extend Stripe::APIOperations::List
|
|
39
|
+
|
|
40
|
+
OBJECT_NAME = "quote_preview_invoice"
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -12,6 +12,15 @@ module Stripe
|
|
|
12
12
|
|
|
13
13
|
OBJECT_NAME = "subscription_schedule"
|
|
14
14
|
|
|
15
|
+
def amend(params = {}, opts = {})
|
|
16
|
+
request_stripe_object(
|
|
17
|
+
method: :post,
|
|
18
|
+
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }),
|
|
19
|
+
params: params,
|
|
20
|
+
opts: opts
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
15
24
|
def cancel(params = {}, opts = {})
|
|
16
25
|
request_stripe_object(
|
|
17
26
|
method: :post,
|
|
@@ -30,6 +39,15 @@ module Stripe
|
|
|
30
39
|
)
|
|
31
40
|
end
|
|
32
41
|
|
|
42
|
+
def self.amend(schedule, params = {}, opts = {})
|
|
43
|
+
request_stripe_object(
|
|
44
|
+
method: :post,
|
|
45
|
+
path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }),
|
|
46
|
+
params: params,
|
|
47
|
+
opts: opts
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
33
51
|
def self.cancel(schedule, params = {}, opts = {})
|
|
34
52
|
request_stripe_object(
|
|
35
53
|
method: :post,
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
|
15
|
+
config = opts[:client]&.config || Stripe.config
|
|
16
|
+
opts = { api_base: config.uploads_base }.merge(opts)
|
|
17
|
+
request_stream(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: format("/v1/tax/forms/%<id>s/pdf", { id: CGI.escape(self["id"]) }),
|
|
20
|
+
params: params,
|
|
21
|
+
opts: opts,
|
|
22
|
+
&read_body_chunk_block
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.pdf(id, params = {}, opts = {}, &read_body_chunk_block)
|
|
27
|
+
config = opts[:client]&.config || Stripe.config
|
|
28
|
+
opts = { api_base: config.uploads_base }.merge(opts)
|
|
29
|
+
execute_resource_request_stream(
|
|
30
|
+
:get,
|
|
31
|
+
format("/v1/tax/forms/%<id>s/pdf", { id: CGI.escape(id) }),
|
|
32
|
+
params,
|
|
33
|
+
opts,
|
|
34
|
+
&read_body_chunk_block
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module Tax
|
|
6
|
+
# A Tax `Registration` lets us know that your business is registered to collect tax on payments within a region, enabling you to [automatically collect tax](https://stripe.com/docs/tax).
|
|
7
|
+
#
|
|
8
|
+
# Stripe doesn't register on your behalf with the relevant authorities when you create a Tax `Registration` object. For more information on how to register to collect tax, see [our guide](https://stripe.com/docs/tax/registering).
|
|
9
|
+
#
|
|
10
|
+
# Related guide: [Using the Registrations API](https://stripe.com/docs/tax/registrations-api)
|
|
11
|
+
class Registration < APIResource
|
|
12
|
+
extend Stripe::APIOperations::Create
|
|
13
|
+
extend Stripe::APIOperations::List
|
|
14
|
+
include Stripe::APIOperations::Save
|
|
15
|
+
|
|
16
|
+
OBJECT_NAME = "tax.registration"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|