stripe 12.6.0 → 12.7.0.pre.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1353 -644
  3. data/OPENAPI_VERSION +1 -1
  4. data/VERSION +1 -1
  5. data/lib/stripe/api_operations/request.rb +2 -1
  6. data/lib/stripe/api_version.rb +1 -0
  7. data/lib/stripe/object_types.rb +19 -0
  8. data/lib/stripe/request_signing_authenticator.rb +79 -0
  9. data/lib/stripe/resources/account_notice.rb +32 -0
  10. data/lib/stripe/resources/capital/financing_offer.rb +49 -0
  11. data/lib/stripe/resources/capital/financing_summary.rb +15 -0
  12. data/lib/stripe/resources/capital/financing_transaction.rb +27 -0
  13. data/lib/stripe/resources/financial_connections/account.rb +3 -0
  14. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
  15. data/lib/stripe/resources/financial_connections/institution.rb +26 -0
  16. data/lib/stripe/resources/gift_cards/card.rb +59 -0
  17. data/lib/stripe/resources/gift_cards/transaction.rb +93 -0
  18. data/lib/stripe/resources/invoice.rb +81 -0
  19. data/lib/stripe/resources/invoice_payment.rb +12 -0
  20. data/lib/stripe/resources/invoice_rendering_template.rb +2 -0
  21. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
  22. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +26 -0
  23. data/lib/stripe/resources/margin.rb +37 -0
  24. data/lib/stripe/resources/order.rb +120 -0
  25. data/lib/stripe/resources/payment_intent.rb +50 -0
  26. data/lib/stripe/resources/quote.rb +104 -0
  27. data/lib/stripe/resources/quote_preview_invoice.rb +43 -0
  28. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +11 -0
  29. data/lib/stripe/resources/subscription_schedule.rb +20 -0
  30. data/lib/stripe/resources/tax/association.rb +24 -0
  31. data/lib/stripe/resources/tax/form.rb +49 -0
  32. data/lib/stripe/resources/terminal/reader.rb +60 -0
  33. data/lib/stripe/resources/terminal/reader_collected_data.rb +14 -0
  34. data/lib/stripe/resources.rb +18 -0
  35. data/lib/stripe/stripe_client.rb +60 -28
  36. data/lib/stripe/stripe_configuration.rb +2 -1
  37. data/lib/stripe/util.rb +8 -1
  38. data/lib/stripe/version.rb +1 -1
  39. data/lib/stripe.rb +29 -0
  40. metadata +23 -4
@@ -37,6 +37,66 @@ module Stripe
37
37
  )
38
38
  end
39
39
 
40
+ # Initiates an input collection flow on a Reader.
41
+ def collect_inputs(params = {}, opts = {})
42
+ request_stripe_object(
43
+ method: :post,
44
+ path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
45
+ params: params,
46
+ opts: opts
47
+ )
48
+ end
49
+
50
+ # Initiates an input collection flow on a Reader.
51
+ def self.collect_inputs(reader, params = {}, opts = {})
52
+ request_stripe_object(
53
+ method: :post,
54
+ path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
55
+ params: params,
56
+ opts: opts
57
+ )
58
+ end
59
+
60
+ # Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
61
+ def collect_payment_method(params = {}, opts = {})
62
+ request_stripe_object(
63
+ method: :post,
64
+ path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(self["id"]) }),
65
+ params: params,
66
+ opts: opts
67
+ )
68
+ end
69
+
70
+ # Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
71
+ def self.collect_payment_method(reader, params = {}, opts = {})
72
+ request_stripe_object(
73
+ method: :post,
74
+ path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(reader) }),
75
+ params: params,
76
+ opts: opts
77
+ )
78
+ end
79
+
80
+ # Finalizes a payment on a Reader.
81
+ def confirm_payment_intent(params = {}, opts = {})
82
+ request_stripe_object(
83
+ method: :post,
84
+ path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(self["id"]) }),
85
+ params: params,
86
+ opts: opts
87
+ )
88
+ end
89
+
90
+ # Finalizes a payment on a Reader.
91
+ def self.confirm_payment_intent(reader, params = {}, opts = {})
92
+ request_stripe_object(
93
+ method: :post,
94
+ path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(reader) }),
95
+ params: params,
96
+ opts: opts
97
+ )
98
+ end
99
+
40
100
  # Creates a new Reader object.
41
101
  def self.create(params = {}, opts = {})
