stripe 10.1.0.pre.beta.2 → 10.1.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -235
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +0 -11
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/request.rb +0 -2
  7. data/lib/stripe/api_version.rb +0 -1
  8. data/lib/stripe/object_types.rb +0 -20
  9. data/lib/stripe/resources/exchange_rate.rb +25 -10
  10. data/lib/stripe/resources/financial_connections/account.rb +0 -39
  11. data/lib/stripe/resources/quote.rb +0 -94
  12. data/lib/stripe/resources/subscription_schedule.rb +0 -18
  13. data/lib/stripe/resources/terminal/reader.rb +0 -54
  14. data/lib/stripe/resources.rb +0 -19
  15. data/lib/stripe/stripe_client.rb +26 -60
  16. data/lib/stripe/stripe_configuration.rb +0 -2
  17. data/lib/stripe/util.rb +1 -8
  18. data/lib/stripe/version.rb +1 -1
  19. data/lib/stripe.rb +0 -46
  20. metadata +4 -24
  21. data/lib/stripe/request_signing_authenticator.rb +0 -83
  22. data/lib/stripe/resources/account_notice.rb +0 -14
  23. data/lib/stripe/resources/capital/financing_offer.rb +0 -32
  24. data/lib/stripe/resources/capital/financing_summary.rb +0 -12
  25. data/lib/stripe/resources/capital/financing_transaction.rb +0 -13
  26. data/lib/stripe/resources/confirmation_token.rb +0 -11
  27. data/lib/stripe/resources/customer_session.rb +0 -12
  28. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -13
  29. data/lib/stripe/resources/financial_connections/transaction.rb +0 -13
  30. data/lib/stripe/resources/gift_cards/card.rb +0 -25
  31. data/lib/stripe/resources/gift_cards/transaction.rb +0 -56
  32. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -69
  33. data/lib/stripe/resources/issuing/personalization_design.rb +0 -77
  34. data/lib/stripe/resources/issuing/physical_bundle.rb +0 -13
  35. data/lib/stripe/resources/margin.rb +0 -14
  36. data/lib/stripe/resources/order.rb +0 -89
  37. data/lib/stripe/resources/quote_phase.rb +0 -29
  38. data/lib/stripe/resources/quote_preview_invoice.rb +0 -42
  39. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -10
  40. data/lib/stripe/resources/tax/form.rb +0 -39
@@ -6,12 +6,9 @@ module Stripe
6
6
  # A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
7
7
  class Account < APIResource
8
8
  extend Stripe::APIOperations::List
9
- extend Stripe::APIOperations::NestedResource
10
9
 
11
10
  OBJECT_NAME = "financial_connections.account"
12
11
 
13
- nested_resource_class_methods :inferred_balance, operations: %i[list]
14
-
15
12
  def disconnect(params = {}, opts = {})
16
13
  request_stripe_object(
17
14
  method: :post,
@@ -39,24 +36,6 @@ module Stripe
39
36
  )
40
37
  end
41
38
 
42
- def subscribe(params = {}, opts = {})
43
- request_stripe_object(
44
- method: :post,
45
- path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(self["id"]) }),
46
- params: params,
47
- opts: opts
48
- )
49
- end
50
-
51
- def unsubscribe(params = {}, opts = {})
52
- request_stripe_object(
53
- method: :post,
54
- path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(self["id"]) }),
55
- params: params,
56
- opts: opts
57
- )
58
- end
59
-
60
39
  def self.disconnect(account, params = {}, opts = {})
61
40
  request_stripe_object(
62
41
  method: :post,
@@ -83,24 +62,6 @@ module Stripe
83
62
  opts: opts
84
63
  )
85
64
  end
86
-
87
- def self.subscribe(account, params = {}, opts = {})
88
- request_stripe_object(
89
- method: :post,
90
- path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(account) }),
91
- params: params,
92
- opts: opts
93
- )
94
- end
95
-
96
- def self.unsubscribe(account, params = {}, opts = {})
97
- request_stripe_object(
98
- method: :post,
99
- path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(account) }),
100
- params: params,
101
- opts: opts
102
- )
103
- end
104
65
  end
105
66
  end
106
67
  end
@@ -8,13 +8,9 @@ module Stripe
8
8
  extend Stripe::APIOperations::Create
9
9
  extend Stripe::APIOperations::List
10
10
  include Stripe::APIOperations::Save
11
- extend Stripe::APIOperations::NestedResource
12
11
 
13
12
  OBJECT_NAME = "quote"
14
13
 
15
- nested_resource_class_methods :preview_invoice, operations: %i[list]
16
- nested_resource_class_methods :preview_subscription_schedule, operations: %i[list]
17
-
18
14
  def accept(params = {}, opts = {})
19
15
  request_stripe_object(
20
16
  method: :post,
@@ -60,42 +56,6 @@ module Stripe
60
56
  )
61
57
  end
62
58
 
63
- def list_lines(params = {}, opts = {})
64
- request_stripe_object(
65
- method: :get,
66
- path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
67
- params: params,
68
- opts: opts
69
- )
70
- end
71
-
72
- def list_preview_invoice_lines(preview_invoice, params = {}, opts = {})
73
- request_stripe_object(
74
- method: :get,
75
- path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
76
- params: params,
77
- opts: opts
78
- )
79
- end
80
-
81
- def mark_draft(params = {}, opts = {})
82
- request_stripe_object(
83
- method: :post,
84
- path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
85
- params: params,
86
- opts: opts
87
- )
88
- end
89
-
90
- def mark_stale(params = {}, opts = {})
91
- request_stripe_object(
92
- method: :post,
93
- path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
94
- params: params,
95
- opts: opts
96
- )
97
- end
98
-
99
59
  def pdf(params = {}, opts = {}, &read_body_chunk_block)
100
60
  config = opts[:client]&.config || Stripe.config
101
61
  opts = { api_base: config.uploads_base }.merge(opts)
@@ -108,15 +68,6 @@ module Stripe
108
68
  )
109
69
  end
110
70
 
111
- def reestimate(params = {}, opts = {})
112
- request_stripe_object(
113
- method: :post,
114
- path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
115
- params: params,
116
- opts: opts
117
- )
118
- end
119
-
120
71
  def self.accept(quote, params = {}, opts = {})
121
72
  request_stripe_object(
122
73
  method: :post,
@@ -162,42 +113,6 @@ module Stripe
162
113
  )
163
114
  end
164
115
 
165
- def self.list_lines(quote, params = {}, opts = {})
166
- request_stripe_object(
167
- method: :get,
168
- path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
169
- params: params,
170
- opts: opts
171
- )
172
- end
173
-
174
- def self.list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
175
- request_stripe_object(
176
- method: :get,
177
- path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
178
- params: params,
179
- opts: opts
180
- )
181
- end
182
-
183
- def self.mark_draft(quote, params = {}, opts = {})
184
- request_stripe_object(
185
- method: :post,
186
- path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
187
- params: params,
188
- opts: opts
189
- )
190
- end
191
-
192
- def self.mark_stale(quote, params = {}, opts = {})
193
- request_stripe_object(
194
- method: :post,
195
- path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
196
- params: params,
197
- opts: opts
198
- )
199
- end
200
-
201
116
  def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
202
117
  config = opts[:client]&.config || Stripe.config
203
118
  opts = { api_base: config.uploads_base }.merge(opts)
@@ -209,14 +124,5 @@ module Stripe
209
124
  &read_body_chunk_block
210
125
  )
211
126
  end
212
-
213
- def self.reestimate(quote, params = {}, opts = {})
214
- request_stripe_object(
215
- method: :post,
216
- path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
217
- params: params,
218
- opts: opts
219
- )
220
- end
221
127
  end
222
128
  end
@@ -12,15 +12,6 @@ module Stripe
12
12
 
13
13
  OBJECT_NAME = "subscription_schedule"
14
14
 
15
- def amend(params = {}, opts = {})
16
- request_stripe_object(
17
- method: :post,
18
- path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }),
19
- params: params,
20
- opts: opts
21
- )
22
- end
23
-
24
15
  def cancel(params = {}, opts = {})
25
16
  request_stripe_object(
26
17
  method: :post,
@@ -39,15 +30,6 @@ module Stripe
39
30
  )
40
31
  end
41
32
 
42
- def self.amend(schedule, params = {}, opts = {})
43
- request_stripe_object(
44
- method: :post,
45
- path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }),
46
- params: params,
47
- opts: opts
48
- )
49
- end
50
-
51
33
  def self.cancel(schedule, params = {}, opts = {})
52
34
  request_stripe_object(
53
35
  method: :post,
@@ -23,33 +23,6 @@ module Stripe
23
23
  )
24
24
  end
25
25
 
26
- def collect_inputs(params = {}, opts = {})
27
- request_stripe_object(
28
- method: :post,
29
- path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
30
- params: params,
31
- opts: opts
32
- )
33
- end
34
-
35
- def collect_payment_method(params = {}, opts = {})
36
- request_stripe_object(
37
- method: :post,
38
- path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(self["id"]) }),
39
- params: params,
40
- opts: opts
41
- )
42
- end
43
-
44
- def confirm_payment_intent(params = {}, opts = {})
45
- request_stripe_object(
46
- method: :post,
47
- path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(self["id"]) }),
48
- params: params,
49
- opts: opts
50
- )
51
- end
52
-
53
26
  def process_payment_intent(params = {}, opts = {})
54
27
  request_stripe_object(
55
28
  method: :post,
@@ -95,33 +68,6 @@ module Stripe
95
68
  )
96
69
  end
97
70
 
98
- def self.collect_inputs(reader, params = {}, opts = {})
99
- request_stripe_object(
100
- method: :post,
101
- path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
102
- params: params,
103
- opts: opts
104
- )
105
- end
106
-
107
- def self.collect_payment_method(reader, params = {}, opts = {})
108
- request_stripe_object(
109
- method: :post,
110
- path: format("/v1/terminal/readers/%<reader>s/collect_payment_method", { reader: CGI.escape(reader) }),
111
- params: params,
112
- opts: opts
113
- )
114
- end
115
-
116
- def self.confirm_payment_intent(reader, params = {}, opts = {})
117
- request_stripe_object(
118
- method: :post,
119
- path: format("/v1/terminal/readers/%<reader>s/confirm_payment_intent", { reader: CGI.escape(reader) }),
120
- params: params,
121
- opts: opts
122
- )
123
- end
124
-
125
71
  def self.process_payment_intent(reader, params = {}, opts = {})
126
72
  request_stripe_object(
127
73
  method: :post,
@@ -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"
@@ -15,14 +14,10 @@ require "stripe/resources/bank_account"
15
14
  require "stripe/resources/billing_portal/configuration"
16
15
  require "stripe/resources/billing_portal/session"
17
16
  require "stripe/resources/capability"
18
- require "stripe/resources/capital/financing_offer"
19
- require "stripe/resources/capital/financing_summary"
20
- require "stripe/resources/capital/financing_transaction"
21
17
  require "stripe/resources/card"
22
18
  require "stripe/resources/cash_balance"
23
19
  require "stripe/resources/charge"
24
20
  require "stripe/resources/checkout/session"
25
- require "stripe/resources/confirmation_token"
26
21
  require "stripe/resources/country_spec"
27
22
  require "stripe/resources/coupon"
28
23
  require "stripe/resources/credit_note"
@@ -30,7 +25,6 @@ require "stripe/resources/credit_note_line_item"
30
25
  require "stripe/resources/customer"
31
26
  require "stripe/resources/customer_balance_transaction"
32
27
  require "stripe/resources/customer_cash_balance_transaction"
33
- require "stripe/resources/customer_session"
34
28
  require "stripe/resources/discount"
35
29
  require "stripe/resources/dispute"
36
30
  require "stripe/resources/ephemeral_key"
@@ -39,14 +33,10 @@ require "stripe/resources/exchange_rate"
39
33
  require "stripe/resources/file"
40
34
  require "stripe/resources/file_link"
41
35
  require "stripe/resources/financial_connections/account"
42
- require "stripe/resources/financial_connections/account_inferred_balance"
43
36
  require "stripe/resources/financial_connections/account_owner"
44
37
  require "stripe/resources/financial_connections/account_ownership"
45
38
  require "stripe/resources/financial_connections/session"
46
- require "stripe/resources/financial_connections/transaction"
47
39
  require "stripe/resources/funding_instructions"
48
- require "stripe/resources/gift_cards/card"
49
- require "stripe/resources/gift_cards/transaction"
50
40
  require "stripe/resources/identity/verification_report"
51
41
  require "stripe/resources/identity/verification_session"
52
42
  require "stripe/resources/invoice"
@@ -55,17 +45,12 @@ require "stripe/resources/invoice_line_item"
55
45
  require "stripe/resources/issuing/authorization"
56
46
  require "stripe/resources/issuing/card"
57
47
  require "stripe/resources/issuing/cardholder"
58
- require "stripe/resources/issuing/credit_underwriting_record"
59
48
  require "stripe/resources/issuing/dispute"
60
- require "stripe/resources/issuing/personalization_design"
61
- require "stripe/resources/issuing/physical_bundle"
62
49
  require "stripe/resources/issuing/token"
63
50
  require "stripe/resources/issuing/transaction"
64
51
  require "stripe/resources/line_item"
65
52
  require "stripe/resources/login_link"
66
53
  require "stripe/resources/mandate"
67
- require "stripe/resources/margin"
68
- require "stripe/resources/order"
69
54
  require "stripe/resources/payment_intent"
70
55
  require "stripe/resources/payment_link"
71
56
  require "stripe/resources/payment_method"
@@ -78,9 +63,6 @@ require "stripe/resources/price"
78
63
  require "stripe/resources/product"
79
64
  require "stripe/resources/promotion_code"
80
65
  require "stripe/resources/quote"
81
- require "stripe/resources/quote_phase"
82
- require "stripe/resources/quote_preview_invoice"
83
- require "stripe/resources/quote_preview_subscription_schedule"
84
66
  require "stripe/resources/radar/early_fraud_warning"
85
67
  require "stripe/resources/radar/value_list"
86
68
  require "stripe/resources/radar/value_list_item"
@@ -100,7 +82,6 @@ require "stripe/resources/subscription_item"
100
82
  require "stripe/resources/subscription_schedule"
101
83
  require "stripe/resources/tax/calculation"
102
84
  require "stripe/resources/tax/calculation_line_item"
103
- require "stripe/resources/tax/form"
104
85
  require "stripe/resources/tax/registration"
105
86
  require "stripe/resources/tax/settings"
106
87
  require "stripe/resources/tax/transaction"
@@ -212,10 +212,9 @@ module Stripe
212
212
  end
213
213
 
214
214
  def execute_request(method, path,
215
- api_base: nil, api_key: nil,
216
- headers: {}, params: {}, api_mode: nil)
215
+ api_base: nil, api_key: nil, headers: {}, params: {})
217
216
  http_resp, api_key = execute_request_internal(
218
- method, path, api_base, api_key, headers, params, api_mode
217
+ method, path, api_base, api_key, headers, params
219
218
  )
220
219
 
221
220
  begin
@@ -246,7 +245,6 @@ module Stripe
246
245
  def execute_request_stream(method, path,
247
246
  api_base: nil, api_key: nil,
248
247
  headers: {}, params: {},
249
- api_mode: nil,
250
248
  &read_body_chunk_block)
251
249
  unless block_given?
252
250
  raise ArgumentError,
@@ -254,8 +252,7 @@ module Stripe
254
252
  end
255
253
 
256
254
  http_resp, api_key = execute_request_internal(
257
- method, path, api_base, api_key,
258
- headers, params, api_mode, &read_body_chunk_block
255
+ method, path, api_base, api_key, headers, params, &read_body_chunk_block
259
256
  )
260
257
 
261
258
  # When the read_body_chunk_block is given, we no longer have access to the
@@ -435,7 +432,7 @@ module Stripe
435
432
 
436
433
  private def execute_request_internal(method, path,
437
434
  api_base, api_key, headers, params,
438
- api_mode, &read_body_chunk_block)
435
+ &read_body_chunk_block)
439
436
  raise ArgumentError, "method should be a symbol" \
440
437
  unless method.is_a?(Symbol)
441
438
  raise ArgumentError, "path should be a string" \
@@ -443,10 +440,9 @@ module Stripe
443
440
 
444
441
  api_base ||= config.api_base
445
442
  api_key ||= config.api_key
446
- authenticator ||= config.authenticator
447
443
  params = Util.objects_to_ids(params)
448
444
 
449
- check_keys!(api_key, authenticator)
445
+ check_api_key!(api_key)
450
446
 
451
447
  body_params = nil
452
448
  query_params = nil
@@ -459,9 +455,8 @@ module Stripe
459
455
 
460
456
  query_params, path = merge_query_params(query_params, path)
461
457
 
462
- headers = request_headers(api_key, method, api_mode)
458
+ headers = request_headers(api_key, method)
463
459
  .update(Util.normalize_headers(headers))
464
-
465
460
  url = api_url(path, api_base)
466
461
 
467
462
  # Merge given query parameters with any already encoded in the path.
@@ -472,16 +467,13 @@ module Stripe
472
467
  # a log-friendly variant of the encoded form. File objects are displayed
473
468
  # as such instead of as their file contents.
474
469
  body, body_log =
475
- body_params ? encode_body(body_params, headers, api_mode) : [nil, nil]
476
-
477
- authenticator.authenticate(method, headers, body) unless api_key
470
+ body_params ? encode_body(body_params, headers) : [nil, nil]
478
471
 
479
472
  # stores information on the request we're about to make so that we don't
480
473
  # have to pass as many parameters around for logging.
481
474
  context = RequestLogContext.new
482
475
  context.account = headers["Stripe-Account"]
483
476
  context.api_key = api_key
484
- context.authenticator = authenticator
485
477
  context.api_version = headers["Stripe-Version"]
486
478
  context.body = body_log
487
479
  context.idempotency_key = headers["Idempotency-Key"]
@@ -520,16 +512,8 @@ module Stripe
520
512
  (api_base || config.api_base) + url
521
513
  end
522
514
 
523
- private def check_keys!(api_key, authenticator)
524
- if api_key && authenticator
525
- raise AuthenticationError, "Can't specify both API key " \
526
- "and authenticator. Either set your API key" \
527
- 'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
528
- 'using "Stripe.authenticator = <AUTHENTICATOR>"' \
529
- end
530
-
531
- unless api_key || authenticator
532
- # Default to missing API key error message for general users.
515
+ private def check_api_key!(api_key)
516
+ unless api_key
533
517
  raise AuthenticationError, "No API key provided. " \
534
518
  'Set your API key using "Stripe.api_key = <API-KEY>". ' \
535
519
  "You can generate API keys from the Stripe web interface. " \
@@ -548,7 +532,7 @@ module Stripe
548
532
  # Encodes a set of body parameters using multipart if `Content-Type` is set
549
533
  # for that, or standard form-encoding otherwise. Returns the encoded body
550
534
  # and a version of the encoded body that's safe to be logged.
551
- private def encode_body(body_params, headers, api_mode)
535
+ private def encode_body(body_params, headers)
552
536
  body = nil
553
537
  flattened_params = Util.flatten_params(body_params)
554
538
 
@@ -564,22 +548,15 @@ module Stripe
564
548
  flattened_params =
565
549
  flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
566
550
 
567
- elsif api_mode == :preview
568
- body = JSON.generate(body_params)
569
- headers["Content-Type"] = "application/json"
570
551
  else
571
552
  body = Util.encode_parameters(body_params)
572
553
  end
573
554
 
574
- if api_mode == :preview
575
- body_log = body
576
- else
577
- # We don't use `Util.encode_parameters` partly as an optimization (to
578
- # not redo work we've already done), and partly because the encoded
579
- # forms of certain characters introduce a lot of visual noise and it's
580
- # nice to have a clearer format for logs.
581
- body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
582
- end
555
+ # We don't use `Util.encode_parameters` partly as an optimization (to not
556
+ # redo work we've already done), and partly because the encoded forms of
557
+ # certain characters introduce a lot of visual noise and it's nice to
558
+ # have a clearer format for logs.
559
+ body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
583
560
 
584
561
  [body, body_log]
585
562
  end
@@ -768,11 +745,10 @@ module Stripe
768
745
  end
769
746
 
770
747
  private def specific_api_error(resp, error_data, context)
771
- message = error_data[:message]
772
748
  Util.log_error("Stripe API error",
773
749
  status: resp.http_status,
774
750
  error_code: error_data[:code],
775
- error_message: message,
751
+ error_message: error_data[:message],
776
752
  error_param: error_data[:param],
777
753
  error_type: error_data[:type],
778
754
  idempotency_key: context.idempotency_key,
@@ -793,26 +769,26 @@ module Stripe
793
769
  when 400, 404
794
770
  case error_data[:type]
795
771
  when "idempotency_error"
796
- IdempotencyError.new(message, **opts)
772
+ IdempotencyError.new(error_data[:message], **opts)
797
773
  else
798
774
  InvalidRequestError.new(
799
- message, error_data[:param],
775
+ error_data[:message], error_data[:param],
800
776
  **opts
801
777
  )
802
778
  end
803
779
  when 401
804
- AuthenticationError.new(message, **opts)
780
+ AuthenticationError.new(error_data[:message], **opts)
805
781
  when 402
806
782
  CardError.new(
807
- message, error_data[:param],
783
+ error_data[:message], error_data[:param],
808
784
  **opts
809
785
  )
810
786
  when 403
811
- PermissionError.new(message, **opts)
787
+ PermissionError.new(error_data[:message], **opts)
812
788
  when 429
813
- RateLimitError.new(message, **opts)
789
+ RateLimitError.new(error_data[:message], **opts)
814
790
  else
815
- APIError.new(message, **opts)
791
+ APIError.new(error_data[:message], **opts)
816
792
  end
817
793
  end
818
794
 
@@ -880,7 +856,7 @@ module Stripe
880
856
  message + "\n\n(Network error: #{error.message})"
881
857
  end
882
858
 
883
- private def request_headers(api_key, method, api_mode)
859
+ private def request_headers(api_key, method)
884
860
  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
885
861
  unless Stripe.app_info.nil?
886
862
  user_agent += " " + format_app_info(Stripe.app_info)
@@ -889,13 +865,9 @@ module Stripe
889
865
  headers = {
890
866
  "User-Agent" => user_agent,
891
867
  "Authorization" => "Bearer #{api_key}",
868
+ "Content-Type" => "application/x-www-form-urlencoded",
892
869
  }
893
870
 
894
- if api_mode != :preview
895
- # TODO: (major) don't set Content-Type if method is not post
896
- headers["Content-Type"] = "application/x-www-form-urlencoded"
897
- end
898
-
899
871
  if config.enable_telemetry? && !@last_request_metrics.nil?
900
872
  headers["X-Stripe-Client-Telemetry"] = JSON.generate(
901
873
  last_request_metrics: @last_request_metrics.payload
@@ -908,12 +880,7 @@ module Stripe
908
880
  headers["Idempotency-Key"] ||= SecureRandom.uuid
909
881
  end
910
882
 
911
- if api_mode == :preview
912
- headers["Stripe-Version"] = ApiVersion::PREVIEW
913
- elsif config.api_version
914
- headers["Stripe-Version"] = config.api_version
915
- end
916
-
883
+ headers["Stripe-Version"] = config.api_version if config.api_version
917
884
  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
918
885
 
919
886
  user_agent = @system_profiler.user_agent
@@ -999,7 +966,6 @@ module Stripe
999
966
  attr_accessor :body
1000
967
  attr_accessor :account
1001
968
  attr_accessor :api_key
1002
- attr_accessor :authenticator
1003
969
  attr_accessor :api_version
1004
970
  attr_accessor :idempotency_key
1005
971
  attr_accessor :method
@@ -27,7 +27,6 @@ module Stripe
27
27
  class StripeConfiguration
28
28
  attr_accessor :api_key
29
29
  attr_accessor :api_version
30
- attr_accessor :authenticator
31
30
  attr_accessor :client_id
32
31
  attr_accessor :enable_telemetry
33
32
  attr_accessor :logger
@@ -65,7 +64,6 @@ module Stripe
65
64
 
66
65
  def initialize
67
66
  @api_version = ApiVersion::CURRENT
68
-
69
67
  @ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
70
68
  @enable_telemetry = true
71
69
  @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
@@ -282,13 +281,7 @@ module Stripe
282
281
  when String
283
282
  { api_key: opts }
284
283
  when Hash
285
- # If the user is using request signing for authentication,
286
- # no need to check the api_key per request.
287
- if !(opts.key?(:client) &&
288
- opts.fetch(:client).config.authenticator) &&
289
- opts.key?(:api_key)
290
- check_api_key!(opts.fetch(:api_key))
291
- end
284
+ check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
292
285
  # Explicitly use dup here instead of clone to avoid preserving freeze
293
286
  # state on input params.
294
287
  opts.dup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "10.1.0-beta.2"
4
+ VERSION = "10.1.0"
5
5
  end