stripe 12.6.0 → 12.7.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1347 -649
  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 +20 -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/issuing/credit_underwriting_record.rb +88 -0
  21. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +26 -0
  22. data/lib/stripe/resources/margin.rb +37 -0
  23. data/lib/stripe/resources/order.rb +120 -0
  24. data/lib/stripe/resources/payment_intent.rb +50 -0
  25. data/lib/stripe/resources/quote.rb +104 -0
  26. data/lib/stripe/resources/quote_phase.rb +32 -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 +19 -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 +24 -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,9 @@ 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_phase"
98
+ require "stripe/resources/quote_preview_invoice"
99
+ require "stripe/resources/quote_preview_subscription_schedule"
84
100
  require "stripe/resources/radar/early_fraud_warning"
85
101
  require "stripe/resources/radar/value_list"
86
102
  require "stripe/resources/radar/value_list_item"
@@ -98,8 +114,10 @@ require "stripe/resources/source_transaction"
98
114
  require "stripe/resources/subscription"
99
115
  require "stripe/resources/subscription_item"
100
116
  require "stripe/resources/subscription_schedule"
117
+ require "stripe/resources/tax/association"
101
118
  require "stripe/resources/tax/calculation"
102
119
  require "stripe/resources/tax/calculation_line_item"
120
+ require "stripe/resources/tax/form"
103
121
  require "stripe/resources/tax/registration"
104
122
  require "stripe/resources/tax/settings"
105
123
  require "stripe/resources/tax/transaction"
@@ -111,6 +129,7 @@ require "stripe/resources/terminal/configuration"
111
129
  require "stripe/resources/terminal/connection_token"
112
130
  require "stripe/resources/terminal/location"
113
131
  require "stripe/resources/terminal/reader"
132
+ require "stripe/resources/terminal/reader_collected_data"
114
133
  require "stripe/resources/test_helpers/test_clock"
115
134
  require "stripe/resources/token"
116
135
  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.1"
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.1
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-13 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,9 @@ 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_phase.rb
151
+ - lib/stripe/resources/quote_preview_invoice.rb
152
+ - lib/stripe/resources/quote_preview_subscription_schedule.rb
136
153
  - lib/stripe/resources/radar/early_fraud_warning.rb
137
154
  - lib/stripe/resources/radar/value_list.rb
138
155
  - lib/stripe/resources/radar/value_list_item.rb
@@ -151,8 +168,10 @@ files:
151
168
  - lib/stripe/resources/subscription.rb
152
169
  - lib/stripe/resources/subscription_item.rb
153
170
  - lib/stripe/resources/subscription_schedule.rb
171
+ - lib/stripe/resources/tax/association.rb
154
172
  - lib/stripe/resources/tax/calculation.rb
155
173
  - lib/stripe/resources/tax/calculation_line_item.rb
174
+ - lib/stripe/resources/tax/form.rb
156
175
  - lib/stripe/resources/tax/registration.rb
157
176
  - lib/stripe/resources/tax/settings.rb
158
177
  - lib/stripe/resources/tax/transaction.rb
@@ -164,6 +183,7 @@ files:
164
183
  - lib/stripe/resources/terminal/connection_token.rb
165
184
  - lib/stripe/resources/terminal/location.rb
166
185
  - lib/stripe/resources/terminal/reader.rb
186
+ - lib/stripe/resources/terminal/reader_collected_data.rb
167
187
  - lib/stripe/resources/test_helpers/test_clock.rb
168
188
  - lib/stripe/resources/token.rb
169
189
  - lib/stripe/resources/topup.rb
@@ -214,9 +234,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
234
  version: 2.3.0
215
235
  required_rubygems_version: !ruby/object:Gem::Requirement
216
236
  requirements:
217
- - - ">="
237
+ - - ">"
218
238
  - !ruby/object:Gem::Version
219
- version: '0'
239
+ version: 1.3.1
220
240
  requirements: []
221
241
  rubygems_version: 3.3.27
222
242
  signing_key: