stripe 8.7.1 → 8.8.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +179 -46
  3. data/README.md +11 -0
  4. data/VERSION +1 -1
  5. data/lib/data/ca-certificates.crt +3340 -290
  6. data/lib/stripe/api_operations/request.rb +2 -0
  7. data/lib/stripe/api_version.rb +1 -0
  8. data/lib/stripe/object_types.rb +16 -0
  9. data/lib/stripe/request_signing_authenticator.rb +83 -0
  10. data/lib/stripe/resources/account_session.rb +17 -0
  11. data/lib/stripe/resources/capital/financing_offer.rb +32 -0
  12. data/lib/stripe/resources/capital/financing_summary.rb +12 -0
  13. data/lib/stripe/resources/capital/financing_transaction.rb +13 -0
  14. data/lib/stripe/resources/customer_session.rb +12 -0
  15. data/lib/stripe/resources/financial_connections/account.rb +39 -0
  16. data/lib/stripe/resources/financial_connections/inferred_balance.rb +13 -0
  17. data/lib/stripe/resources/financial_connections/transaction.rb +13 -0
  18. data/lib/stripe/resources/gift_cards/card.rb +25 -0
  19. data/lib/stripe/resources/gift_cards/transaction.rb +56 -0
  20. data/lib/stripe/resources/issuing/card.rb +18 -0
  21. data/lib/stripe/resources/issuing/card_bundle.rb +13 -0
  22. data/lib/stripe/resources/issuing/card_design.rb +58 -0
  23. data/lib/stripe/resources/order.rb +89 -0
  24. data/lib/stripe/resources/payment_method_configuration.rb +13 -0
  25. data/lib/stripe/resources/quote.rb +131 -0
  26. data/lib/stripe/resources/quote_phase.rb +29 -0
  27. data/lib/stripe/resources/subscription_schedule.rb +18 -0
  28. data/lib/stripe/resources/tax/form.rb +39 -0
  29. data/lib/stripe/resources/tax/registration.rb +19 -0
  30. data/lib/stripe/resources/terminal/reader.rb +54 -0
  31. data/lib/stripe/resources.rb +16 -0
  32. data/lib/stripe/stripe_client.rb +60 -26
  33. data/lib/stripe/stripe_configuration.rb +3 -0
  34. data/lib/stripe/util.rb +8 -1
  35. data/lib/stripe/version.rb +1 -1
  36. data/lib/stripe.rb +47 -0
  37. metadata +25 -8
data/lib/stripe/util.rb CHANGED
@@ -7,6 +7,7 @@ module Stripe
7
7
  # Options that a user is allowed to specify.
8
8
  OPTS_USER_SPECIFIED = Set[
9
9
  :api_key,
10
+ :authenticator,
10
11
  :idempotency_key,
11
12
  :stripe_account,
12
13
  :stripe_version
@@ -281,7 +282,13 @@ module Stripe
281
282
  when String
282
283
  { api_key: opts }
283
284
  when Hash
284
- check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
285
+ # If the user is using request signing for authentication,
286
+ # no need to check the api_key per request.
287
+ if !(opts.key?(:client) &&
288
+ opts.fetch(:client).config.authenticator) &&
289
+ opts.key?(:api_key)
290
+ check_api_key!(opts.fetch(:api_key))
291
+ end
285
292
  # Explicitly use dup here instead of clone to avoid preserving freeze
286
293
  # state on input params.
287
294
  opts.dup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "8.7.1"
4
+ VERSION = "8.8.0-beta.1"
5
5
  end
data/lib/stripe.rb CHANGED
@@ -13,8 +13,10 @@ require "set"
13
13
  require "socket"
14
14
  require "uri"
15
15
  require "forwardable"
16
+ require "base64"
16
17
 
17
18
  # Version
19
+ require "stripe/api_version"
18
20
  require "stripe/version"
19
21
 
20
22
  # API operations
@@ -43,6 +45,7 @@ require "stripe/api_resource_test_helpers"
43
45
  require "stripe/singleton_api_resource"
44
46
  require "stripe/webhook"
45
47
  require "stripe/stripe_configuration"
48
+ require "stripe/request_signing_authenticator"
46
49
 
47
50
  # Named API resources
48
51
  require "stripe/resources"
@@ -69,6 +72,7 @@ module Stripe
69
72
 
70
73
  # User configurable options
71
74
  def_delegators :@config, :api_key, :api_key=
75
+ def_delegators :@config, :authenticator, :authenticator=
72
76
  def_delegators :@config, :api_version, :api_version=
73
77
  def_delegators :@config, :stripe_account, :stripe_account=
74
78
  def_delegators :@config, :api_base, :api_base=
@@ -115,6 +119,49 @@ module Stripe
115
119
  version: version,
116
120
  }
117
121
  end
122
+
123
+ class Preview
124
+ def self._get_default_opts(opts)
125
+ { api_mode: :preview }.merge(opts)
126
+ end
127
+
128
+ def self.get(url, opts = {})
129
+ Stripe.raw_request(:get, url, {}, _get_default_opts(opts))
130
+ end
131
+
132
+ def self.post(url, params = {}, opts = {})
133
+ Stripe.raw_request(:post, url, params, _get_default_opts(opts))
134
+ end
135
+
136
+ def self.delete(url, opts = {})
137
+ Stripe.raw_request(:delete, url, {}, _get_default_opts(opts))
138
+ end
139
+ end
140
+
141
+ class RawRequest
142
+ include Stripe::APIOperations::Request
143
+
144
+ def initialize
145
+ @opts = {}
146
+ end
147
+
148
+ def execute(method, url, params = {}, opts = {})
149
+ resp, = execute_resource_request(method, url, params, opts)
150
+
151
+ resp
152
+ end
153
+ end
154
+
155
+ # Sends a request to Stripe REST API
156
+ def self.raw_request(method, url, params = {}, opts = {})
157
+ req = RawRequest.new
158
+ req.execute(method, url, params, opts)
159
+ end
160
+
161
+ def self.deserialize(data)
162
+ data = JSON.parse(data) if data.is_a?(String)
163
+ Util.convert_to_stripe_object(data, {})
164
+ end
118
165
  end
119
166
 
120
167
  Stripe.log_level = ENV["STRIPE_LOG"] unless ENV["STRIPE_LOG"].nil?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.7.1
4
+ version: 8.8.0.pre.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-23 00:00:00.000000000 Z
11
+ date: 2023-08-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Stripe is the easiest way to accept payments online. See https://stripe.com
14
14
  for details.
@@ -50,9 +50,11 @@ files:
50
50
  - lib/stripe/multipart_encoder.rb
51
51
  - lib/stripe/oauth.rb
52
52
  - lib/stripe/object_types.rb
53
+ - lib/stripe/request_signing_authenticator.rb
53
54
  - lib/stripe/resources.rb
54
55
  - lib/stripe/resources/account.rb
55
56
  - lib/stripe/resources/account_link.rb
57
+ - lib/stripe/resources/account_session.rb
56
58
  - lib/stripe/resources/alipay_account.rb
57
59
  - lib/stripe/resources/apple_pay_domain.rb
58
60
  - lib/stripe/resources/application_fee.rb
@@ -64,6 +66,9 @@ files:
64
66
  - lib/stripe/resources/billing_portal/configuration.rb
65
67
  - lib/stripe/resources/billing_portal/session.rb
66
68
  - lib/stripe/resources/capability.rb
69
+ - lib/stripe/resources/capital/financing_offer.rb
70
+ - lib/stripe/resources/capital/financing_summary.rb
71
+ - lib/stripe/resources/capital/financing_transaction.rb
67
72
  - lib/stripe/resources/card.rb
68
73
  - lib/stripe/resources/cash_balance.rb
69
74
  - lib/stripe/resources/charge.rb
@@ -75,6 +80,7 @@ files:
75
80
  - lib/stripe/resources/customer.rb
76
81
  - lib/stripe/resources/customer_balance_transaction.rb
77
82
  - lib/stripe/resources/customer_cash_balance_transaction.rb
83
+ - lib/stripe/resources/customer_session.rb
78
84
  - lib/stripe/resources/discount.rb
79
85
  - lib/stripe/resources/dispute.rb
80
86
  - lib/stripe/resources/ephemeral_key.rb
@@ -85,8 +91,12 @@ files:
85
91
  - lib/stripe/resources/financial_connections/account.rb
86
92
  - lib/stripe/resources/financial_connections/account_owner.rb
87
93
  - lib/stripe/resources/financial_connections/account_ownership.rb
94
+ - lib/stripe/resources/financial_connections/inferred_balance.rb
88
95
  - lib/stripe/resources/financial_connections/session.rb
96
+ - lib/stripe/resources/financial_connections/transaction.rb
89
97
  - lib/stripe/resources/funding_instructions.rb
98
+ - lib/stripe/resources/gift_cards/card.rb
99
+ - lib/stripe/resources/gift_cards/transaction.rb
90
100
  - lib/stripe/resources/identity/verification_report.rb
91
101
  - lib/stripe/resources/identity/verification_session.rb
92
102
  - lib/stripe/resources/invoice.rb
@@ -94,15 +104,19 @@ files:
94
104
  - lib/stripe/resources/invoice_line_item.rb
95
105
  - lib/stripe/resources/issuing/authorization.rb
96
106
  - lib/stripe/resources/issuing/card.rb
107
+ - lib/stripe/resources/issuing/card_bundle.rb
108
+ - lib/stripe/resources/issuing/card_design.rb
97
109
  - lib/stripe/resources/issuing/cardholder.rb
98
110
  - lib/stripe/resources/issuing/dispute.rb
99
111
  - lib/stripe/resources/issuing/transaction.rb
100
112
  - lib/stripe/resources/line_item.rb
101
113
  - lib/stripe/resources/login_link.rb
102
114
  - lib/stripe/resources/mandate.rb
115
+ - lib/stripe/resources/order.rb
103
116
  - lib/stripe/resources/payment_intent.rb
104
117
  - lib/stripe/resources/payment_link.rb
105
118
  - lib/stripe/resources/payment_method.rb
119
+ - lib/stripe/resources/payment_method_configuration.rb
106
120
  - lib/stripe/resources/payout.rb
107
121
  - lib/stripe/resources/person.rb
108
122
  - lib/stripe/resources/plan.rb
@@ -110,6 +124,7 @@ files:
110
124
  - lib/stripe/resources/product.rb
111
125
  - lib/stripe/resources/promotion_code.rb
112
126
  - lib/stripe/resources/quote.rb
127
+ - lib/stripe/resources/quote_phase.rb
113
128
  - lib/stripe/resources/radar/early_fraud_warning.rb
114
129
  - lib/stripe/resources/radar/value_list.rb
115
130
  - lib/stripe/resources/radar/value_list_item.rb
@@ -130,6 +145,8 @@ files:
130
145
  - lib/stripe/resources/subscription_schedule.rb
131
146
  - lib/stripe/resources/tax/calculation.rb
132
147
  - lib/stripe/resources/tax/calculation_line_item.rb
148
+ - lib/stripe/resources/tax/form.rb
149
+ - lib/stripe/resources/tax/registration.rb
133
150
  - lib/stripe/resources/tax/settings.rb
134
151
  - lib/stripe/resources/tax/transaction.rb
135
152
  - lib/stripe/resources/tax/transaction_line_item.rb
@@ -178,7 +195,7 @@ metadata:
178
195
  github_repo: ssh://github.com/stripe/stripe-ruby
179
196
  homepage_uri: https://stripe.com/docs/api?lang=ruby
180
197
  source_code_uri: https://github.com/stripe/stripe-ruby
181
- post_install_message:
198
+ post_install_message:
182
199
  rdoc_options: []
183
200
  require_paths:
184
201
  - lib
@@ -189,12 +206,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
206
  version: 2.3.0
190
207
  required_rubygems_version: !ruby/object:Gem::Requirement
191
208
  requirements:
192
- - - ">="
209
+ - - ">"
193
210
  - !ruby/object:Gem::Version
194
- version: '0'
211
+ version: 1.3.1
195
212
  requirements: []
196
- rubygems_version: 3.3.27
197
- signing_key:
213
+ rubygems_version: 3.3.26
214
+ signing_key:
198
215
  specification_version: 4
199
216
  summary: Ruby bindings for the Stripe API
200
217
  test_files: []