42
102
  request_stripe_object(
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Terminal
6
+ # Returns data collected by Terminal readers. This data is only stored for 24 hours.
7
+ class ReaderCollectedData < APIResource
8
+ OBJECT_NAME = "terminal.reader_collected_data"
9
+ def self.object_name
10
+ "terminal.reader_collected_data"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "stripe/resources/account"
5
5
  require "stripe/resources/account_link"
6
+ require "stripe/resources/account_notice"
6
7
  require "stripe/resources/account_session"
7
8
  require "stripe/resources/apple_pay_domain"
8
9
  require "stripe/resources/application_fee"
@@ -19,6 +20,9 @@ require "stripe/resources/billing/meter_event_summary"
19
20
  require "stripe/resources/billing_portal/configuration"
20
21
  require "stripe/resources/billing_portal/session"
21
22
  require "stripe/resources/capability"
23
+ require "stripe/resources/capital/financing_offer"
24
+ require "stripe/resources/capital/financing_summary"
25
+ require "stripe/resources/capital/financing_transaction"
22
26
  require "stripe/resources/card"
23
27
  require "stripe/resources/cash_balance"
24
28
  require "stripe/resources/charge"
@@ -45,22 +49,29 @@ require "stripe/resources/exchange_rate"
45
49
  require "stripe/resources/file"
46
50
  require "stripe/resources/file_link"
47
51
  require "stripe/resources/financial_connections/account"
52
+ require "stripe/resources/financial_connections/account_inferred_balance"
48
53
  require "stripe/resources/financial_connections/account_owner"
49
54
  require "stripe/resources/financial_connections/account_ownership"
55
+ require "stripe/resources/financial_connections/institution"
50
56
  require "stripe/resources/financial_connections/session"
51
57
  require "stripe/resources/financial_connections/transaction"
52
58
  require "stripe/resources/forwarding/request"
53
59
  require "stripe/resources/funding_instructions"
60
+ require "stripe/resources/gift_cards/card"
61
+ require "stripe/resources/gift_cards/transaction"
54
62
  require "stripe/resources/identity/verification_report"
55
63
  require "stripe/resources/identity/verification_session"
56
64
  require "stripe/resources/invoice"
57
65
  require "stripe/resources/invoice_item"
58
66
  require "stripe/resources/invoice_line_item"
67
+ require "stripe/resources/invoice_payment"
59
68
  require "stripe/resources/invoice_rendering_template"
60
69
  require "stripe/resources/issuing/authorization"
61
70
  require "stripe/resources/issuing/card"
62
71
  require "stripe/resources/issuing/cardholder"
72
+ require "stripe/resources/issuing/credit_underwriting_record"
63
73
  require "stripe/resources/issuing/dispute"
74
+ require "stripe/resources/issuing/dispute_settlement_detail"
64
75
  require "stripe/resources/issuing/personalization_design"
65
76
  require "stripe/resources/issuing/physical_bundle"
66
77
  require "stripe/resources/issuing/token"
@@ -68,6 +79,8 @@ require "stripe/resources/issuing/transaction"
68
79
  require "stripe/resources/line_item"
69
80
  require "stripe/resources/login_link"
70
81
  require "stripe/resources/mandate"
82
+ require "stripe/resources/margin"
83
+ require "stripe/resources/order"
71
84
  require "stripe/resources/payment_intent"
72
85
  require "stripe/resources/payment_link"
73
86
  require "stripe/resources/payment_method"
@@ -81,6 +94,8 @@ require "stripe/resources/product"
81
94
  require "stripe/resources/product_feature"
82
95
  require "stripe/resources/promotion_code"
83
96
  require "stripe/resources/quote"
97
+ require "stripe/resources/quote_preview_invoice"
98
+ require "stripe/resources/quote_preview_subscription_schedule"
84
99
  require "stripe/resources/radar/early_fraud_warning"
85
100
  require "stripe/resources/radar/value_list"
86
101
  require "stripe/resources/radar/value_list_item"
@@ -98,8 +113,10 @@ require "stripe/resources/source_transaction"
98
113
  require "stripe/resources/subscription"
99
114
  require "stripe/resources/subscription_item"
100
115
  require "stripe/resources/subscription_schedule"
116
+ require "stripe/resources/tax/association"
101
117
  require "stripe/resources/tax/calculation"
102
118
  require "stripe/resources/tax/calculation_line_item"
119
+ require "stripe/resources/tax/form"
103
120
  require "stripe/resources/tax/registration"
104
121
  require "stripe/resources/tax/settings"
105
122
  require "stripe/resources/tax/transaction"
@@ -111,6 +128,7 @@ require "stripe/resources/terminal/configuration"
111
128
  require "stripe/resources/terminal/connection_token"
112
129
  require "stripe/resources/terminal/location"
113
130
  require "stripe/resources/terminal/reader"
131
+ require "stripe/resources/terminal/reader_collected_data"
114
132
  require "stripe/resources/test_helpers/test_clock"
115
133
  require "stripe/resources/token"
116
134
  require "stripe/resources/topup"
@@ -217,9 +217,10 @@ module Stripe
217
217
  "for usage examples)", 2024, 6
218
218
 
219
219
  def execute_request(method, path,
220
- api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
220
+ api_base: nil, api_key: nil,
221
+ headers: {}, params: {}, api_mode: nil, usage: [])
221
222
  http_resp, api_key = execute_request_internal(
222
- method, path, api_base, api_key, headers, params, usage
223
+ method, path, api_base, api_key, headers, params, api_mode, usage
223
224
  )
224
225
 
225
226
  begin
@@ -250,6 +251,7 @@ module Stripe
250
251
  def execute_request_stream(method, path,
251
252
  api_base: nil, api_key: nil, usage: [],
252
253
  headers: {}, params: {},
254
+ api_mode: nil,
253
255
  &read_body_chunk_block)
254
256
  unless block_given?
255
257
  raise ArgumentError,
@@ -257,7 +259,8 @@ module Stripe
257
259
  end
258
260
 
259
261
  http_resp, api_key = execute_request_internal(
260
- method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
262
+ method, path, api_base, api_key,
263
+ headers, params, api_mode, usage, &read_body_chunk_block
261
264
  )
262
265
 
263
266
  # When the read_body_chunk_block is given, we no longer have access to the
@@ -436,8 +439,8 @@ module Stripe
436
439
  end
437
440
 
438
441
  private def execute_request_internal(method, path,
439
- api_base, api_key, headers, params, usage,
440
- &read_body_chunk_block)
442
+ api_base, api_key, headers, params,
443
+ api_mode, usage, &read_body_chunk_block)
441
444
  raise ArgumentError, "method should be a symbol" \
442
445
  unless method.is_a?(Symbol)
443
446
  raise ArgumentError, "path should be a string" \
@@ -445,9 +448,10 @@ module Stripe
445
448
 
446
449
  api_base ||= config.api_base
447
450
  api_key ||= config.api_key
451
+ authenticator ||= config.authenticator
448
452
  params = Util.objects_to_ids(params)
449
453
 
450
- check_api_key!(api_key)
454
+ check_keys!(api_key, authenticator)
451
455
 
452
456
  body_params = nil
453
457
  query_params = nil
@@ -460,7 +464,7 @@ module Stripe
460
464
 
461
465
  query_params, path = merge_query_params(query_params, path)
462
466
 
463
- headers = request_headers(api_key, method)
467
+ headers = request_headers(api_key, method, api_mode)
464
468
  .update(Util.normalize_headers(headers))
465
469
 
466
470
  url = api_url(path, api_base)
@@ -473,13 +477,16 @@ module Stripe
473
477
  # a log-friendly variant of the encoded form. File objects are displayed
474
478
  # as such instead of as their file contents.
475
479
  body, body_log =
476
- body_params ? encode_body(body_params, headers) : [nil, nil]
480
+ body_params ? encode_body(body_params, headers, api_mode) : [nil, nil]
481
+
482
+ authenticator.authenticate(method, headers, body) unless api_key
477
483
 
478
484
  # stores information on the request we're about to make so that we don't
479
485
  # have to pass as many parameters around for logging.
480
486
  context = RequestLogContext.new
481
487
  context.account = headers["Stripe-Account"]
482
488
  context.api_key = api_key
489
+ context.authenticator = authenticator
483
490
  context.api_version = headers["Stripe-Version"]
484
491
  context.body = body_log
485
492
  context.idempotency_key = headers["Idempotency-Key"]
@@ -516,8 +523,16 @@ module Stripe
516
523
  (api_base || config.api_base) + url
517
524
  end
518
525
 
519
- private def check_api_key!(api_key)
520
- unless api_key
526
+ private def check_keys!(api_key, authenticator)
527
+ if api_key && authenticator
528
+ raise AuthenticationError, "Can't specify both API key " \
529
+ "and authenticator. Either set your API key" \
530
+ 'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
531
+ 'using "Stripe.authenticator = <AUTHENTICATOR>"' \
532
+ end
533
+
534
+ unless api_key || authenticator
535
+ # Default to missing API key error message for general users.
521
536
  raise AuthenticationError, "No API key provided. " \
522
537
  'Set your API key using "Stripe.api_key = <API-KEY>". ' \
523
538
  "You can generate API keys from the Stripe web interface. " \
@@ -536,7 +551,7 @@ module Stripe
536
551
  # Encodes a set of body parameters using multipart if `Content-Type` is set
537
552
  # for that, or standard form-encoding otherwise. Returns the encoded body
538
553
  # and a version of the encoded body that's safe to be logged.
539
- private def encode_body(body_params, headers)
554
+ private def encode_body(body_params, headers, api_mode)
540
555
  body = nil
541
556
  flattened_params = Util.flatten_params(body_params)
542
557
 
@@ -552,15 +567,22 @@ module Stripe
552
567
  flattened_params =
553
568
  flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
554
569
 
570
+ elsif api_mode == :preview
571
+ body = JSON.generate(body_params)
572
+ headers["Content-Type"] = "application/json"
555
573
  else
556
574
  body = Util.encode_parameters(body_params)
557
575
  end
558
576
 
559
- # We don't use `Util.encode_parameters` partly as an optimization (to not
560
- # redo work we've already done), and partly because the encoded forms of
561
- # certain characters introduce a lot of visual noise and it's nice to
562
- # have a clearer format for logs.
563
- body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
577
+ body_log = if api_mode == :preview
578
+ body
579
+ else
580
+ # We don't use `Util.encode_parameters` partly as an optimization (to
581
+ # not redo work we've already done), and partly because the encoded
582
+ # forms of certain characters introduce a lot of visual noise and it's
583
+ # nice to have a clearer format for logs.
584
+ flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
585
+ end
564
586
 
565
587
  [body, body_log]
566
588
  end
@@ -746,10 +768,11 @@ module Stripe
746
768
  end
747
769
 
748
770
  private def specific_api_error(resp, error_data, context)
771
+ message = error_data[:message]
749
772
  Util.log_error("Stripe API error",
750
773
  status: resp.http_status,
751
774
  error_code: error_data[:code],
752
- error_message: error_data[:message],
775
+ error_message: message,
753
776
  error_param: error_data[:param],
754
777
  error_type: error_data[:type],
755
778
  idempotency_key: context.idempotency_key,
@@ -770,26 +793,26 @@ module Stripe
770
793
  when 400, 404
771
794
  case error_data[:type]
772
795
  when "idempotency_error"
773
- IdempotencyError.new(error_data[:message], **opts)
796
+ IdempotencyError.new(message, **opts)
774
797
  else
775
798
  InvalidRequestError.new(
776
- error_data[:message], error_data[:param],
799
+ message, error_data[:param],
777
800
  **opts
778
801
  )
779
802
  end
780
803
  when 401
781
- AuthenticationError.new(error_data[:message], **opts)
804
+ AuthenticationError.new(message, **opts)
782
805
  when 402
783
806
  CardError.new(
784
- error_data[:message], error_data[:param],
807
+ message, error_data[:param],
785
808
  **opts
786
809
  )
787
810
  when 403
788
- PermissionError.new(error_data[:message], **opts)
811
+ PermissionError.new(message, **opts)
789
812
  when 429
790
- RateLimitError.new(error_data[:message], **opts)
813
+ RateLimitError.new(message, **opts)
791
814
  else
792
- APIError.new(error_data[:message], **opts)
815
+ APIError.new(message, **opts)
793
816
  end
794
817
  end
795
818
 
@@ -857,16 +880,20 @@ module Stripe
857
880
  message + "\n\n(Network error: #{error.message})"
858
881
  end
859
882
 
860
- private def request_headers(api_key, method)
883
+ private def request_headers(api_key, method, api_mode)
861
884
  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
862
885
  user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
863
886
 
864
887
  headers = {
865
888
  "User-Agent" => user_agent,
866
889
  "Authorization" => "Bearer #{api_key}",
867
- "Content-Type" => "application/x-www-form-urlencoded",
868
890
  }
869
891
 
892
+ if api_mode != :preview
893
+ # TODO: (major) don't set Content-Type if method is not post
894
+ headers["Content-Type"] = "application/x-www-form-urlencoded"
895
+ end
896
+
870
897
  if config.enable_telemetry? && !@last_request_metrics.nil?
871
898
  headers["X-Stripe-Client-Telemetry"] = JSON.generate(
872
899
  last_request_metrics: @last_request_metrics.payload
@@ -879,7 +906,11 @@ module Stripe
879
906
  headers["Idempotency-Key"] ||= SecureRandom.uuid
880
907
  end
881
908
 
882
- headers["Stripe-Version"] = config.api_version if config.api_version
909
+ if api_mode == :preview
910
+ headers["Stripe-Version"] = ApiVersion::PREVIEW
911
+ elsif config.api_version
912
+ headers["Stripe-Version"] = config.api_version
913
+ end
883
914
 
884
915
  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
885
916
 
@@ -963,7 +994,8 @@ module Stripe
963
994
  # that we can log certain information. It's useful because it means that we
964
995
  # don't have to pass around as many parameters.
965
996
  class RequestLogContext
966
- attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
997
+ attr_accessor :body, :account, :api_key, :authenticator, :api_version, :idempotency_key, :method, :path, :query,
998
+ :request_id
967
999
 
968
1000
  # The idea with this method is that we might want to update some of
969
1001
  # 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, :client_id, :enable_telemetry, :logger, :stripe_account
28
+ attr_accessor :api_key, :api_version, :authenticator, :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,6 +50,7 @@ module Stripe
50
50
 
51
51
  def initialize
52
52
  @api_version = ApiVersion::CURRENT
53
+
53
54
  @ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
54
55
  @enable_telemetry = true
55
56
  @verify_ssl_certs = true
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
@@ -279,7 +280,13 @@ module Stripe
279
280
  when String
280
281
  { api_key: opts }
281
282
  when Hash
282
- check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
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
283
290
  # Explicitly use dup here instead of clone to avoid preserving freeze
284
291
  # state on input params.
285
292
  opts.dup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "12.6.0"
4
+ VERSION = "12.7.0-beta.2"
5
5
  end
data/lib/stripe.rb CHANGED
@@ -13,6 +13,7 @@ require "set"
13
13
  require "socket"
14
14
  require "uri"
15
15
  require "forwardable"
16
+ require "base64"
16
17
 
17
18
  # Version
18
19
  require "stripe/api_version"
@@ -45,6 +46,7 @@ require "stripe/api_resource_test_helpers"
45
46
  require "stripe/singleton_api_resource"
46
47
  require "stripe/webhook"
47
48
  require "stripe/stripe_configuration"
49
+ require "stripe/request_signing_authenticator"
48
50
 
49
51
  # Named API resources
50
52
  require "stripe/resources"
@@ -71,6 +73,7 @@ module Stripe
71
73
 
72
74
  # User configurable options
73
75
  def_delegators :@config, :api_key, :api_key=
76
+ def_delegators :@config, :authenticator, :authenticator=
74
77
  def_delegators :@config, :api_version, :api_version=
75
78
  def_delegators :@config, :stripe_account, :stripe_account=
76
79
  def_delegators :@config, :api_base, :api_base=
@@ -118,6 +121,32 @@ module Stripe
118
121
  }
119
122
  end
120
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
+
121
150
  class RawRequest
122
151
  include Stripe::APIOperations::Request
123
152
 
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: 12.6.0
4
+ version: 12.7.0.pre.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-09-12 00:00:00.000000000 Z
11
+ date: 2024-09-18 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,9 +51,11 @@ 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
54
55
  - lib/stripe/resources.rb
55
56
  - lib/stripe/resources/account.rb
56
57
  - lib/stripe/resources/account_link.rb
58
+ - lib/stripe/resources/account_notice.rb
57
59
  - lib/stripe/resources/account_session.rb
58
60
  - lib/stripe/resources/alipay_account.rb
59
61
  - lib/stripe/resources/apple_pay_domain.rb
@@ -71,6 +73,9 @@ files:
71
73
  - lib/stripe/resources/billing_portal/configuration.rb
72
74
  - lib/stripe/resources/billing_portal/session.rb
73
75
  - lib/stripe/resources/capability.rb
76
+ - lib/stripe/resources/capital/financing_offer.rb
77
+ - lib/stripe/resources/capital/financing_summary.rb
78
+ - lib/stripe/resources/capital/financing_transaction.rb
74
79
  - lib/stripe/resources/card.rb
75
80
  - lib/stripe/resources/cash_balance.rb
76
81
  - lib/stripe/resources/charge.rb
@@ -97,22 +102,29 @@ files:
97
102
  - lib/stripe/resources/file.rb
98
103
  - lib/stripe/resources/file_link.rb
99
104
  - lib/stripe/resources/financial_connections/account.rb
105
+ - lib/stripe/resources/financial_connections/account_inferred_balance.rb
100
106
  - lib/stripe/resources/financial_connections/account_owner.rb
101
107
  - lib/stripe/resources/financial_connections/account_ownership.rb
108
+ - lib/stripe/resources/financial_connections/institution.rb
102
109
  - lib/stripe/resources/financial_connections/session.rb
103
110
  - lib/stripe/resources/financial_connections/transaction.rb
104
111
  - lib/stripe/resources/forwarding/request.rb
105
112
  - lib/stripe/resources/funding_instructions.rb
113
+ - lib/stripe/resources/gift_cards/card.rb
114
+ - lib/stripe/resources/gift_cards/transaction.rb
106
115
  - lib/stripe/resources/identity/verification_report.rb
107
116
  - lib/stripe/resources/identity/verification_session.rb
108
117
  - lib/stripe/resources/invoice.rb
109
118
  - lib/stripe/resources/invoice_item.rb
110
119
  - lib/stripe/resources/invoice_line_item.rb
120
+ - lib/stripe/resources/invoice_payment.rb
111
121
  - lib/stripe/resources/invoice_rendering_template.rb
112
122
  - lib/stripe/resources/issuing/authorization.rb
113
123
  - lib/stripe/resources/issuing/card.rb
114
124
  - lib/stripe/resources/issuing/cardholder.rb
125
+ - lib/stripe/resources/issuing/credit_underwriting_record.rb
115
126
  - lib/stripe/resources/issuing/dispute.rb
127
+ - lib/stripe/resources/issuing/dispute_settlement_detail.rb
116
128
  - lib/stripe/resources/issuing/personalization_design.rb
117
129
  - lib/stripe/resources/issuing/physical_bundle.rb
118
130
  - lib/stripe/resources/issuing/token.rb
@@ -120,6 +132,8 @@ files:
120
132
  - lib/stripe/resources/line_item.rb
121
133
  - lib/stripe/resources/login_link.rb
122
134
  - lib/stripe/resources/mandate.rb
135
+ - lib/stripe/resources/margin.rb
136
+ - lib/stripe/resources/order.rb
123
137
  - lib/stripe/resources/payment_intent.rb
124
138
  - lib/stripe/resources/payment_link.rb
125
139
  - lib/stripe/resources/payment_method.rb
@@ -133,6 +147,8 @@ files:
133
147
  - lib/stripe/resources/product_feature.rb
134
148
  - lib/stripe/resources/promotion_code.rb
135
149
  - lib/stripe/resources/quote.rb
150
+ - lib/stripe/resources/quote_preview_invoice.rb
151
+ - lib/stripe/resources/quote_preview_subscription_schedule.rb
136
152
  - lib/stripe/resources/radar/early_fraud_warning.rb
137
153
  - lib/stripe/resources/radar/value_list.rb
138
154
  - lib/stripe/resources/radar/value_list_item.rb
@@ -151,8 +167,10 @@ files:
151
167
  - lib/stripe/resources/subscription.rb
152
168
  - lib/stripe/resources/subscription_item.rb
153
169
  - lib/stripe/resources/subscription_schedule.rb
170
+ - lib/stripe/resources/tax/association.rb
154
171
  - lib/stripe/resources/tax/calculation.rb
155
172
  - lib/stripe/resources/tax/calculation_line_item.rb
173
+ - lib/stripe/resources/tax/form.rb
156
174
  - lib/stripe/resources/tax/registration.rb
157
175
  - lib/stripe/resources/tax/settings.rb
158
176
  - lib/stripe/resources/tax/transaction.rb
@@ -164,6 +182,7 @@ files:
164
182
  - lib/stripe/resources/terminal/connection_token.rb
165
183
  - lib/stripe/resources/terminal/location.rb
166
184
  - lib/stripe/resources/terminal/reader.rb
185
+ - lib/stripe/resources/terminal/reader_collected_data.rb
167
186
  - lib/stripe/resources/test_helpers/test_clock.rb
168
187
  - lib/stripe/resources/token.rb
169
188
  - lib/stripe/resources/topup.rb
@@ -214,9 +233,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
233
  version: 2.3.0
215
234
  required_rubygems_version: !ruby/object:Gem::Requirement
216
235
  requirements:
217
- - - ">="
236
+ - - ">"
218
237
  - !ruby/object:Gem::Version
219
- version: '0'
238
+ version: 1.3.1
220
239
  requirements: []
221
240
  rubygems_version: 3.3.27
222
241
  signing_key: