stripe 11.4.0.pre.beta.1 → 11.4.0

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +662 -1317
  3. data/Gemfile +0 -4
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +0 -11
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_operations/nested_resource.rb +22 -2
  8. data/lib/stripe/api_operations/request.rb +1 -2
  9. data/lib/stripe/api_version.rb +0 -1
  10. data/lib/stripe/object_types.rb +0 -16
  11. data/lib/stripe/resources/financial_connections/account.rb +0 -3
  12. data/lib/stripe/resources/invoice.rb +0 -99
  13. data/lib/stripe/resources/payment_intent.rb +0 -50
  14. data/lib/stripe/resources/quote.rb +0 -104
  15. data/lib/stripe/resources/subscription_schedule.rb +0 -20
  16. data/lib/stripe/resources/terminal/reader.rb +0 -60
  17. data/lib/stripe/resources/treasury/outbound_payment.rb +20 -0
  18. data/lib/stripe/resources/treasury/outbound_transfer.rb +20 -0
  19. data/lib/stripe/resources.rb +0 -15
  20. data/lib/stripe/stripe_client.rb +36 -63
  21. data/lib/stripe/stripe_configuration.rb +1 -2
  22. data/lib/stripe/util.rb +1 -8
  23. data/lib/stripe/version.rb +1 -1
  24. data/lib/stripe.rb +0 -54
  25. metadata +4 -20
  26. data/lib/stripe/request_signing_authenticator.rb +0 -79
  27. data/lib/stripe/resources/account_notice.rb +0 -32
  28. data/lib/stripe/resources/capital/financing_offer.rb +0 -49
  29. data/lib/stripe/resources/capital/financing_summary.rb +0 -15
  30. data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
  31. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
  32. data/lib/stripe/resources/gift_cards/card.rb +0 -59
  33. data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
  34. data/lib/stripe/resources/invoice_payment.rb +0 -12
  35. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
  36. data/lib/stripe/resources/margin.rb +0 -37
  37. data/lib/stripe/resources/order.rb +0 -120
  38. data/lib/stripe/resources/quote_phase.rb +0 -39
  39. data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
  40. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
  41. data/lib/stripe/resources/tax/form.rb +0 -49
@@ -3,7 +3,6 @@
3
3
 
4
4
  require "stripe/resources/account"
5
5
  require "stripe/resources/account_link"
6
- require "stripe/resources/account_notice"
7
6
  require "stripe/resources/account_session"
8
7
  require "stripe/resources/apple_pay_domain"
9
8
  require "stripe/resources/application_fee"
@@ -19,9 +18,6 @@ require "stripe/resources/billing/meter_event_summary"
19
18
  require "stripe/resources/billing_portal/configuration"
20
19
  require "stripe/resources/billing_portal/session"
21
20
  require "stripe/resources/capability"
22
- require "stripe/resources/capital/financing_offer"
23
- require "stripe/resources/capital/financing_summary"
24
- require "stripe/resources/capital/financing_transaction"
25
21
  require "stripe/resources/card"
26
22
  require "stripe/resources/cash_balance"
27
23
  require "stripe/resources/charge"
@@ -48,25 +44,20 @@ require "stripe/resources/exchange_rate"
48
44
  require "stripe/resources/file"
49
45
  require "stripe/resources/file_link"
50
46
  require "stripe/resources/financial_connections/account"
51
- require "stripe/resources/financial_connections/account_inferred_balance"
52
47
  require "stripe/resources/financial_connections/account_owner"
53
48
  require "stripe/resources/financial_connections/account_ownership"
54
49
  require "stripe/resources/financial_connections/session"
55
50
  require "stripe/resources/financial_connections/transaction"
56
51
  require "stripe/resources/forwarding/request"
57
52
  require "stripe/resources/funding_instructions"
58
- require "stripe/resources/gift_cards/card"
59
- require "stripe/resources/gift_cards/transaction"
60
53
  require "stripe/resources/identity/verification_report"
61
54
  require "stripe/resources/identity/verification_session"
62
55
  require "stripe/resources/invoice"
63
56
  require "stripe/resources/invoice_item"
64
57
  require "stripe/resources/invoice_line_item"
65
- require "stripe/resources/invoice_payment"
66
58
  require "stripe/resources/issuing/authorization"
67
59
  require "stripe/resources/issuing/card"
68
60
  require "stripe/resources/issuing/cardholder"
69
- require "stripe/resources/issuing/credit_underwriting_record"
70
61
  require "stripe/resources/issuing/dispute"
71
62
  require "stripe/resources/issuing/personalization_design"
72
63
  require "stripe/resources/issuing/physical_bundle"
@@ -75,8 +66,6 @@ require "stripe/resources/issuing/transaction"
75
66
  require "stripe/resources/line_item"
76
67
  require "stripe/resources/login_link"
77
68
  require "stripe/resources/mandate"
78
- require "stripe/resources/margin"
79
- require "stripe/resources/order"
80
69
  require "stripe/resources/payment_intent"
81
70
  require "stripe/resources/payment_link"
82
71
  require "stripe/resources/payment_method"
@@ -90,9 +79,6 @@ require "stripe/resources/product"
90
79
  require "stripe/resources/product_feature"
91
80
  require "stripe/resources/promotion_code"
92
81
  require "stripe/resources/quote"
93
- require "stripe/resources/quote_phase"
94
- require "stripe/resources/quote_preview_invoice"
95
- require "stripe/resources/quote_preview_subscription_schedule"
96
82
  require "stripe/resources/radar/early_fraud_warning"
97
83
  require "stripe/resources/radar/value_list"
98
84
  require "stripe/resources/radar/value_list_item"
@@ -112,7 +98,6 @@ require "stripe/resources/subscription_item"
112
98
  require "stripe/resources/subscription_schedule"
113
99
  require "stripe/resources/tax/calculation"
114
100
  require "stripe/resources/tax/calculation_line_item"
115
- require "stripe/resources/tax/form"
116
101
  require "stripe/resources/tax/registration"
117
102
  require "stripe/resources/tax/settings"
118
103
  require "stripe/resources/tax/transaction"
@@ -18,6 +18,11 @@ module Stripe
18
18
  @system_profiler = SystemProfiler.new
19
19
  @last_request_metrics = nil
20
20
 
21
+ # The following attribute is only used to log whether or not
22
+ # StripeClient#request has been called. To be removed in a
23
+ # future major version.
24
+ @usage = []
25
+
21
26
  @config = case config_arg
22
27
  when Hash
23
28
  Stripe.config.reverse_duplicate_merge(config_arg)
@@ -186,6 +191,7 @@ module Stripe
186
191
  # charge, resp = client.request { Charge.create }
187
192
  #
188
193
  def request
194
+ @usage = ["stripe_client_request"]
189
195
  old_stripe_client = self.class.current_thread_context.active_client
190
196
  self.class.current_thread_context.active_client = self
191
197
 
@@ -200,16 +206,16 @@ module Stripe
200
206
  res = yield
201
207
  [res, self.class.current_thread_context.last_responses[object_id]]
202
208
  ensure
209
+ @usage = []
203
210
  self.class.current_thread_context.active_client = old_stripe_client
204
211
  self.class.current_thread_context.last_responses.delete(object_id)
205
212
  end
206
213
  end
207
214
 
208
215
  def execute_request(method, path,
209
- api_base: nil, api_key: nil,
210
- headers: {}, params: {}, api_mode: nil, usage: [])
216
+ api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
211
217
  http_resp, api_key = execute_request_internal(
212
- method, path, api_base, api_key, headers, params, api_mode, usage
218
+ method, path, api_base, api_key, headers, params, usage
213
219
  )
214
220
 
215
221
  begin
@@ -240,7 +246,6 @@ module Stripe
240
246
  def execute_request_stream(method, path,
241
247
  api_base: nil, api_key: nil, usage: [],
242
248
  headers: {}, params: {},
243
- api_mode: nil,
244
249
  &read_body_chunk_block)
245
250
  unless block_given?
246
251
  raise ArgumentError,
@@ -248,8 +253,7 @@ module Stripe
248
253
  end
249
254
 
250
255
  http_resp, api_key = execute_request_internal(
251
- method, path, api_base, api_key,
252
- headers, params, api_mode, usage, &read_body_chunk_block
256
+ method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
253
257
  )
254
258
 
255
259
  # When the read_body_chunk_block is given, we no longer have access to the
@@ -428,8 +432,8 @@ module Stripe
428
432
  end
429
433
 
430
434
  private def execute_request_internal(method, path,
431
- api_base, api_key, headers, params,
432
- api_mode, usage, &read_body_chunk_block)
435
+ api_base, api_key, headers, params, usage,
436
+ &read_body_chunk_block)
433
437
  raise ArgumentError, "method should be a symbol" \
434
438
  unless method.is_a?(Symbol)
435
439
  raise ArgumentError, "path should be a string" \
@@ -437,10 +441,9 @@ module Stripe
437
441
 
438
442
  api_base ||= config.api_base
439
443
  api_key ||= config.api_key
440
- authenticator ||= config.authenticator
441
444
  params = Util.objects_to_ids(params)
442
445
 
443
- check_keys!(api_key, authenticator)
446
+ check_api_key!(api_key)
444
447
 
445
448
  body_params = nil
446
449
  query_params = nil
@@ -453,9 +456,8 @@ module Stripe
453
456
 
454
457
  query_params, path = merge_query_params(query_params, path)
455
458
 
456
- headers = request_headers(api_key, method, api_mode)
459
+ headers = request_headers(api_key, method)
457
460
  .update(Util.normalize_headers(headers))
458
-
459
461
  url = api_url(path, api_base)
460
462
 
461
463
  # Merge given query parameters with any already encoded in the path.
@@ -466,16 +468,13 @@ module Stripe
466
468
  # a log-friendly variant of the encoded form. File objects are displayed
467
469
  # as such instead of as their file contents.
468
470
  body, body_log =
469
- body_params ? encode_body(body_params, headers, api_mode) : [nil, nil]
470
-
471
- authenticator.authenticate(method, headers, body) unless api_key
471
+ body_params ? encode_body(body_params, headers) : [nil, nil]
472
472
 
473
473
  # stores information on the request we're about to make so that we don't
474
474
  # have to pass as many parameters around for logging.
475
475
  context = RequestLogContext.new
476
476
  context.account = headers["Stripe-Account"]
477
477
  context.api_key = api_key
478
- context.authenticator = authenticator
479
478
  context.api_version = headers["Stripe-Version"]
480
479
  context.body = body_log
481
480
  context.idempotency_key = headers["Idempotency-Key"]
@@ -512,16 +511,8 @@ module Stripe
512
511
  (api_base || config.api_base) + url
513
512
  end
514
513
 
515
- private def check_keys!(api_key, authenticator)
516
- if api_key && authenticator
517
- raise AuthenticationError, "Can't specify both API key " \
518
- "and authenticator. Either set your API key" \
519
- 'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
520
- 'using "Stripe.authenticator = <AUTHENTICATOR>"' \
521
- end
522
-
523
- unless api_key || authenticator
524
- # Default to missing API key error message for general users.
514
+ private def check_api_key!(api_key)
515
+ unless api_key
525
516
  raise AuthenticationError, "No API key provided. " \
526
517
  'Set your API key using "Stripe.api_key = <API-KEY>". ' \
527
518
  "You can generate API keys from the Stripe web interface. " \
@@ -540,7 +531,7 @@ module Stripe
540
531
  # Encodes a set of body parameters using multipart if `Content-Type` is set
541
532
  # for that, or standard form-encoding otherwise. Returns the encoded body
542
533
  # and a version of the encoded body that's safe to be logged.
543
- private def encode_body(body_params, headers, api_mode)
534
+ private def encode_body(body_params, headers)
544
535
  body = nil
545
536
  flattened_params = Util.flatten_params(body_params)
546
537
 
@@ -556,22 +547,15 @@ module Stripe
556
547
  flattened_params =
557
548
  flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
558
549
 
559
- elsif api_mode == :preview
560
- body = JSON.generate(body_params)
561
- headers["Content-Type"] = "application/json"
562
550
  else
563
551
  body = Util.encode_parameters(body_params)
564
552
  end
565
553
 
566
- body_log = if api_mode == :preview
567
- body
568
- else
569
- # We don't use `Util.encode_parameters` partly as an optimization (to
570
- # not redo work we've already done), and partly because the encoded
571
- # forms of certain characters introduce a lot of visual noise and it's
572
- # nice to have a clearer format for logs.
573
- flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
574
- end
554
+ # We don't use `Util.encode_parameters` partly as an optimization (to not
555
+ # redo work we've already done), and partly because the encoded forms of
556
+ # certain characters introduce a lot of visual noise and it's nice to
557
+ # have a clearer format for logs.
558
+ body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
575
559
 
576
560
  [body, body_log]
577
561
  end
@@ -606,7 +590,7 @@ module Stripe
606
590
  if config.enable_telemetry? && context.request_id
607
591
  request_duration_ms = (request_duration * 1000).to_i
608
592
  @last_request_metrics =
609
- StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage)
593
+ StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage + @usage)
610
594
  end
611
595
 
612
596
  # We rescue all exceptions from a request so that we have an easy spot to
@@ -757,11 +741,10 @@ module Stripe
757
741
  end
758
742
 
759
743
  private def specific_api_error(resp, error_data, context)
760
- message = error_data[:message]
761
744
  Util.log_error("Stripe API error",
762
745
  status: resp.http_status,
763
746
  error_code: error_data[:code],
764
- error_message: message,
747
+ error_message: error_data[:message],
765
748
  error_param: error_data[:param],
766
749
  error_type: error_data[:type],
767
750
  idempotency_key: context.idempotency_key,
@@ -782,26 +765,26 @@ module Stripe
782
765
  when 400, 404
783
766
  case error_data[:type]
784
767
  when "idempotency_error"
785
- IdempotencyError.new(message, **opts)
768
+ IdempotencyError.new(error_data[:message], **opts)
786
769
  else
787
770
  InvalidRequestError.new(
788
- message, error_data[:param],
771
+ error_data[:message], error_data[:param],
789
772
  **opts
790
773
  )
791
774
  end
792
775
  when 401
793
- AuthenticationError.new(message, **opts)
776
+ AuthenticationError.new(error_data[:message], **opts)
794
777
  when 402
795
778
  CardError.new(
796
- message, error_data[:param],
779
+ error_data[:message], error_data[:param],
797
780
  **opts
798
781
  )
799
782
  when 403
800
- PermissionError.new(message, **opts)
783
+ PermissionError.new(error_data[:message], **opts)
801
784
  when 429
802
- RateLimitError.new(message, **opts)
785
+ RateLimitError.new(error_data[:message], **opts)
803
786
  else
804
- APIError.new(message, **opts)
787
+ APIError.new(error_data[:message], **opts)
805
788
  end
806
789
  end
807
790
 
@@ -869,20 +852,16 @@ module Stripe
869
852
  message + "\n\n(Network error: #{error.message})"
870
853
  end
871
854
 
872
- private def request_headers(api_key, method, api_mode)
855
+ private def request_headers(api_key, method)
873
856
  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
874
857
  user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
875
858
 
876
859
  headers = {
877
860
  "User-Agent" => user_agent,
878
861
  "Authorization" => "Bearer #{api_key}",
862
+ "Content-Type" => "application/x-www-form-urlencoded",
879
863
  }
880
864
 
881
- if api_mode != :preview
882
- # TODO: (major) don't set Content-Type if method is not post
883
- headers["Content-Type"] = "application/x-www-form-urlencoded"
884
- end
885
-
886
865
  if config.enable_telemetry? && !@last_request_metrics.nil?
887
866
  headers["X-Stripe-Client-Telemetry"] = JSON.generate(
888
867
  last_request_metrics: @last_request_metrics.payload
@@ -895,12 +874,7 @@ module Stripe
895
874
  headers["Idempotency-Key"] ||= SecureRandom.uuid
896
875
  end
897
876
 
898
- if api_mode == :preview
899
- headers["Stripe-Version"] = ApiVersion::PREVIEW
900
- elsif config.api_version
901
- headers["Stripe-Version"] = config.api_version
902
- end
903
-
877
+ headers["Stripe-Version"] = config.api_version if config.api_version
904
878
  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
905
879
 
906
880
  user_agent = @system_profiler.user_agent
@@ -983,8 +957,7 @@ module Stripe
983
957
  # that we can log certain information. It's useful because it means that we
984
958
  # don't have to pass around as many parameters.
985
959
  class RequestLogContext
986
- attr_accessor :body, :account, :api_key, :authenticator, :api_version, :idempotency_key, :method, :path, :query,
987
- :request_id
960
+ attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
988
961
 
989
962
  # The idea with this method is that we might want to update some of
990
963
  # context information because a response that we've received from the API
@@ -25,7 +25,7 @@ module Stripe
25
25
  # If `.logger` is set, the value of `.log_level` is ignored. The decision on
26
26
  # what levels to print is entirely deferred to the logger.
27
27
  class StripeConfiguration
28
- attr_accessor :api_key, :api_version, :authenticator, :client_id, :enable_telemetry, :logger, :stripe_account
28
+ attr_accessor :api_key, :api_version, :client_id, :enable_telemetry, :logger, :stripe_account
29
29
 
30
30
  attr_reader :api_base, :uploads_base, :connect_base, :ca_bundle_path, :log_level, :initial_network_retry_delay,
31
31
  # rubocop:todo Layout/LineLength
@@ -50,7 +50,6 @@ module Stripe
50
50
 
51
51
  def initialize
52
52
  @api_version = ApiVersion::CURRENT
53
-
54
53
  @ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
55
54
  @enable_telemetry = true
56
55
  @verify_ssl_certs = true
data/lib/stripe/util.rb CHANGED
@@ -7,7 +7,6 @@ module Stripe
7
7
  # Options that a user is allowed to specify.
8
8
  OPTS_USER_SPECIFIED = Set[
9
9
  :api_key,
10
- :authenticator,
11
10
  :idempotency_key,
12
11
  :stripe_account,
13
12
  :stripe_version
@@ -280,13 +279,7 @@ module Stripe
280
279
  when String
281
280
  { api_key: opts }
282
281
  when Hash
283
- # If the user is using request signing for authentication,
284
- # no need to check the api_key per request.
285
- if !(opts.key?(:client) &&
286
- opts.fetch(:client).config.authenticator) &&
287
- opts.key?(:api_key)
288
- check_api_key!(opts.fetch(:api_key))
289
- end
282
+ check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
290
283
  # Explicitly use dup here instead of clone to avoid preserving freeze
291
284
  # state on input params.
292
285
  opts.dup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "11.4.0-beta.1"
4
+ VERSION = "11.4.0"
5
5
  end
data/lib/stripe.rb CHANGED
@@ -13,7 +13,6 @@ require "set"
13
13
  require "socket"
14
14
  require "uri"
15
15
  require "forwardable"
16
- require "base64"
17
16
 
18
17
  # Version
19
18
  require "stripe/api_version"
@@ -46,7 +45,6 @@ require "stripe/api_resource_test_helpers"
46
45
  require "stripe/singleton_api_resource"
47
46
  require "stripe/webhook"
48
47
  require "stripe/stripe_configuration"
49
- require "stripe/request_signing_authenticator"
50
48
 
51
49
  # Named API resources
52
50
  require "stripe/resources"
@@ -73,7 +71,6 @@ module Stripe
73
71
 
74
72
  # User configurable options
75
73
  def_delegators :@config, :api_key, :api_key=
76
- def_delegators :@config, :authenticator, :authenticator=
77
74
  def_delegators :@config, :api_version, :api_version=
78
75
  def_delegators :@config, :stripe_account, :stripe_account=
79
76
  def_delegators :@config, :api_base, :api_base=
@@ -120,57 +117,6 @@ module Stripe
120
117
  version: version,
121
118
  }
122
119
  end
123
-
124
- def self.add_beta_version(beta_name, version)
125
- if api_version.include?("; #{beta_name}=")
126
- raise "Stripe version header #{api_version} already contains entry for beta #{beta_name}"
127
- end
128
-
129
- self.api_version = "#{api_version}; #{beta_name}=#{version}"
130
- end
131
-
132
- class Preview
133
- def self._get_default_opts(opts)
134
- { api_mode: :preview }.merge(opts)
135
- end
136
-
137
- def self.get(url, opts = {})
138
- Stripe.raw_request(:get, url, {}, _get_default_opts(opts))
139
- end
140
-
141
- def self.post(url, params = {}, opts = {})
142
- Stripe.raw_request(:post, url, params, _get_default_opts(opts))
143
- end
144
-
145
- def self.delete(url, opts = {})
146
- Stripe.raw_request(:delete, url, {}, _get_default_opts(opts))
147
- end
148
- end
149
-
150
- class RawRequest
151
- include Stripe::APIOperations::Request
152
-
153
- def initialize
154
- @opts = {}
155
- end
156
-
157
- def execute(method, url, params = {}, opts = {}, usage = [])
158
- resp, = execute_resource_request(method, url, params, opts, usage)
159
-
160
- resp
161
- end
162
- end
163
-
164
- # Sends a request to Stripe REST API
165
- def self.raw_request(method, url, params = {}, opts = {})
166
- req = RawRequest.new
167
- req.execute(method, url, params, opts, ["raw_request"])
168
- end
169
-
170
- def self.deserialize(data)
171
- data = JSON.parse(data) if data.is_a?(String)
172
- Util.convert_to_stripe_object(data, {})
173
- end
174
120
  end
175
121
 
176
122
  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: 11.4.0.pre.beta.1
4
+ version: 11.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-02 00:00:00.000000000 Z
11
+ date: 2024-05-09 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.
@@ -51,11 +51,9 @@ files:
51
51
  - lib/stripe/multipart_encoder.rb
52
52
  - lib/stripe/oauth.rb
53
53
  - lib/stripe/object_types.rb
54
- - lib/stripe/request_signing_authenticator.rb
55
54
  - lib/stripe/resources.rb
56
55
  - lib/stripe/resources/account.rb
57
56
  - lib/stripe/resources/account_link.rb
58
- - lib/stripe/resources/account_notice.rb
59
57
  - lib/stripe/resources/account_session.rb
60
58
  - lib/stripe/resources/alipay_account.rb
61
59
  - lib/stripe/resources/apple_pay_domain.rb
@@ -72,9 +70,6 @@ files:
72
70
  - lib/stripe/resources/billing_portal/configuration.rb
73
71
  - lib/stripe/resources/billing_portal/session.rb
74
72
  - lib/stripe/resources/capability.rb
75
- - lib/stripe/resources/capital/financing_offer.rb
76
- - lib/stripe/resources/capital/financing_summary.rb
77
- - lib/stripe/resources/capital/financing_transaction.rb
78
73
  - lib/stripe/resources/card.rb
79
74
  - lib/stripe/resources/cash_balance.rb
80
75
  - lib/stripe/resources/charge.rb
@@ -101,25 +96,20 @@ files:
101
96
  - lib/stripe/resources/file.rb
102
97
  - lib/stripe/resources/file_link.rb
103
98
  - lib/stripe/resources/financial_connections/account.rb
104
- - lib/stripe/resources/financial_connections/account_inferred_balance.rb
105
99
  - lib/stripe/resources/financial_connections/account_owner.rb
106
100
  - lib/stripe/resources/financial_connections/account_ownership.rb
107
101
  - lib/stripe/resources/financial_connections/session.rb
108
102
  - lib/stripe/resources/financial_connections/transaction.rb
109
103
  - lib/stripe/resources/forwarding/request.rb
110
104
  - lib/stripe/resources/funding_instructions.rb
111
- - lib/stripe/resources/gift_cards/card.rb
112
- - lib/stripe/resources/gift_cards/transaction.rb
113
105
  - lib/stripe/resources/identity/verification_report.rb
114
106
  - lib/stripe/resources/identity/verification_session.rb
115
107
  - lib/stripe/resources/invoice.rb
116
108
  - lib/stripe/resources/invoice_item.rb
117
109
  - lib/stripe/resources/invoice_line_item.rb
118
- - lib/stripe/resources/invoice_payment.rb
119
110
  - lib/stripe/resources/issuing/authorization.rb
120
111
  - lib/stripe/resources/issuing/card.rb
121
112
  - lib/stripe/resources/issuing/cardholder.rb
122
- - lib/stripe/resources/issuing/credit_underwriting_record.rb
123
113
  - lib/stripe/resources/issuing/dispute.rb
124
114
  - lib/stripe/resources/issuing/personalization_design.rb
125
115
  - lib/stripe/resources/issuing/physical_bundle.rb
@@ -128,8 +118,6 @@ files:
128
118
  - lib/stripe/resources/line_item.rb
129
119
  - lib/stripe/resources/login_link.rb
130
120
  - lib/stripe/resources/mandate.rb
131
- - lib/stripe/resources/margin.rb
132
- - lib/stripe/resources/order.rb
133
121
  - lib/stripe/resources/payment_intent.rb
134
122
  - lib/stripe/resources/payment_link.rb
135
123
  - lib/stripe/resources/payment_method.rb
@@ -143,9 +131,6 @@ files:
143
131
  - lib/stripe/resources/product_feature.rb
144
132
  - lib/stripe/resources/promotion_code.rb
145
133
  - lib/stripe/resources/quote.rb
146
- - lib/stripe/resources/quote_phase.rb
147
- - lib/stripe/resources/quote_preview_invoice.rb
148
- - lib/stripe/resources/quote_preview_subscription_schedule.rb
149
134
  - lib/stripe/resources/radar/early_fraud_warning.rb
150
135
  - lib/stripe/resources/radar/value_list.rb
151
136
  - lib/stripe/resources/radar/value_list_item.rb
@@ -166,7 +151,6 @@ files:
166
151
  - lib/stripe/resources/subscription_schedule.rb
167
152
  - lib/stripe/resources/tax/calculation.rb
168
153
  - lib/stripe/resources/tax/calculation_line_item.rb
169
- - lib/stripe/resources/tax/form.rb
170
154
  - lib/stripe/resources/tax/registration.rb
171
155
  - lib/stripe/resources/tax/settings.rb
172
156
  - lib/stripe/resources/tax/transaction.rb
@@ -228,9 +212,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
228
212
  version: 2.3.0
229
213
  required_rubygems_version: !ruby/object:Gem::Requirement
230
214
  requirements:
231
- - - ">"
215
+ - - ">="
232
216
  - !ruby/object:Gem::Version
233
- version: 1.3.1
217
+ version: '0'
234
218
  requirements: []
235
219
  rubygems_version: 3.3.27
236
220
  signing_key:
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Stripe
4
- class RequestSigningAuthenticator
5
- AUTHORIZATION_HEADER_NAME = "Authorization"
6
- CONTENT_TYPE_HEADER_NAME = "Content-Type"
7
- STRIPE_CONTEXT_HEADER_NAME = "Stripe-Context"
8
- STRIPE_ACCOUNT_HEADER_NAME = "Stripe-Account"
9
- CONTENT_DIGEST_HEADER_NAME = "Content-Digest"
10
- SIGNATURE_INPUT_HEADER_NAME = "Signature-Input"
11
- SIGNATURE_HEADER_NAME = "Signature"
12
-
13
- attr_reader :auth_token, :sign_lambda
14
-
15
- def initialize(auth_token, sign_lambda)
16
- raise ArgumentError, "auth_token must be a string" unless auth_token.is_a?(String)
17
- raise ArgumentError, "sign_lambda must be a lambda" unless sign_lambda.is_a?(Proc)
18
-
19
- @auth_token = auth_token
20
- @sign_lambda = sign_lambda
21
- end
22
-
23
- def authenticate(method, headers, body)
24
- covered_headers = [CONTENT_TYPE_HEADER_NAME,
25
- CONTENT_DIGEST_HEADER_NAME,
26
- STRIPE_CONTEXT_HEADER_NAME,
27
- STRIPE_ACCOUNT_HEADER_NAME,
28
- AUTHORIZATION_HEADER_NAME,]
29
-
30
- headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
31
-
32
- if method == :get
33
- covered_headers -= [CONTENT_TYPE_HEADER_NAME,
34
- CONTENT_DIGEST_HEADER_NAME,]
35
- else
36
- content = body || ""
37
- headers[CONTENT_DIGEST_HEADER_NAME] =
38
- %(sha-256=:#{content_digest(content)}:)
39
- end
40
-
41
- covered_headers_formatted = covered_headers
42
- .map { |string| %("#{string.downcase}") }
43
- .join(" ")
44
-
45
- signature_input = "(#{covered_headers_formatted});created=#{created_time}"
46
-
47
- inputs = covered_headers
48
- .map { |header| %("#{header.downcase}": #{headers[header]}) }
49
- .join("\n")
50
-
51
- signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
52
- .encode(Encoding::UTF_8)
53
-
54
- headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
55
-
56
- headers[SIGNATURE_HEADER_NAME] =
57
- "sig1=:#{encoded_signature(signature_base)}:"
58
- end
59
-
60
- private def sign(signature_base)
61
- @sign_lambda.call(signature_base)
62
- end
63
-
64
- private def encoded_signature(signature_base)
65
- Base64.strict_encode64(sign(signature_base))
66
- rescue StandardError
67
- raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' " \
68
- "when calculating request signature."
69
- end
70
-
71
- private def content_digest(content)
72
- Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
73
- end
74
-
75
- private def created_time
76
- Time.now.to_i
77
- end
78
- end
79
- end
@@ -1,32 +0,0 @@
1
- # File generated from our OpenAPI spec
2
- # frozen_string_literal: true
3
-
4
- module Stripe
5
- # A notice to a Connected account. Notice can be sent by Stripe on your behalf or you can opt to send the notices yourself.
6
- #
7
- # See the [guide to send notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
8
- class AccountNotice < APIResource
9
- extend Stripe::APIOperations::List
10
- include Stripe::APIOperations::Save
11
-
12
- OBJECT_NAME = "account_notice"
13
- def self.object_name
14
- "account_notice"
15
- end
16
-
17
- # Retrieves a list of AccountNotice objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
18
- def self.list(filters = {}, opts = {})
19
- request_stripe_object(method: :get, path: "/v1/account_notices", params: filters, opts: opts)
20
- end
21
-
22
- # Updates an AccountNotice object.
23
- def self.update(id, params = {}, opts = {})
24
- request_stripe_object(
25
- method: :post,
26
- path: format("/v1/account_notices/%<id>s", { id: CGI.escape(id) }),
27
- params: params,
28
- opts: opts
29
- )
30
- end
31
- end
32
- end