stripe 10.15.0.pre.beta.1 → 11.0.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +72 -326
  3. data/Makefile +1 -1
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +5 -18
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_operations/request.rb +3 -4
  8. data/lib/stripe/api_operations/save.rb +1 -1
  9. data/lib/stripe/api_operations/singleton_save.rb +1 -1
  10. data/lib/stripe/api_resource.rb +3 -3
  11. data/lib/stripe/api_version.rb +1 -2
  12. data/lib/stripe/object_types.rb +0 -16
  13. data/lib/stripe/resources/financial_connections/account.rb +0 -3
  14. data/lib/stripe/resources/invoice.rb +0 -113
  15. data/lib/stripe/resources/payment_intent.rb +0 -50
  16. data/lib/stripe/resources/product.rb +1 -1
  17. data/lib/stripe/resources/quote.rb +0 -104
  18. data/lib/stripe/resources/subscription_schedule.rb +0 -20
  19. data/lib/stripe/resources/terminal/reader.rb +0 -60
  20. data/lib/stripe/resources.rb +0 -15
  21. data/lib/stripe/stripe_client.rb +36 -74
  22. data/lib/stripe/stripe_configuration.rb +1 -2
  23. data/lib/stripe/stripe_object.rb +8 -3
  24. data/lib/stripe/util.rb +4 -11
  25. data/lib/stripe/version.rb +1 -1
  26. data/lib/stripe.rb +0 -54
  27. data/stripe.gemspec +4 -5
  28. metadata +6 -22
  29. data/lib/stripe/request_signing_authenticator.rb +0 -79
  30. data/lib/stripe/resources/account_notice.rb +0 -32
  31. data/lib/stripe/resources/capital/financing_offer.rb +0 -49
  32. data/lib/stripe/resources/capital/financing_summary.rb +0 -15
  33. data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
  34. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
  35. data/lib/stripe/resources/gift_cards/card.rb +0 -59
  36. data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
  37. data/lib/stripe/resources/invoice_payment.rb +0 -12
  38. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
  39. data/lib/stripe/resources/margin.rb +0 -37
  40. data/lib/stripe/resources/order.rb +0 -120
  41. data/lib/stripe/resources/quote_phase.rb +0 -39
  42. data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
  43. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
  44. data/lib/stripe/resources/tax/form.rb +0 -49
  45. /data/{bin → exe}/stripe-console +0 -0
@@ -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"
@@ -110,7 +110,7 @@ module Stripe
110
110
  # both socket errors that may represent an intermittent problem and some
111
111
  # special HTTP statuses.
112
112
  def self.should_retry?(error,
113
- method:, num_retries:, config: Stripe.config)
113
+ num_retries:, config: Stripe.config)
114
114
  return false if num_retries >= config.max_network_retries
115
115
 
116
116
  case error
@@ -143,15 +143,12 @@ module Stripe
143
143
  # These 429s are safe to retry.
144
144
  return true if error.http_status == 429 && error.code == "lock_timeout"
145
145
 
146
- # 500 Internal Server Error
146
+ # Retry on 500, 503, and other internal errors.
147
147
  #
148
- # We only bother retrying these for non-POST requests. POSTs end up
149
- # being cached by the idempotency layer so there's no purpose in
150
- # retrying them.
151
- return true if error.http_status == 500 && method != :post
152
-
153
- # 503 Service Unavailable
154
- error.http_status == 503
148
+ # Note that we expect the stripe-should-retry header to be false
149
+ # in most cases when a 500 is returned, since our idempotency framework
150
+ # would typically replay it anyway.
151
+ true if error.http_status >= 500
155
152
  else
156
153
  false
157
154
  end
@@ -209,10 +206,9 @@ module Stripe
209
206
  end
210
207
 
211
208
  def execute_request(method, path,
212
- api_base: nil, api_key: nil,
213
- headers: {}, params: {}, api_mode: nil, usage: [])
209
+ api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
214
210
  http_resp, api_key = execute_request_internal(
215
- method, path, api_base, api_key, headers, params, api_mode, usage
211
+ method, path, api_base, api_key, headers, params, usage
216
212
  )
217
213
 
218
214
  begin
@@ -243,7 +239,6 @@ module Stripe
243
239
  def execute_request_stream(method, path,
244
240
  api_base: nil, api_key: nil, usage: [],
245
241
  headers: {}, params: {},
246
- api_mode: nil,
247
242
  &read_body_chunk_block)
248
243
  unless block_given?
249
244
  raise ArgumentError,
@@ -251,8 +246,7 @@ module Stripe
251
246
  end
252
247
 
253
248
  http_resp, api_key = execute_request_internal(
254
- method, path, api_base, api_key,
255
- headers, params, api_mode, usage, &read_body_chunk_block
249
+ method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
256
250
  )
257
251
 
258
252
  # When the read_body_chunk_block is given, we no longer have access to the
@@ -431,8 +425,8 @@ module Stripe
431
425
  end
432
426
 
433
427
  private def execute_request_internal(method, path,
434
- api_base, api_key, headers, params,
435
- api_mode, usage, &read_body_chunk_block)
428
+ api_base, api_key, headers, params, usage,
429
+ &read_body_chunk_block)
436
430
  raise ArgumentError, "method should be a symbol" \
437
431
  unless method.is_a?(Symbol)
438
432
  raise ArgumentError, "path should be a string" \
@@ -440,10 +434,9 @@ module Stripe
440
434
 
441
435
  api_base ||= config.api_base
442
436
  api_key ||= config.api_key
443
- authenticator ||= config.authenticator
444
437
  params = Util.objects_to_ids(params)
445
438
 
446
- check_keys!(api_key, authenticator)
439
+ check_api_key!(api_key)
447
440
 
448
441
  body_params = nil
449
442
  query_params = nil
@@ -456,9 +449,8 @@ module Stripe
456
449
 
457
450
  query_params, path = merge_query_params(query_params, path)
458
451
 
459
- headers = request_headers(api_key, method, api_mode)
452
+ headers = request_headers(api_key, method)
460
453
  .update(Util.normalize_headers(headers))
461
-
462
454
  url = api_url(path, api_base)
463
455
 
464
456
  # Merge given query parameters with any already encoded in the path.
@@ -469,16 +461,13 @@ module Stripe
469
461
  # a log-friendly variant of the encoded form. File objects are displayed
470
462
  # as such instead of as their file contents.
471
463
  body, body_log =
472
- body_params ? encode_body(body_params, headers, api_mode) : [nil, nil]
473
-
474
- authenticator.authenticate(method, headers, body) unless api_key
464
+ body_params ? encode_body(body_params, headers) : [nil, nil]
475
465
 
476
466
  # stores information on the request we're about to make so that we don't
477
467
  # have to pass as many parameters around for logging.
478
468
  context = RequestLogContext.new
479
469
  context.account = headers["Stripe-Account"]
480
470
  context.api_key = api_key
481
- context.authenticator = authenticator
482
471
  context.api_version = headers["Stripe-Version"]
483
472
  context.body = body_log
484
473
  context.idempotency_key = headers["Idempotency-Key"]
@@ -498,7 +487,7 @@ module Stripe
498
487
  end
499
488
 
500
489
  http_resp =
501
- execute_request_with_rescues(method, api_base, headers, usage, context) do
490
+ execute_request_with_rescues(api_base, headers, usage, context) do
502
491
  self.class
503
492
  .default_connection_manager(config)
504
493
  .execute_request(method, url,
@@ -515,16 +504,8 @@ module Stripe
515
504
  (api_base || config.api_base) + url
516
505
  end
517
506
 
518
- private def check_keys!(api_key, authenticator)
519
- if api_key && authenticator
520
- raise AuthenticationError, "Can't specify both API key " \
521
- "and authenticator. Either set your API key" \
522
- 'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
523
- 'using "Stripe.authenticator = <AUTHENTICATOR>"' \
524
- end
525
-
526
- unless api_key || authenticator
527
- # Default to missing API key error message for general users.
507
+ private def check_api_key!(api_key)
508
+ unless api_key
528
509
  raise AuthenticationError, "No API key provided. " \
529
510
  'Set your API key using "Stripe.api_key = <API-KEY>". ' \
530
511
  "You can generate API keys from the Stripe web interface. " \
@@ -543,7 +524,7 @@ module Stripe
543
524
  # Encodes a set of body parameters using multipart if `Content-Type` is set
544
525
  # for that, or standard form-encoding otherwise. Returns the encoded body
545
526
  # and a version of the encoded body that's safe to be logged.
546
- private def encode_body(body_params, headers, api_mode)
527
+ private def encode_body(body_params, headers)
547
528
  body = nil
548
529
  flattened_params = Util.flatten_params(body_params)
549
530
 
@@ -559,22 +540,15 @@ module Stripe
559
540
  flattened_params =
560
541
  flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
561
542
 
562
- elsif api_mode == :preview
563
- body = JSON.generate(body_params)
564
- headers["Content-Type"] = "application/json"
565
543
  else
566
544
  body = Util.encode_parameters(body_params)
567
545
  end
568
546
 
569
- body_log = if api_mode == :preview
570
- body
571
- else
572
- # We don't use `Util.encode_parameters` partly as an optimization (to
573
- # not redo work we've already done), and partly because the encoded
574
- # forms of certain characters introduce a lot of visual noise and it's
575
- # nice to have a clearer format for logs.
576
- flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
577
- end
547
+ # We don't use `Util.encode_parameters` partly as an optimization (to not
548
+ # redo work we've already done), and partly because the encoded forms of
549
+ # certain characters introduce a lot of visual noise and it's nice to
550
+ # have a clearer format for logs.
551
+ body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
578
552
 
579
553
  [body, body_log]
580
554
  end
@@ -583,7 +557,7 @@ module Stripe
583
557
  http_status >= 400
584
558
  end
585
559
 
586
- private def execute_request_with_rescues(method, api_base, headers, usage, context)
560
+ private def execute_request_with_rescues(api_base, headers, usage, context)
587
561
  num_retries = 0
588
562
 
589
563
  begin
@@ -634,7 +608,6 @@ module Stripe
634
608
  user_data, resp, headers)
635
609
 
636
610
  if self.class.should_retry?(e,
637
- method: method,
638
611
  num_retries: num_retries,
639
612
  config: config)
640
613
  num_retries += 1
@@ -761,11 +734,10 @@ module Stripe
761
734
  end
762
735
 
763
736
  private def specific_api_error(resp, error_data, context)
764
- message = error_data[:message]
765
737
  Util.log_error("Stripe API error",
766
738
  status: resp.http_status,
767
739
  error_code: error_data[:code],
768
- error_message: message,
740
+ error_message: error_data[:message],
769
741
  error_param: error_data[:param],
770
742
  error_type: error_data[:type],
771
743
  idempotency_key: context.idempotency_key,
@@ -786,26 +758,26 @@ module Stripe
786
758
  when 400, 404
787
759
  case error_data[:type]
788
760
  when "idempotency_error"
789
- IdempotencyError.new(message, **opts)
761
+ IdempotencyError.new(error_data[:message], **opts)
790
762
  else
791
763
  InvalidRequestError.new(
792
- message, error_data[:param],
764
+ error_data[:message], error_data[:param],
793
765
  **opts
794
766
  )
795
767
  end
796
768
  when 401
797
- AuthenticationError.new(message, **opts)
769
+ AuthenticationError.new(error_data[:message], **opts)
798
770
  when 402
799
771
  CardError.new(
800
- message, error_data[:param],
772
+ error_data[:message], error_data[:param],
801
773
  **opts
802
774
  )
803
775
  when 403
804
- PermissionError.new(message, **opts)
776
+ PermissionError.new(error_data[:message], **opts)
805
777
  when 429
806
- RateLimitError.new(message, **opts)
778
+ RateLimitError.new(error_data[:message], **opts)
807
779
  else
808
- APIError.new(message, **opts)
780
+ APIError.new(error_data[:message], **opts)
809
781
  end
810
782
  end
811
783
 
@@ -873,20 +845,16 @@ module Stripe
873
845
  message + "\n\n(Network error: #{error.message})"
874
846
  end
875
847
 
876
- private def request_headers(api_key, method, api_mode)
848
+ private def request_headers(api_key, method)
877
849
  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
878
850
  user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
879
851
 
880
852
  headers = {
881
853
  "User-Agent" => user_agent,
882
854
  "Authorization" => "Bearer #{api_key}",
855
+ "Content-Type" => "application/x-www-form-urlencoded",
883
856
  }
884
857
 
885
- if api_mode != :preview
886
- # TODO: (major) don't set Content-Type if method is not post
887
- headers["Content-Type"] = "application/x-www-form-urlencoded"
888
- end
889
-
890
858
  if config.enable_telemetry? && !@last_request_metrics.nil?
891
859
  headers["X-Stripe-Client-Telemetry"] = JSON.generate(
892
860
  last_request_metrics: @last_request_metrics.payload
@@ -899,12 +867,7 @@ module Stripe
899
867
  headers["Idempotency-Key"] ||= SecureRandom.uuid
900
868
  end
901
869
 
902
- if api_mode == :preview
903
- headers["Stripe-Version"] = ApiVersion::PREVIEW
904
- elsif config.api_version
905
- headers["Stripe-Version"] = config.api_version
906
- end
907
-
870
+ headers["Stripe-Version"] = config.api_version if config.api_version
908
871
  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
909
872
 
910
873
  user_agent = @system_profiler.user_agent
@@ -987,8 +950,7 @@ module Stripe
987
950
  # that we can log certain information. It's useful because it means that we
988
951
  # don't have to pass around as many parameters.
989
952
  class RequestLogContext
990
- attr_accessor :body, :account, :api_key, :authenticator, :api_version, :idempotency_key, :method, :path, :query,
991
- :request_id
953
+ attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
992
954
 
993
955
  # The idea with this method is that we might want to update some of
994
956
  # 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
@@ -4,6 +4,8 @@ module Stripe
4
4
  class StripeObject
5
5
  include Enumerable
6
6
 
7
+ attr_reader :last_response
8
+
7
9
  @@permanent_attributes = Set.new([:id]) # rubocop:disable Style/ClassVars
8
10
 
9
11
  # The default :id method is deprecated and isn't useful to us
@@ -80,13 +82,14 @@ module Stripe
80
82
  @unsaved_values = Set.new
81
83
  @transient_values = Set.new
82
84
  @values[:id] = id if id
85
+ @last_response = nil
83
86
  end
84
87
 
85
- def self.construct_from(values, opts = {})
88
+ def self.construct_from(values, opts = {}, last_response = nil)
86
89
  values = Stripe::Util.symbolize_names(values)
87
90
 
88
91
  # work around protected #initialize_from for now
89
- new(values[:id]).send(:initialize_from, values, opts)
92
+ new(values[:id]).send(:initialize_from, values, opts, last_response)
90
93
  end
91
94
 
92
95
  # Determines the equality of two Stripe objects. Stripe objects are
@@ -424,7 +427,9 @@ module Stripe
424
427
  # * +:opts:+ Options for StripeObject like an API key.
425
428
  # * +:partial:+ Indicates that the re-initialization should not attempt to
426
429
  # remove accessors.
427
- protected def initialize_from(values, opts)
430
+ protected def initialize_from(values, opts, last_response = nil)
431
+ @last_response = last_response
432
+
428
433
  @opts = Util.normalize_opts(opts)
429
434
 
430
435
  # the `#send` is here so that we can keep this method private
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
@@ -91,7 +90,7 @@ module Stripe
91
90
  opts
92
91
  )
93
92
 
94
- Util.convert_to_stripe_object_with_params(resp.data, params, opts)
93
+ Util.convert_to_stripe_object_with_params(resp.data, params, opts, resp)
95
94
  end
96
95
  end
97
96
 
@@ -125,7 +124,7 @@ module Stripe
125
124
  # * +data+ - Hash of fields and values to be converted into a StripeObject.
126
125
  # * +opts+ - Options for +StripeObject+ like an API key that will be reused
127
126
  # on subsequent API calls.
128
- def self.convert_to_stripe_object_with_params(data, params, opts = {})
127
+ def self.convert_to_stripe_object_with_params(data, params, opts = {}, last_response = nil)
129
128
  opts = normalize_opts(opts)
130
129
 
131
130
  case data
@@ -136,7 +135,7 @@ module Stripe
136
135
  # to generic StripeObject
137
136
  object_name = data[:object] || data["object"]
138
137
  obj = object_classes.fetch(object_name, StripeObject)
139
- .construct_from(data, opts)
138
+ .construct_from(data, opts, last_response)
140
139
 
141
140
  # set filters so that we can fetch the same limit, expansions, and
142
141
  # predicates when accessing the next and previous pages
@@ -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 = "10.15.0-beta.1"
4
+ VERSION = "11.0.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?
data/stripe.gemspec CHANGED
@@ -33,13 +33,12 @@ Gem::Specification.new do |s|
33
33
  /\A\.rubocop/,
34
34
  /\A\.travis.yml/,
35
35
  /\A\.vscode/,
36
- %r{\A(bin/tapioca)},
36
+ /\Abin/,
37
37
  /\Asorbet/,
38
38
  /\Atest/
39
39
  )
40
- s.files = `git ls-files`.split("\n").reject { |f| ignored.match(f) }
41
- s.executables = `git ls-files -- bin/*`.split("\n")
42
- .map { |f| File.basename(f) }
43
- .reject { |f| f == "tapioca" }
40
+ s.files = `git ls-files`.split("\n").grep_v(ignored)
41
+ s.bindir = "exe"
42
+ s.executables = `git ls-files -- exe/*`.split("\n").map { |f| File.basename(f) }
44
43
  s.require_paths = ["lib"]
45
44
  end
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: 10.15.0.pre.beta.1
4
+ version: 11.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-04 00:00:00.000000000 Z
11
+ date: 2024-04-10 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.
@@ -29,7 +29,7 @@ files:
29
29
  - README.md
30
30
  - Rakefile
31
31
  - VERSION
32
- - bin/stripe-console
32
+ - exe/stripe-console
33
33
  - lib/data/ca-certificates.crt
34
34
  - lib/stripe.rb
35
35
  - lib/stripe/api_operations/create.rb
@@ -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.26
236
220
  signing_key: